From 6dcba6ad1abcf6b757166b97ee032f3b1ad18f89 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 토, 27 11월 2021 22:57:38 +0900 Subject: [PATCH] 이슈 추가,수정 페이지에서 이슈유형별로 적용한 파트너 목록 보이기 수정 완료 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 16 ++++++++ src/main/webapp/scripts/components/utils/autoComplete.controller.js | 2 src/main/webapp/views/issueType/issueTypeAdd.html | 2 src/main/webapp/views/issueType/issueTypeModify.html | 2 src/main/java/kr/wisestone/owl/service/IssueService.java | 2 + src/main/webapp/scripts/components/issue/issue.service.js | 6 +++ src/main/webapp/scripts/app/issue/issueList.controller.js | 23 +++++++++++ src/main/java/kr/wisestone/owl/web/controller/IssueController.java | 12 ++++++ src/main/webapp/scripts/app/issue/issueDetail.controller.js | 4 +- src/main/webapp/scripts/app/issue/issueAdd.controller.js | 29 ++++++++++++-- src/main/webapp/scripts/app/issue/issueModify.controller.js | 11 +++-- 11 files changed, 96 insertions(+), 13 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/IssueService.java b/src/main/java/kr/wisestone/owl/service/IssueService.java index 71d7f57..09eccea 100644 --- a/src/main/java/kr/wisestone/owl/service/IssueService.java +++ b/src/main/java/kr/wisestone/owl/service/IssueService.java @@ -70,4 +70,6 @@ Map<String, Object> findTask(IssueCondition taskCondition); void modifyParentIssue(IssueForm issueForm); + + void findPartner(Map<String, Object> resJsonData, Map<String, Object> params); } diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java index cdcc647..d1b2243 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -2684,4 +2684,20 @@ this.issueRepository.saveAndFlush(issue); } + + @Override + public void findPartner(Map<String, Object> resJsonData, Map<String, Object> params) { + Long issueTypeId = MapUtil.getLong(params, "issueTypeId"); + IssueType issueType = this.issueTypeService.getIssueType(issueTypeId); // �씠�뒋�쓽 �씠�뒋�쑀�삎 媛앹껜 + Integer using = issueType.getUsePartner() != null ? issueType.getUsePartner().intValue() : 0; // �씠�뒋�쑀�삎蹂꾨줈 �궗�슜以묒씤 �뾽泥�/ISP/�샇�뒪�똿 媛� + + List<UsePartnerVo> usePartnerVos = Lists.newArrayList(); + for (Integer usePartner : UsePartner.partners) { //1(�뾽泥�), 2(ISP), 4(�샇�뒪�똿) + UsePartnerVo usePartnerVo = UsePartner.checkUsePartner(using, usePartner); + if (usePartnerVo != null) { + usePartnerVos.add(usePartnerVo); + } + resJsonData.put(Constants.RES_KEY_CONTENTS, usePartnerVos); + } + } } diff --git a/src/main/java/kr/wisestone/owl/web/controller/IssueController.java b/src/main/java/kr/wisestone/owl/web/controller/IssueController.java index 3f405ff..c6342eb 100644 --- a/src/main/java/kr/wisestone/owl/web/controller/IssueController.java +++ b/src/main/java/kr/wisestone/owl/web/controller/IssueController.java @@ -63,6 +63,18 @@ return this.setSuccessMessage(resJsonData); } + // �씠�뒋 議고쉶 + @RequestMapping(value = "/issue/findPartner", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public + @ResponseBody + Map<String, Object> findPartner(@RequestBody Map<String, Map<String, Object>> params) { + Map<String, Object> resJsonData = new HashMap<>(); + + this.issueService.findPartner(resJsonData, params.get(Constants.REQ_KEY_CONTENT)); + + return this.setSuccessMessage(resJsonData); + } + // �씠�뒋 �긽�꽭 議고쉶 @RequestMapping(value = "/issue/detail", produces = MediaType.APPLICATION_JSON_VALUE) public diff --git a/src/main/webapp/scripts/app/issue/issueAdd.controller.js b/src/main/webapp/scripts/app/issue/issueAdd.controller.js index 94947eb..1985f6c 100644 --- a/src/main/webapp/scripts/app/issue/issueAdd.controller.js +++ b/src/main/webapp/scripts/app/issue/issueAdd.controller.js @@ -36,10 +36,12 @@ removeDepartment : removeDepartment, // �떞�떦遺��꽌 �궘�젣 setIssueTypeTemplate : setIssueTypeTemplate, // �씠�뒋 �쑀�삎 �뀥�뵆由� �쟻�슜�븯湲� startExecute : startExecute, // 而⑦듃濡� 濡쒕뵫�떆 泥섏쓬�쑝濡� �떆�옉�릺�뒗 �븿�닔 - containsPartner : containsPartner + containsPartner : containsPartner, + getPartners : getPartners }; $scope.vm = { + partnerVos : "", form : { title : "", // �젣紐� description : "", // �궡�슜 @@ -138,6 +140,10 @@ // �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 媛��졇�삤湲� $scope.fn.getIssueTypeCustomFields(); } + }); + + $scope.$watch("vm.form.issueTypeId", function (newValue, oldValue) { + $scope.vm.partnerVos = $scope.fn.getPartners(); }); // �꽟癒몃끂�듃 �씠誘몄� �뾽濡쒕뱶 @@ -314,8 +320,8 @@ function containsPartner(name) { var result = false; - if ($scope.vm.viewer.usePartnerVo != null) { - $scope.vm.viewer.usePartnerVo.forEach(function (partnerVo) { + if ($scope.vm.partnerVos != null) { + $scope.vm.partnerVos.forEach(function (partnerVo) { if (name === partnerVo.name) { result = true; } @@ -755,13 +761,28 @@ } } + function getPartners() { + var content = { + issueTypeId : $scope.vm.form.issueTypeId + }; + Issue.findPartners($resourceProvider.getContent( + content, + $resourceProvider.getPageContent(0, 1))).then(function (result) { + if (result.data.message.status === "success") { + $scope.vm.partnerVos = result.data.data; + } + }); + + } + // 理쒖큹 �떎�뻾 function startExecute() { var promises = { getIssueTypes : $scope.fn.getIssueTypes(), getPriorities : $scope.fn.getPriorities(), - getSeverities : $scope.fn.getSeverities() + getSeverities : $scope.fn.getSeverities(), + getPartners : $scope.fn.getPartners() }; $q.all(promises).then(function (results) { // �쁽�옱 �봽濡쒖젥�듃 �꽕�젙 diff --git a/src/main/webapp/scripts/app/issue/issueDetail.controller.js b/src/main/webapp/scripts/app/issue/issueDetail.controller.js index 42f532e..8eb6e19 100644 --- a/src/main/webapp/scripts/app/issue/issueDetail.controller.js +++ b/src/main/webapp/scripts/app/issue/issueDetail.controller.js @@ -786,8 +786,8 @@ function containsPartner(name) { var result = false; - if ($scope.vm.viewer.usePartnerVo != null) { - $scope.vm.viewer.usePartnerVo.forEach(function (partnerVo) { + if ($scope.vm.viewer.usePartnerVos != null) { + $scope.vm.viewer.usePartnerVos.forEach(function (partnerVo) { if (name === partnerVo.name) { result = true; } diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js index 01f4279..dd3880b 100644 --- a/src/main/webapp/scripts/app/issue/issueList.controller.js +++ b/src/main/webapp/scripts/app/issue/issueList.controller.js @@ -28,6 +28,7 @@ listView : listView, // 紐⑸줉 �솕硫댁쑝濡� 蹂�寃� importExcel : importExcel, // �뿊�� import 湲곕뒫 �뙘�뾽 �샇異� getIssueTypes : getIssueTypes, // �씠�뒋 �쑀�삎 紐⑸줉�쓣 媛��졇�삩�떎. + getUsePartner : getUsePartner, // �씠�뒋 �쑀�삎 蹂� �궗�슜�븯�뒗 �뙆�듃�꼫 紐⑸줉�쓣 媛��졇�삩�떎. getPriorities : getPriorities, // �슦�꽑�닚�쐞 紐⑸줉�쓣 媛��졇�삩�떎. getSeverities : getSeverities, // 以묒슂�룄 紐⑸줉�쓣 媛��졇�삩�떎. getIssueStatuses : getIssueStatuses, // �씠�뒋 �긽�깭 紐⑸줉�쓣 媛��졇�삩�떎. @@ -42,6 +43,7 @@ // 蹂��닔 $scope.vm = { issueTypeId : "", + partnerVos : "", search : { title : "", // �젣紐� description : "", // �궡�슜 @@ -71,6 +73,7 @@ projects : [], // �봽濡쒖젥�듃 issueStatuses : [], // �씠�뒋 �긽�깭 issueTypes : [], // �씠�뒋 �쑀�삎 + partners : [], // �씠�뒋 �쑀�삎 priorities : [], // �슦�꽑 �닚�쐞 severities : [], // 以묒슂�룄 users : [], // �떞�떦�옄 @@ -738,6 +741,26 @@ return deferred.promise; } + // �씠�뒋�쑀�삎 蹂� �뙆�듃�꼫 紐⑸줉 + function getUsePartner() { + var deferred = $q.defer(); + $scope.vm.partners = []; + + Issue.findPartners($resourceProvider.getContent({}, + $resourceProvider.getPageContent(0, 1))).then(function (result) { + if (result.data.message.status === "success") { + $scope.vm.partnerVos = result.data.content; + } + else { + SweetAlert.swal($filter("translate")("issue.failedToPriorityListLookup"), result.data.message.message, "error"); // �슦�꽑�닚�쐞 紐⑸줉 議고쉶 �떎�뙣 + } + + deferred.resolve(result.data.data); + }); + + return deferred.promise; + } + // �슦�꽑�닚�쐞 紐⑸줉 function getPriorities() { var deferred = $q.defer(); diff --git a/src/main/webapp/scripts/app/issue/issueModify.controller.js b/src/main/webapp/scripts/app/issue/issueModify.controller.js index 5c34166..f4b3e35 100644 --- a/src/main/webapp/scripts/app/issue/issueModify.controller.js +++ b/src/main/webapp/scripts/app/issue/issueModify.controller.js @@ -896,12 +896,14 @@ } function getPartners() { - - HostingField.getPartnerList($resourceProvider.getContent( - {}, + var content = { + issueTypeId : $scope.vm.form.issueTypeId + }; + Issue.findPartners($resourceProvider.getContent( + content, $resourceProvider.getPageContent(0, 1))).then(function (result) { if (result.data.message.status === "success") { - $scope.vm.partnerVos = result.data.content; + $scope.vm.partnerVos = result.data.data; } }); @@ -913,6 +915,7 @@ var promises = { detail : $scope.fn.detail(), getIssueTypes : $scope.fn.getIssueTypes(), + getPriorities : $scope.fn.getPriorities(), getSeverities : $scope.fn.getSeverities(), getPartners : $scope.fn.getPartners() }; diff --git a/src/main/webapp/scripts/components/issue/issue.service.js b/src/main/webapp/scripts/components/issue/issue.service.js index 1c48a72..4c28715 100644 --- a/src/main/webapp/scripts/components/issue/issue.service.js +++ b/src/main/webapp/scripts/components/issue/issue.service.js @@ -33,6 +33,12 @@ return response; }); }, + findPartners : function (conditions) { + return $http.post("issue/findPartner", conditions).then(function (response) { + $log.debug("�궗�슜�븯�뒗 �뙆�듃�꼫 紐⑸줉 �뜲�씠�꽣 : ", response); + return response; + }); + }, add : function (conditions) { conditions.url = "issue/add"; return $upload.upload(conditions).progress(function (evt) { diff --git a/src/main/webapp/scripts/components/utils/autoComplete.controller.js b/src/main/webapp/scripts/components/utils/autoComplete.controller.js index abdc4fb..cdb0fce 100644 --- a/src/main/webapp/scripts/components/utils/autoComplete.controller.js +++ b/src/main/webapp/scripts/components/utils/autoComplete.controller.js @@ -386,7 +386,7 @@ var deferred = $q.defer(); - HostingField.getCompanyList($resourceProvider.getContent( // �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎. + HostingField.getPartnerList($resourceProvider.getContent( // �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎. conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) { if (result.data.message.status === "success") { if ($rootScope.isDefined(callBack)) { diff --git a/src/main/webapp/views/issueType/issueTypeAdd.html b/src/main/webapp/views/issueType/issueTypeAdd.html index 3324204..e496304 100644 --- a/src/main/webapp/views/issueType/issueTypeAdd.html +++ b/src/main/webapp/views/issueType/issueTypeAdd.html @@ -63,7 +63,7 @@ <js-autocomplete-multi data-input-name="departments" selected-model="vm.form.companies" search="vm.companyName" - source="fn.getCompanyList(vm.companyName, vm.form.companies)" + source="fn.getPartnerList(vm.companyName, vm.form.companies)" input-disabled="false" translation-texts="{ count : 'common.userNum', empty : 'common.emptyUser' }" extra-settings="{ displayProp : 'byName' , idProp : 'id', imageable : false, maxlength : 100, autoResize : true }"></js-autocomplete-multi> diff --git a/src/main/webapp/views/issueType/issueTypeModify.html b/src/main/webapp/views/issueType/issueTypeModify.html index 8c8fe27..ccf2123 100644 --- a/src/main/webapp/views/issueType/issueTypeModify.html +++ b/src/main/webapp/views/issueType/issueTypeModify.html @@ -68,7 +68,7 @@ <js-autocomplete-multi data-input-name="departments" selected-model="vm.form.companies" search="vm.companyName" - source="fn.getCompanyList(vm.companyName, vm.form.companies)" + source="fn.getPartnerList(vm.companyName, vm.form.companies)" input-disabled="false" translation-texts="{ count : 'common.userNum', empty : 'common.emptyUser' }" extra-settings="{ displayProp : 'byName' , idProp : 'id', imageable : false, maxlength : 100, autoResize : true }"></js-autocomplete-multi> -- Gitblit v1.8.0