From f820bc3406e6fe88660124b28507f21df6b659ab Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 금, 24 12월 2021 16:47:39 +0900 Subject: [PATCH] 이슈타입 리스트 하위 프로젝트꺼까지 다 보이도록 수정 --- src/main/webapp/views/issue/issueAdd.html | 1 src/main/java/kr/wisestone/owl/web/form/IssueForm.java | 248 +++++++++++++++++++++++++++++++++++++++++ src/main/webapp/custom_components/js-autocomplete-single/js-autocomplete-single.js | 13 + src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java | 13 ++ src/main/webapp/scripts/app/issue/issueAdd.controller.js | 27 +++- 5 files changed, 293 insertions(+), 9 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java index 7d3c3f4..b32b1d4 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java @@ -10,6 +10,7 @@ import kr.wisestone.owl.exception.OwlRuntimeException; import kr.wisestone.owl.mapper.IssueTypeMapper; import kr.wisestone.owl.repository.IssueTypeRepository; +import kr.wisestone.owl.repository.ProjectClosureRepository; import kr.wisestone.owl.repository.ProjectRepository; import kr.wisestone.owl.service.*; import kr.wisestone.owl.util.ConvertUtil; @@ -66,6 +67,9 @@ @Autowired private UserService userService; + + @Autowired + private ProjectClosureRepository projectClosureRepository; @Autowired private ExcelView excelView; @@ -192,6 +196,15 @@ condition.setPageSize(pageable.getPageSize()); condition.setWorkspaceId(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId()); + List<ProjectClosure> projectClosures = this.projectClosureRepository.findByParentProjectId(condition.getProjectId()); + if (projectClosures != null) { + for (ProjectClosure projectClosure : projectClosures) { + Long downProjectId = projectClosure.getProject().getId(); + downProjectIds.add(downProjectId); + } + } + condition.setDownProjectIds(downProjectIds); + List<Map<String, Object>> results = this.issueTypeMapper.find(condition); for (Map<String, Object> result : results) { Long projectId = MapUtil.getLong(result, "projectId"); diff --git a/src/main/java/kr/wisestone/owl/web/form/IssueForm.java b/src/main/java/kr/wisestone/owl/web/form/IssueForm.java index 30b89de..f2a8b70 100644 --- a/src/main/java/kr/wisestone/owl/web/form/IssueForm.java +++ b/src/main/java/kr/wisestone/owl/web/form/IssueForm.java @@ -40,6 +40,30 @@ private List<Map<String, Object>> issueCompanyFields = Lists.newArrayList(); private List<Map<String, Object>> issueIspFields = Lists.newArrayList(); private List<Map<String, Object>> issueHostingFields = Lists.newArrayList(); + //�뙆�듃�꼫 �젙蹂� 吏곸젒異붽� + private String companyName; + private String companyManager; + private String companyTel; + private String companyUrl; + private String companyEmail; + private String companyMemo; + + private String ispName; + private String ispCode; + private String ispManager; + private String ispTel; + private String ispUrl; + private String ispEmail; + private String ispMemo; + + private String hostingName; + private String hostingCode; + private String hostingManager; + private String hostingTel; + private String hostingUrl; + private String hostingEmail; + private String hostingMemo; + private List<Map<String, Object>> files = Lists.newArrayList(); // api�슜 泥⑤��뙆�씪 private Long parentIssueId; // �긽�쐞 �씠�뒋 private String isApi; @@ -134,6 +158,70 @@ if (MapUtil.getObject(params, "downIssuesStatus") != null){ form.setDownIssuesStatus((List)MapUtil.getObject(params, "downIssuesStatus")); } + + if (MapUtil.getString(params, "companyName") != null) { + form.setCompanyName(MapUtil.getString(params, "companyName")); + } + if (MapUtil.getString(params, "companyManager") != null) { + form.setCompanyManager(MapUtil.getString(params, "companyManager")); + } + if (MapUtil.getString(params, "companyTel") != null) { + form.setCompanyTel(MapUtil.getString(params, "companyTel")); + } + if (MapUtil.getString(params, "companyUrl") != null) { + form.setCompanyUrl(MapUtil.getString(params, "companyUrl")); + } + if (MapUtil.getString(params, "companyEmail") != null) { + form.setCompanyEmail(MapUtil.getString(params, "companyEmail")); + } + if (MapUtil.getString(params, "companyMemo") != null) { + form.setCompanyMemo(MapUtil.getString(params, "companyMemo")); + } + + if (MapUtil.getString(params, "ispName") != null) { + form.setIspName(MapUtil.getString(params, "ispName")); + } + if (MapUtil.getString(params, "ispCode") != null) { + form.setIspCode(MapUtil.getString(params, "ispCode")); + } + if (MapUtil.getString(params, "ispManager") != null) { + form.setIspManager(MapUtil.getString(params, "ispManager")); + } + if (MapUtil.getString(params, "ispTel") != null) { + form.setIspTel(MapUtil.getString(params, "ispTel")); + } + if (MapUtil.getString(params, "ispUrl") != null) { + form.setIspUrl(MapUtil.getString(params, "ispUrl")); + } + if (MapUtil.getString(params, "ispEmail") != null) { + form.setIspEmail(MapUtil.getString(params, "ispEmail")); + } + if (MapUtil.getString(params, "ispMemo") != null) { + form.setIspMemo(MapUtil.getString(params, "ispMemo")); + } + + if (MapUtil.getString(params, "hostingName") != null) { + form.setHostingName(MapUtil.getString(params, "hostingName")); + } + if (MapUtil.getString(params, "hostingCode") != null) { + form.setHostingCode(MapUtil.getString(params, "hostingCode")); + } + if (MapUtil.getString(params, "hostingManager") != null) { + form.setHostingManager(MapUtil.getString(params, "hostingManager")); + } + if (MapUtil.getString(params, "hostingTel") != null) { + form.setHostingTel(MapUtil.getString(params, "hostingTel")); + } + if (MapUtil.getString(params, "hostingUrl") != null) { + form.setHostingUrl(MapUtil.getString(params, "hostingUrl")); + } + if (MapUtil.getString(params, "hostingEmail") != null) { + form.setHostingEmail(MapUtil.getString(params, "hostingEmail")); + } + if (MapUtil.getString(params, "hostingMemo") != null) { + form.setHostingMemo(MapUtil.getString(params, "hostingMemo")); + } + return form; } @@ -410,4 +498,164 @@ public void setDownIssuesStatus(List<String> downIssuesStatus) { this.downIssuesStatus = downIssuesStatus; } + + public String getCompanyName() { + return companyName; + } + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + public String getCompanyManager() { + return companyManager; + } + + public void setCompanyManager(String companyManager) { + this.companyManager = companyManager; + } + + public String getCompanyTel() { + return companyTel; + } + + public void setCompanyTel(String companyTel) { + this.companyTel = companyTel; + } + + public String getCompanyUrl() { + return companyUrl; + } + + public void setCompanyUrl(String companyUrl) { + this.companyUrl = companyUrl; + } + + public String getCompanyEmail() { + return companyEmail; + } + + public void setCompanyEmail(String companyEmail) { + this.companyEmail = companyEmail; + } + + public String getCompanyMemo() { + return companyMemo; + } + + public void setCompanyMemo(String companyMemo) { + this.companyMemo = companyMemo; + } + + public String getIspName() { + return ispName; + } + + public void setIspName(String ispName) { + this.ispName = ispName; + } + + public String getIspCode() { + return ispCode; + } + + public void setIspCode(String ispCode) { + this.ispCode = ispCode; + } + + public String getIspManager() { + return ispManager; + } + + public void setIspManager(String ispManager) { + this.ispManager = ispManager; + } + + public String getIspTel() { + return ispTel; + } + + public void setIspTel(String ispTel) { + this.ispTel = ispTel; + } + + public String getIspUrl() { + return ispUrl; + } + + public void setIspUrl(String ispUrl) { + this.ispUrl = ispUrl; + } + + public String getIspEmail() { + return ispEmail; + } + + public void setIspEmail(String ispEmail) { + this.ispEmail = ispEmail; + } + + public String getIspMemo() { + return ispMemo; + } + + public void setIspMemo(String ispMemo) { + this.ispMemo = ispMemo; + } + + public String getHostingName() { + return hostingName; + } + + public void setHostingName(String hostingName) { + this.hostingName = hostingName; + } + + public String getHostingCode() { + return hostingCode; + } + + public void setHostingCode(String hostingCode) { + this.hostingCode = hostingCode; + } + + public String getHostingManager() { + return hostingManager; + } + + public void setHostingManager(String hostingManager) { + this.hostingManager = hostingManager; + } + + public String getHostingTel() { + return hostingTel; + } + + public void setHostingTel(String hostingTel) { + this.hostingTel = hostingTel; + } + + public String getHostingUrl() { + return hostingUrl; + } + + public void setHostingUrl(String hostingUrl) { + this.hostingUrl = hostingUrl; + } + + public String getHostingEmail() { + return hostingEmail; + } + + public void setHostingEmail(String hostingEmail) { + this.hostingEmail = hostingEmail; + } + + public String getHostingMemo() { + return hostingMemo; + } + + public void setHostingMemo(String hostingMemo) { + this.hostingMemo = hostingMemo; + } } diff --git a/src/main/webapp/custom_components/js-autocomplete-single/js-autocomplete-single.js b/src/main/webapp/custom_components/js-autocomplete-single/js-autocomplete-single.js index e8ad598..00505d3 100644 --- a/src/main/webapp/custom_components/js-autocomplete-single/js-autocomplete-single.js +++ b/src/main/webapp/custom_components/js-autocomplete-single/js-autocomplete-single.js @@ -23,6 +23,7 @@ page : "=", totalPage : "=", inputDisabled : "=", + customInput : "=", }, templateUrl : "custom_components/js-autocomplete-single/js-autocomplete-single.html", link : function ($scope, $element, $attrs) { @@ -33,6 +34,10 @@ if (!angular.isDefined($scope.inputDisabled)) { $scope.inputDisabled = false; } + + /*if (!angular.isDefined($scope.customInput)) { + $scope.customInput = false; + }*/ $scope.options = []; // �쟾泥� 紐⑸줉 $scope.networkSuccess = false; // �넻�떊 �셿猷� �썑 �솕硫� �몴�떆. @@ -285,7 +290,9 @@ switch (event.keyCode) { case 9 : // �꺆�궎 �떕湲� $scope.open = false; - $scope.search = ""; + if (!angular.isDefined($scope.customInput) && !$scope.customInput) { + $scope.search = ""; + } $scope.page = 0; $scope.totalPage = 0; $scope.options = []; @@ -523,7 +530,9 @@ $scope.$apply(function () { $scope.open = false; if ($scope.selectedModel == null || $scope.selectedModel.length == 0) { - $scope.search = ""; + if (!angular.isDefined($scope.customInput) && !$scope.customInput) { + $scope.search = ""; + } } $scope.page = 0; $scope.totalPage = 0; diff --git a/src/main/webapp/scripts/app/issue/issueAdd.controller.js b/src/main/webapp/scripts/app/issue/issueAdd.controller.js index b9ebc23..5b4e9e7 100644 --- a/src/main/webapp/scripts/app/issue/issueAdd.controller.js +++ b/src/main/webapp/scripts/app/issue/issueAdd.controller.js @@ -550,12 +550,10 @@ return attachedFileIds; })(), - issueCompanyFields : (function () { var issueCompanyFields = []; if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 ){ var companyField = $scope.vm.form.issueCompanyFields[0]; - issueCompanyFields.push({ companyId : $scope.vm.companyId, name : $scope.vm.companyName, @@ -566,9 +564,14 @@ memo : $scope.vm.companyMemo }); } - return issueCompanyFields; })(), + companyName : $scope.vm.companyName, + companyManager : $scope.vm.companyManager, + companyTel : $scope.vm.companyTel, + companyEmail :$scope.vm.companyEmail, + companyUrl :$scope.vm.companyUrl, + companyMemo : $scope.vm.companyMemo, issueIspFields : (function () { var issueIspFields = []; @@ -576,7 +579,6 @@ && $scope.vm.form.issueCompanyFields[0].ispFieldVo != null || $scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){ var ispField = $scope.vm.form.issueIspFields[0]; - issueIspFields.push({ ispId : $scope.vm.ispId, name : $scope.vm.ispName, @@ -587,11 +589,16 @@ url :$scope.vm.ispUrl, memo : $scope.vm.ispMemo }); - } - return issueIspFields; })(), + ispName : $scope.vm.ispName, + ispCode : $scope.vm.ispCode, + ispManager : $scope.vm.ispManager, + ispTel : $scope.vm.ispTel, + ispEmail :$scope.vm.ispEmail, + ispUrl :$scope.vm.ispUrl, + ispMemo : $scope.vm.ispMemo, issueHostingFields : (function () { var issueHostingFields = []; @@ -599,7 +606,6 @@ && $scope.vm.form.issueCompanyFields[0].hostingFieldVo != null || $scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){ var hostingField = $scope.vm.form.issueHostingFields[0]; - issueHostingFields[0] = { hostingId : $scope.vm.hostingId, name : $scope.vm.hostingName, @@ -613,6 +619,13 @@ } return issueHostingFields; })(), + hostingName : $scope.vm.hostingName, + hostingCode : $scope.vm.hostingCode, + hostingManager : $scope.vm.hostingManager, + hostingTel : $scope.vm.hostingTel, + hostingEmail :$scope.vm.hostingEmail, + hostingUrl :$scope.vm.hostingUrl, + hostingMemo : $scope.vm.hostingMemo, startCompleteDateRange : $scope.vm.form.startCompleteDateRange, detectingDateRange : $scope.vm.form.detectingDateRange, diff --git a/src/main/webapp/views/issue/issueAdd.html b/src/main/webapp/views/issue/issueAdd.html index 9b4b9c5..9c7b98f 100644 --- a/src/main/webapp/views/issue/issueAdd.html +++ b/src/main/webapp/views/issue/issueAdd.html @@ -425,6 +425,7 @@ <js-autocomplete-single data-input-name="issueCompanyField" selected-model="vm.form.issueCompanyFields" search="vm.companyName" + custom-input="true" source="fn.getIssueCompanyFieldList(vm.companyName, vm.form.issueCompanyFields, vm.autoCompletePage.companyField.page, fn.getIssueCompanyFieldListCallBack)" page="vm.autoCompletePage.companyField.page" total-page="vm.autoCompletePage.companyField.totalPage" -- Gitblit v1.8.0