From ab13ec078a26ec1439682ba579b710f6c390f035 Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 월, 29 11월 2021 01:58:54 +0900
Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa

---
 src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java  |   16 +++++
 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        |   52 ++++++-----------
 src/main/webapp/scripts/app/issue/issueAdd.controller.js           |   40 +++----------
 src/main/webapp/scripts/app/issue/issueModify.controller.js        |    4 
 8 files changed, 89 insertions(+), 66 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 5ad1972..94947eb 100644
--- a/src/main/webapp/scripts/app/issue/issueAdd.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
@@ -9,9 +9,9 @@
     ],
     function (app, angular) {
         app.controller('issueAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$uibModal', '$injector',
-            '$controller', '$tableProvider', 'SweetAlert', '$timeout', '$stateParams', '$q', 'Issue', 'User', 'AttachedFile', 'IssueType', 'HostingField','Priority', 'Severity', 'IssueTypeCustomField', '$filter', '$state',
+            '$controller', '$tableProvider', 'SweetAlert', '$timeout', '$stateParams', '$q', 'Issue', 'User', 'AttachedFile', 'IssueType', 'Priority', 'Severity', 'IssueTypeCustomField', '$filter', '$state',
             function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $uibModal,  $injector, $controller, $tableProvider, SweetAlert, $timeout,
-                      $stateParams, $q, Issue, User, AttachedFile, IssueType, HostingField, Priority, Severity, IssueTypeCustomField, $filter, $state) {
+                      $stateParams, $q, Issue, User, AttachedFile, IssueType, Priority, Severity, IssueTypeCustomField, $filter, $state) {
 
                 $scope.fn = {
                     cancel : cancel,    //  �뙘�뾽 李� �떕湲�
@@ -36,8 +36,7 @@
                     removeDepartment : removeDepartment,  //  �떞�떦遺��꽌 �궘�젣
                     setIssueTypeTemplate : setIssueTypeTemplate,    //  �씠�뒋 �쑀�삎 �뀥�뵆由� �쟻�슜�븯湲�
                     startExecute : startExecute, //  而⑦듃濡� 濡쒕뵫�떆 泥섏쓬�쑝濡� �떆�옉�릺�뒗 �븿�닔
-                    containsPartner : containsPartner,
-                    getPartners : getPartners
+                    containsPartner : containsPartner
                 };
 
                 $scope.vm = {
@@ -133,19 +132,12 @@
                 $scope.$watch("vm.form.projects", function (newValue, oldValue) {
                     if (angular.isDefined(newValue)) {
                         if (newValue.length < 1) {
-                            $scope.vm.form.departments = [];
-                            $scope.vm.form.issueCustomFields = [];
+                            $scope.vm.form.users = [];
                         }
-                        else {
-                            if ($rootScope.isDefined($scope.vm.issueTypeId)) {
-                                $scope.fn.getIssueTypeCustomFields();
-                            }
-                        }
-                    }
-                });
 
-                $scope.$watch("vm.form.issueTypeId", function (newValue, oldValue) {
-                    $scope.vm.partnerVos = $scope.fn.getPartners();
+                        //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 媛��졇�삤湲�
+                        $scope.fn.getIssueTypeCustomFields();
+                    }
                 });
 
                 //  �꽟癒몃끂�듃 �씠誘몄� �뾽濡쒕뱶
@@ -322,14 +314,15 @@
                 function containsPartner(name) {
                     var result = false;
 
-                    if ($scope.vm.partnerVos != null) {
-                        $scope.vm.partnerVos.forEach(function (partnerVo) {
+                    if ($scope.vm.viewer.usePartnerVo != null) {
+                        $scope.vm.viewer.usePartnerVo.forEach(function (partnerVo) {
                             if (name === partnerVo.name) {
                                 result = true;
                             }
                         });
                     }
                     return result;
+
                 }
 
                 //  �떞�떦�옄 autocomplete page �뾽�뜲�씠�듃�듃
@@ -761,19 +754,6 @@
                         }
                     }
                 }
-
-                function getPartners() {
-
-                    HostingField.getPartnerList($resourceProvider.getContent(
-                        {},
-                        $resourceProvider.getPageContent(0, 1))).then(function (result) {
-                        if (result.data.message.status === "success") {
-                            $scope.vm.partnerVos = result.data.content;
-                        }
-                    });
-
-                }
-
 
                 //  理쒖큹 �떎�뻾
                 function startExecute() {
diff --git a/src/main/webapp/scripts/app/issue/issueDetail.controller.js b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
index cb2300e..42f532e 100644
--- a/src/main/webapp/scripts/app/issue/issueDetail.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
@@ -9,8 +9,8 @@
     ],
     function (app, angular) {
         app.controller('issueDetailController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', '$q',
-            '$controller', '$injector', 'SweetAlert', '$timeout', 'Issue', 'IssueComment', 'IssueRelation', 'AttachedFile',  'Priority', 'Severity','IssueStatus', 'HostingField', 'IssueTableConfig', '$filter',
-            function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, $q, $controller, $injector, SweetAlert, $timeout, Issue, IssueComment, IssueRelation, AttachedFile, Priority, Severity, IssueStatus, HostingField, IssueTableConfig, $filter) {
+            '$controller', '$injector', 'SweetAlert', '$timeout', 'Issue', 'IssueComment', 'IssueRelation', 'AttachedFile',  'Priority', 'Severity','IssueStatus', 'IssueTableConfig', '$filter',
+            function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, $q, $controller, $injector, SweetAlert, $timeout, Issue, IssueComment, IssueRelation, AttachedFile, Priority, Severity, IssueStatus, IssueTableConfig, $filter) {
 
                 //  IssueListController vm, fn 蹂��닔 �긽�냽.
 
@@ -42,10 +42,9 @@
                 $scope.fn.getRelTableConfigs = getRelTableConfigs;
                 $scope.fn.getDownTableConfigs = getDownTableConfigs;
                 $scope.fn.containsPartner = containsPartner;
-                $scope.fn.getPartners = getPartners;
 
                 //  �씠�뒋 紐⑸줉 而⑦듃濡ㅻ윭 vm, fn �긽�냽 以�
-                $scope.vm.viewer = [];
+                $scope.vm.viewer = {};
                 $scope.vm.images = [];  //  泥⑤��맂 �뙆�씪 以� �씠誘몄� �뙆�씪
                 $scope.vm.activeTab = "ALL";    //  �솢�룞 �궡�뿭 �꺆
                 //  �씠�뒋 �긽�깭 蹂�寃� �몴�떆 �뿬遺�
@@ -783,6 +782,21 @@
                     });
                 }
 
+                // �뾽泥�/ISP/�샇�뒪�똿 �씠由꾩씠 �룷�븿 �뿬遺� �솗�씤
+                function containsPartner(name) {
+                    var result = false;
+
+                    if ($scope.vm.viewer.usePartnerVo != null) {
+                        $scope.vm.viewer.usePartnerVo.forEach(function (partnerVo) {
+                            if (name === partnerVo.name) {
+                                result = true;
+                            }
+                        });
+                    }
+                    return result;
+
+                }
+
                 //  �씠�뒋 �긽�꽭 �젙蹂� 議고쉶
                 function getIssueDetail() {
                     //  珥덇린�솕 �빐�빞�븷 �븷紐⑹쓣 吏��젙�븯�뿬 �떎瑜� �씠�뒋瑜� �겢由��븷 �븣 珥덇린�솕�빐以��떎.
@@ -798,7 +812,6 @@
                         if (result.data.message.status === "success") {
                             if (angular.isDefined(result.data.data)) {
                                 $scope.vm.viewer = angular.copy(result.data.data);
-
                                 //  �씠�뒋 �씠誘몄� 誘몃━ 蹂닿린 留뚮뱾湲�
                                 $scope.fn.makePreviewImages(result.data.data.attachedFileVos);
                                 //  �솢�룞 �씠�젰 留뚮뱾湲�
@@ -840,25 +853,8 @@
                     });
                 }
 
-
                 // ===================================================================================
 
-                // �뾽泥�/ISP/�샇�뒪�똿 �씠由꾩씠 �룷�븿 �뿬遺� �솗�씤
-                function containsPartner(name) {
-                    var result = false;
-                    // �씪�떒 viewer瑜� 留⑥쐞�뿉 �꽑�뼵�빐 {} �씠�젃寃� �꽑�뼵�빐 �몢�뿀�뒗�뜲 媛믩뱾�씠 �뼱�뼡�떇�쑝濡� 蹂��솚�씠 �맟�뒗吏��뒗
-                    // 紐곕씪�꽌 諛곗뿴濡� �꽆�뼱���꽌 珥덇린媛믪쓣 諛곗뿴濡� 諛붽씀�뿀�뜑�땲 �씠�뒋 �긽�꽭�뿉�꽌�뒗 蹂댁씤�떎
-                    // �씠�젣 �씠�뒋 異붽��뿉�꽌 媛믪씠 �뼱�뼸寃� �꽆�뼱�삤�뒗吏� �솗�씤�빐蹂댁옄!
-                    if ($scope.vm.viewer.usePartnerVos != null) {
-                        $scope.vm.viewer.usePartnerVos.forEach(function (partnerVo) {
-                            if (name === partnerVo.name) {
-                                result = true;
-                            }
-                        });
-                    }
-                    return result;
-
-                }
                 //  �씠�뒋 �씠誘몄� 誘몃━ 蹂닿린 留뚮뱾湲�
                 function makePreviewImages(attachedFileVos) {
                     //  誘몃━蹂닿린 �씠誘몄� 珥덇린�솕
@@ -1033,18 +1029,6 @@
                             SweetAlert.error($filter("translate")("issue.failedToAttachmentList"), result.message.message); // "泥⑤� �뙆�씪 紐⑸줉 議고쉶 �떎�뙣"
                         }
                     });
