From 123374115c47cf25489e1ab3e1faa7ae79b7f493 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 화, 07 12월 2021 11:02:04 +0900
Subject: [PATCH] 미완료 하위이슈 / 전체 하위이슈 수정 완료

---
 src/main/webapp/scripts/app/issue/issueList.controller.js |  190 ++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 155 insertions(+), 35 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js
index 01f4279..bacce25 100644
--- a/src/main/webapp/scripts/app/issue/issueList.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueList.controller.js
@@ -22,12 +22,14 @@
                     setTableColumn : setTableColumn,    //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
                     add : add,   //  �씠�뒋 �깮�꽦
                     modify : modify,    //  �씠�뒋 �닔�젙
+                    AddRelation : AddRelation,    //  �뿰愿� �씠�뒋 異붽�
                     modifyMultiIssueStatus : modifyMultiIssueStatus,    //  �씠�뒋 �떎以� �긽�깭 蹂�寃�
                     removes : removes,  //  �씠�뒋 �궘�젣
                     addIssueTableConfig : addIssueTableConfig,    //  �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙
                     listView : listView,    //  紐⑸줉 �솕硫댁쑝濡� 蹂�寃�
                     importExcel : importExcel,  //  �뿊�� import 湲곕뒫 �뙘�뾽 �샇異�
                     getIssueTypes : getIssueTypes,  //  �씠�뒋 �쑀�삎 紐⑸줉�쓣 媛��졇�삩�떎.
+                    getUsePartner : getUsePartner,  //  �씠�뒋 �쑀�삎 蹂� �궗�슜�븯�뒗 �뙆�듃�꼫 紐⑸줉�쓣 媛��졇�삩�떎.
                     getPriorities : getPriorities,  //  �슦�꽑�닚�쐞 紐⑸줉�쓣 媛��졇�삩�떎.
                     getSeverities : getSeverities,  //  以묒슂�룄 紐⑸줉�쓣 媛��졇�삩�떎.
                     getIssueStatuses : getIssueStatuses,    //  �씠�뒋 �긽�깭 紐⑸줉�쓣 媛��졇�삩�떎.
@@ -36,13 +38,16 @@
                     getVmSearchObject : getVmSearchObject,  //  ���옣�븳 寃��깋 議곌굔�쓣 媛��졇���꽌 vm �뿉 �뀑�똿�븳�떎.
                     makeSearchConditions : makeSearchConditions,    //  寃��깋 議곌굔�쓣 留뚮뱺�떎.
                     getIssueTableConfigs : getIssueTableConfigs,  //  �궗�슜�옄 �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 媛믪쓣 媛��졇���꽌 �쟻�슜�븳�떎.
-                    startExecute : startExecute //  而⑦듃濡� 濡쒕뵫�떆 泥섏쓬�쑝濡� �떆�옉�릺�뒗 �븿�닔
+                    startExecute : startExecute, //  而⑦듃濡� 濡쒕뵫�떆 泥섏쓬�쑝濡� �떆�옉�릺�뒗 �븿�닔
+                    getResponseData : getResponseData //  而⑦듃濡� 濡쒕뵫�떆 泥섏쓬�쑝濡� �떆�옉�릺�뒗 �븿�닔
                 };
 
                 //  蹂��닔
                 $scope.vm = {
                     issueTypeId : "",
+                    partnerVos : "",
                     search : {
+                        keyWord : "", //  �쟾泥� 寃��깋
                         title : "", //  �젣紐�
                         description : "",   //  �궡�슜
                         combinationIssueNumber : "",   //  �씠�뒋 踰덊샇
@@ -71,6 +76,7 @@
                     projects : [],  //  �봽濡쒖젥�듃
                     issueStatuses : [], //  �씠�뒋 �긽�깭
                     issueTypes : [],    //  �씠�뒋 �쑀�삎
+                    partners : [],    //  �씠�뒋 �쑀�삎
                     priorities : [],    //  �슦�꽑 �닚�쐞
                     severities : [],    //  以묒슂�룄
                     users : [], //  �떞�떦�옄
@@ -98,7 +104,12 @@
                     $scope.fn.startExecute();
                 });
 
+                $scope.$on("changedIssueListMenu", function (event, args) {
+                    $scope.fn.getPageList($scope.vm.page.selectedPage - 1);
+                });
+
                 //  寃��깋 議곌굔�쓣 湲곗뼲�븳�떎. - �쟻�슜 蹂대쪟
+                //  寃��깋 議곌굔�쓣 湲곗뼲�빐�꽌 �씠�뒋 �긽�꽭 �럹�씠吏�濡� �씠�룞
                 function makeVmSearchObject() {
                     var content = {
                         conditions : JSON.stringify({
@@ -133,10 +144,10 @@
                                 var issueListSearchObject = JSON.parse(result.data.data);
                                 //  �씠�뒋 踰덊샇留� �쟻�슜�븳�떎. - �궘�젣�떆 泥섎━諛⑸쾿�븣臾몄뿉 �떎瑜� �냽�꽦�� �쟻�슜 蹂대쪟
                                 $scope.vm.search = issueListSearchObject.search;
-                                $scope.vm.users = issueListSearchObject.users;
-                                $scope.vm.departments = issueListSearchObject.departments;
-                                $scope.vm.projects = issueListSearchObject.projects;
-                                $scope.vm.registers = issueListSearchObject.registers;
+                                // $scope.vm.users = issueListSearchObject.users;
+                                // $scope.vm.departments = issueListSearchObject.departments;
+                                // $scope.vm.projects = issueListSearchObject.projects;
+                                // $scope.vm.registers = issueListSearchObject.registers;
 
                                 $scope.fn.getPageList(0, true);
                             } else {
@@ -164,10 +175,11 @@
                     //  �쁽�옱 �긽�꽭�솕硫댁쑝濡� 蹂대젮怨좏븯�뒗 �씠�뒋 id瑜� 湲곗뼲�븳�떎.
                     $rootScope.currentDetailIssueId = id;
                     //  �씠�뒋 �긽�꽭 �솕硫� �슂泥�
-                    $rootScope.$broadcast("getIssueDetail", {
-                        id : id
-                    });
+                    // $scope.$broadcast("getIssueDetail", {
+                    //     id : id
+                    // });
                 }
+
 
                 //  紐⑸줉 �솕硫댁쑝濡� 蹂�寃쏀븳�떎.
                 function listView() {
@@ -178,6 +190,7 @@
                     $scope.vm.responseData.data = angular.copy(temp);
                     //  留덉�留됱쑝濡� 蹂닿퀬�엳�뜕 �씠�뒋 id瑜� 珥덇린�솕�븳�떎.
                     $rootScope.currentDetailIssueId = null;
+                    $scope.$broadcast("getIssueList", {id: $rootScope.currentDetailIssueId});
                 }
 
                 //  �씠�뒋 �뀒�씠釉� �꽕�젙
@@ -190,30 +203,37 @@
                         .setDAlign("text-center"));
 
                     //  �긽�꽭�삎 �씪�븣�븣
-                   if ($scope.vm.detailView) {
-                        $scope.vm.tableConfigs.push($tableProvider.config()
-                            .setHName("issue.issueTitle")
-                            .setDName("title")
-                            .setDType("renderer")
-                            .setHWidth("width-100 bold")
-                            .setDRenderer("ISSUE_DETAIL_FLOATING"));
-                    }
-                    else {
-                       $scope.vm.tableConfigs.push($tableProvider.config()
-                           .setHName("issue.issueTitle")
-                           .setDName("title")
-                           .setDType("renderer")
-                           .setHWidth("bold")
-                           .setDRenderer("ISSUE_DETAIL_FLOATING"));
-
-                        angular.forEach($scope.vm.issueTableConfigs, function (issueTableConfig) {
-                            //  �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎.
-                            if (issueTableConfig.display) {
-                                //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
-                                $scope.fn.setTableColumn(issueTableConfig);
-                            }
-                        });
-                    }
+                   // if ($scope.vm.detailView) {
+                   //      $scope.vm.tableConfigs.push($tableProvider.config()
+                   //          .setHName("issue.issueTitle")
+                   //          .setDName("title")
+                   //          .setDType("renderer")
+                   //          .setHWidth("bold")
+                   //          .setDRenderer("ISSUE_DETAIL_FLOATING"));
+                   //  }
+                   //  else {
+                   //     $scope.vm.tableConfigs.push($tableProvider.config()
+                   //         .setHName("issue.issueTitle")
+                   //         .setDName("title")
+                   //         .setDType("renderer")
+                   //         .setHWidth("bold")
+                   //         .setDRenderer("ISSUE_DETAIL_FLOATING"));
+                   //
+                   //      angular.forEach($scope.vm.issueTableConfigs, function (issueTableConfig) {
+                   //          //  �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎.
+                   //          if (issueTableConfig.display) {
+                   //              //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
+                   //              $scope.fn.setTableColumn(issueTableConfig);
+                   //          }
+                   //      });
+                   //  }
+                    angular.forEach($scope.vm.issueTableConfigs, function (issueTableConfig) {
+                        //  �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎.
+                        if (issueTableConfig.display) {
+                            //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
+                            $scope.fn.setTableColumn(issueTableConfig);
+                        }
+                    });
                 }
 
                 //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
@@ -221,6 +241,15 @@
 
                     //  �씪諛� 而щ읆
                     switch(issueTableConfig.key) {
+                        case "ISSUE_TITLE" :   //  �씠�뒋 �젣紐�
+                            $scope.vm.tableConfigs.push($tableProvider.config()
+                                .setHName("issue.issueTitle")
+                                .setDType("renderer")
+                                .setHWidth("bold " + issueTableConfig.width)
+                                .setDAlign("text-center")
+                                .setDRenderer("ISSUE_TITLE"));
+                            break;
+
                         case "PRIORITY" :   //  �슦�꽑�닚�쐞
                             $scope.vm.tableConfigs.push($tableProvider.config()
                                 .setHName("common.priority")
@@ -277,6 +306,14 @@
                                 .setDAlign("text-center")
                                 .setDName("modifyDate"));
                             break;
+                        case "COUNT_DOWN_ISSUE" : //  �븯�쐞 �씠�뒋 媛쒖닔
+                            $scope.vm.tableConfigs.push($tableProvider.config()
+                                .setHName("common.countDownIssue")
+                                .setDType("renderer")
+                                .setHWidth("bold " + issueTableConfig.width)
+                                .setDAlign("text-center")
+                                .setDRenderer("DOWN_ISSUE_COUNT"));
+                            break;
                     }
 
                     //  �궗�슜�옄 �젙�쓽 �븘�뱶 而щ읆
@@ -317,6 +354,7 @@
                 //  �씠�뒋 寃��깋 議곌굔�쓣 留뚮뱺�떎.
                 function makeSearchConditions() {
                     var conditions = {
+                        keyWord : $scope.vm.search.keyWord,
                         title : $scope.vm.search.title,
                         description : $scope.vm.search.description,
                         projectType : $scope.vm.search.projectType,
@@ -481,6 +519,7 @@
                     if ($rootScope.workProject != null && $rootScope.workProject.id > -1) {
                         var find = findProjectSearch($rootScope.workProject.id);
                         if (!find) {
+                            $scope.vm.projects = [];
                             $scope.vm.projects.push($rootScope.workProject);
                         }
                     }
@@ -494,12 +533,48 @@
                         if (result.data.message.status === "success") {
                             if (result.data.data !=  null && result.data.data.length > 0) {
                                 $scope.vm.issueTypeId = result.data.data[0].issueTypeId;
+                                $scope.vm.projectKey = result.data.data[0].projectKey;
+                                $scope.vm.issueNumber = result.data.data[0].issueNumber;
+                                $scope.vm.projectName = result.data.data[0].projectName;
                                 $scope.vm.page.selectedPage = currentPage + 1;
                                 $scope.vm.responseData = result.data;
 
                                 if (detail) {
                                     changeDetailView(result.data.data[0].id);
                                 }
+                            } else {
+                                $scope.vm.responseData = result.data;
+                            }
+
+                        }
+                        else {
+                            SweetAlert.error($filter("translate")("issue.failedIssueLookup"), result.data.message.message); // �씠�뒋 議고쉶 �떎�뙣
+                        }
+
+                    });
+                }
+
+                function getResponseData() {
+                    return $scope.data;
+                }
+
+                // �씠硫붿씪 �봽濡쒖젥�듃 寃쎈줈濡� �씠�룞 �썑 �긽�꽭 吏꾩엯�떆 議고쉶
+                function getDetailList(projectKey, number) {
+                    var conditions = {
+                        projectKey : projectKey,
+                        combinationIssueNumber : number
+                    };
+
+                    Issue.find($resourceProvider.getContent(conditions,
+                        $resourceProvider.getPageContent(0, 1))).then(function (result) {
+
+                        if (result.data.message.status === "success") {
+                            if (result.data.data !=  null && result.data.data.length > 0) {
+                                $scope.vm.projectKey = result.data.data[0].projectKey;
+                                $scope.vm.issueNumber = result.data.data[0].issueNumber;
+                                $scope.vm.responseData = result.data;
+
+                                changeDetailView(result.data.data[0].id);
                             }
                         }
                         else {
@@ -587,7 +662,23 @@
                         resolve : {
                             parameter : function () {
                                 return {
-                                    id : id
+                                    id : id,
+                                };
+                            }
+                        }
+                    });
+                }
+
+                function AddRelation(id) {
+                    $uibModal.open({
+                        templateUrl : 'views/issue/issueAddRelation.html',
+                        size : "lg",
+                        controller : 'issueAddRelationController',
+                        backdrop : 'static',
+                        resolve : {
+                            parameter : function () {
+                                return {
+                                    id : id,
                                 };
                             }
                         }
@@ -738,6 +829,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();
@@ -800,6 +911,12 @@
                             angular.forEach(result.data.data, function (customField) {
                                 switch (customField.customFieldType) {
                                     case "INPUT" :
+                                    case "NUMBER" :
+                                    case "DATETIME" :
+                                    case "IP_ADDRESS" :
+                                    case "EMAIL" :
+                                    case "SITE" :
+                                    case "TEL" :
                                         customField.useValues = "";
                                         break;
 
@@ -807,6 +924,7 @@
                                     case "SINGLE_SELECT" :
                                         customField.useValues = [];
                                         break;
+
                                 }
 
                                 $scope.vm.customFields.push(customField);
@@ -844,14 +962,16 @@
 
                     return deferred.promise;
                 }
+
                 //  理쒖큹 �떎�뻾
                 function startExecute() {
                     // �뙆�씪誘명꽣 �씫湲�
                     var params = $rootScope.previousGetParams;
                     if ($rootScope.isDefined(params)) {
-                        $rootScope.$broadcast("makeIssueSearch", {  projectKey : params.projectKey, issueNumber : params.issueNumber });
+                        // $rootScope.$broadcast("makeIssueSearch", {  projectKey : params.projectKey, issueNumber : params.issueNumber });
+                        getDetailList(params.projectKey, params.issueNumber);
                         $rootScope.previousGetParams = null;
-                        $rootScope.issueTypeId = $rootScope.issueTypeMenu.id;
+                        // $rootScope.issueTypeId = $rootScope.issueTypeMenu.id;
                         return;
                     }
 

--
Gitblit v1.8.0