-                }
-
-                function getPartners() {
-
-                    HostingField.getPartnerList($resourceProvider.getContent(
-                        {},
-                        $resourceProvider.getPageContent(0, 1))).then(function (result) {
-                        if (result.data.message.status === "success") {
-                            $scope.vm.partnerVos = result.data.data.usePartnerVos;
-                        }
-                    });
-
                 }
 
                 //  �듅�젙 �궗�슜�옄�뿉寃� �씠�뒋瑜� 硫붿씪濡� 諛쒖넚
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 8d55538..5c34166 100644
--- a/src/main/webapp/scripts/app/issue/issueModify.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueModify.controller.js
@@ -59,7 +59,7 @@
                         priorityId : "",    //  �슦�꽑�닚�쐞 �븘�씠�뵒
                         severityId : "",    //  以묒슂�룄 �븘�씠�뵒
                         issueStatusId : "", //  �씠�뒋 �긽�깭 �븘�씠�뵒
-                        users : [],     //  �떞�떦�옄
+                        // users : [],     //  �떞�떦�옄
                         departments : [], // �떞�떦遺��꽌
                         files : [], //  �뾽濡쒕뱶 �뙆�씪
                         attachedFiles : [], //  �꽟癒몃끂�듃濡� �뙆�씪 �뾽濡쒕뱶瑜� �븷 寃쎌슦 �꽌踰꾩뿉�꽌 pk瑜� �뵲怨� issue id�� �뿰�룞 �옉�뾽�씠 �븘�슂�븯�떎.
@@ -901,7 +901,7 @@
                         {},
                         $resourceProvider.getPageContent(0, 1))).then(function (result) {
                         if (result.data.message.status === "success") {
-                            $scope.vm.partnerVos = result.data.data.usePartnerVos;
+                            $scope.vm.partnerVos = result.data.content;
                         }
                     });
 
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) {

--
Gitblit v1.8.0