From 2bf76c84270c33087aa74b9b074eaf87d85b30cf Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 월, 28 2월 2022 13:17:20 +0900
Subject: [PATCH] - 이슈리스트 사용자정의필드 컬럼 정렬 안되는 문제 해결

---
 src/main/webapp/scripts/app/issue/issueList.controller.js |  163 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 118 insertions(+), 45 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js
index f62d60f..5c7873d 100644
--- a/src/main/webapp/scripts/app/issue/issueList.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueList.controller.js
@@ -61,6 +61,7 @@
                         registerDateRange : "", //  �벑濡앹씪 湲곌컙 寃��깋
                         startDateRange : "",    //  �떆�옉�씪 湲곌컙 寃��깋
                         completeDateRange : "", //  �셿猷뚯씪 湲곌컙 寃��깋
+                        dateRange : "", //  湲곌컙 寃��깋
                         severityIds : [],   //  以묒슂�룄 寃��깋
                         priorityIds : [],   //  �슦�꽑�닚�쐞 寃��깋
                         issueStatusIds : [],    //  �씠�뒋 �긽�깭 寃��깋
@@ -97,6 +98,7 @@
                     hideCompleteIssue : false,
                     hideDownIssue : true,
                     listMode : 0, // 紐⑸줉 紐⑤뱶 0:湲곕낯 由ъ뒪�듃 1:�듃由ш뎄議� 由ъ뒪�듃
+                    allIssue : false
                 };
 
                 //  �뀒�씠釉� �씠踰ㅽ듃
@@ -159,7 +161,7 @@
                 }
 
                 //  �꽌踰꾩뿉 ���옣�븳 �씠�뒋 寃��깋 議곌굔�쓣 媛��졇�삩�떎.
-                function getVmSearchObject(keyWord = null) {
+                function getVmSearchObject(keyWord = null, allIssue = false) {
 
                     IssueSearch.detail($resourceProvider.getContent({}, $resourceProvider.getPageContent(0, 0))).then(function (result) {
 
@@ -173,9 +175,9 @@
                                 // $scope.vm.projects = issueListSearchObject.projects;
                                 // $scope.vm.registers = issueListSearchObject.registers;
 
-                                $scope.fn.getPageList(0, true, keyWord);
+                                $scope.fn.getPageList(0, true, keyWord, allIssue);
                             } else {
-                                $scope.fn.getPageList(0, false, keyWord);
+                                $scope.fn.getPageList(0, false, keyWord, allIssue);
                             }
                         }
                         else {
@@ -183,9 +185,10 @@
                         }
                     });
                 }
+                $scope.vm.issueIds = [];
 
                 //  �긽�꽭 �솕硫댁쑝濡� 蹂�寃쏀븳�떎.
-                function changeDetailView(id) {
+                function changeDetailView(id, isBack = false) {
                     $scope.vm.tableConfigs = [];
                     $scope.vm.detailView = true;
 
@@ -196,6 +199,10 @@
                     //  �뀒�씠釉붿쓣 �떎�떆 洹몃┫�닔 �엳寃� �뜲�씠�꽣 諛붿씤�뵫�쓣 �떎�떆�븳�떎.
                     var temp = angular.copy($scope.vm.responseData.data);
                     $scope.vm.responseData.data = angular.copy(temp);
+
+                    if (!isBack) {
+                        $scope.vm.issueIds.push(id);
+                    }
                     //  �쁽�옱 �긽�꽭�솕硫댁쑝濡� 蹂대젮怨좏븯�뒗 �씠�뒋 id瑜� 湲곗뼲�븳�떎.
                     $rootScope.currentDetailIssueId = id;
                     //  �씠�뒋 �긽�꽭 �솕硫� �슂泥�
@@ -207,6 +214,7 @@
 
                 //  紐⑸줉 �솕硫댁쑝濡� 蹂�寃쏀븳�떎.
                 function listView() {
+                    $scope.vm.issueIds = [];
                     $scope.vm.detailView = false;
                     //  �씠�뒋 �뀒�씠釉� �꽕�젙
                     $scope.fn.makeTableConfigs();
@@ -330,7 +338,7 @@
                         case "ISSUE_TITLE" :   //  �씠�뒋 �젣紐�
                             $scope.vm.tableConfigs.push($tableProvider.config()
                                 .setHName("issue.issueTitle")
-                                .setDName("issueNumber") /* todo �씠嫄� ���씠��濡� 蹂�寃쏀빐�빞�븯�뒗�뜲*/
+                                .setDName("title")
                                 .setDType("renderer")
                                 .setHWidth("bold " + issueTableConfig.width)
                                 .setDAlign("text-center")
@@ -367,7 +375,7 @@
                         case "ASSIGNEE_TEAM" :   //  �떞�떦遺��꽌
                             $scope.vm.tableConfigs.push($tableProvider.config()
                                 .setHName("common.assigneeTeam")
-                                .setDName("departmentName") /* todo 泥댄겕*/
+                                .setDName("departmentName")
                                 .setDType("renderer")
                                 .setHWidth("bold " + issueTableConfig.width)
                                 .setDAlign("text-center")
@@ -385,7 +393,6 @@
                         case "PERIOD" : //  湲곌컙
                             $scope.vm.tableConfigs.push($tableProvider.config()
                                 .setHName("common.period")
-                                .setDName("startDate")
                                 .setDType("renderer")
                                 .setHWidth("bold " + issueTableConfig.width)
                                 .setDAlign("text-center")
@@ -408,6 +415,33 @@
                                 .setColumnTooltip("誘몄셿猷� �븯�쐞�씠�뒋/�쟾泥� �븯�쐞�씠�뒋")
                                 .setDRenderer("DOWN_ISSUE_COUNT"));
                             break;
+                        case "COMPANY" :   //  �뾽泥�
+                            $scope.vm.tableConfigs.push($tableProvider.config()
+                                .setHName("common.company")
+                                .setDName("companyName")
+                                .setDType("renderer")
+                                .setHWidth("bold " + issueTableConfig.width)
+                                .setDAlign("text-center")
+                                .setDRenderer("USE_COMPANY"));
+                            break;
+                        case "ISP" :   //  ISP
+                            $scope.vm.tableConfigs.push($tableProvider.config()
+                                .setHName("common.isp")
+                                .setDName("ispName")
+                                .setDType("renderer")
+                                .setHWidth("bold " + issueTableConfig.width)
+                                .setDAlign("text-center")
+                                .setDRenderer("USE_ISP"));
+                            break;
+                        case "HOSTING" :   //  HOSTING
+                            $scope.vm.tableConfigs.push($tableProvider.config()
+                                .setHName("common.hosting")
+                                .setDName("hostingName")
+                                .setDType("renderer")
+                                .setHWidth("bold " + issueTableConfig.width)
+                                .setDAlign("text-center")
+                                .setDRenderer("USE_HOSTING"));
+                            break;
                     }
 
                     //  �궗�슜�옄 �젙�쓽 �븘�뱶 而щ읆
@@ -420,7 +454,7 @@
                                 $scope.vm.tableConfigs.push($tableProvider.config()
                                     .setHName(customField.name)
                                     .setDType("renderer")
-                                    .setDName("useValue" + [count]) /* todo 泥댄겕*/
+                                    .setDName("useValue"+count)
                                     .setHWidth("bold " + issueTableConfig.width)
                                     .setDAlign("text-center")
                                     .setColumnHint(customField)
@@ -449,6 +483,7 @@
                 //  �씠�뒋 寃��깋 議곌굔�쓣 留뚮뱺�떎.
                 function makeSearchConditions() {
                     var conditions = {
+                        allIssue : $scope.vm.allIssue,
                         keyWord : $scope.vm.search.keyWord,
                         title : $scope.vm.search.title,
                         description : $scope.vm.search.description,
@@ -461,15 +496,18 @@
                         endStartDate : "",
                         beginCompleteDate : "",
                         endCompleteDate : "",
+                        dateRange: "",
                         hideCompleteIssue: $scope.vm.hideCompleteIssue,
                         hideDownIssue : $scope.vm.hideDownIssue,
                         isTree : $scope.vm.listMode === 1,
                         projectIds : (function () {
                             var projectIds = [];
 
-                            angular.forEach($scope.vm.projects, function (project) {
-                                projectIds.push(project.id);
-                            });
+                            if (!$scope.vm.allIssue) { //�쟾泥� �궎�썙�뱶 寃��깋�씠 �븘�땺 寃쎌슦�뿉留� �봽濡쒖젥�듃ID push
+                                angular.forEach($scope.vm.projects, function (project) {
+                                    projectIds.push(project.id);
+                                });
+                            }
 
                             return projectIds;
                         })(),
@@ -485,9 +523,11 @@
                         issueTypeIds : (function () {
                             var issueTypeIds = [];
 
-                            angular.forEach($scope.vm.search.issueTypeIds, function (issueTypeId) {
-                                issueTypeIds.push(issueTypeId.fieldKey);
-                            });
+                            if (!$scope.vm.allIssue) { //�쟾泥� �궎�썙�뱶 寃��깋�씠 �븘�땺 寃쎌슦�뿉留� �씠�뒋�쑀�삎ID push
+                                angular.forEach($scope.vm.search.issueTypeIds, function (issueTypeId) {
+                                    issueTypeIds.push(issueTypeId.fieldKey);
+                                });
+                            }
 
                             return issueTypeIds;
                         })(),
@@ -580,8 +620,13 @@
                         conditions.beginCompleteDate = completeDateRange[0].trim();
                         conditions.endCompleteDate = completeDateRange[1].trim();
                     }
+                    //  湲곌컙
+                    if ($rootScope.isDefined($scope.vm.search.dateRange)) {
+                        conditions.dateRange = $scope.vm.search.dateRange.trim();
+                    }
 
                     return conditions;
+
                 }
 
                 function getTreeList() {
@@ -589,16 +634,20 @@
                 }
 
                 //  �씠�뒋 紐⑸줉�쓣 議고쉶�븳�떎.
-                function getPageList(selectedPage, detail = false, keyWord = null) {
+                function getPageList(selectedPage, detail = false, keyWord = null, allIssue = false) {
                     $rootScope.spinner = true;  //  �봽濡쒓렇�옒�뒪 諛�
                     if (selectedPage < 0) {
                         selectedPage = 0;
+                    }
+                    if (allIssue) {
+                        $scope.vm.allIssue = true;
+                        $rootScope.$broadcast("getAllIssuePageList");
                     }
 
                     if (keyWord != null) {
                         $scope.vm.search.keyWord = keyWord;
                         $rootScope.isMainSearch = true;
-
+                        $scope.vm.allIssue = true;
                         $rootScope.$broadcast("getPageListKeyWord", {keyWord: $scope.vm.search.keyWord});
                     }
 
@@ -623,10 +672,10 @@
                     // 寃��깋 湲곕낯媛� �꽭�똿
                     $scope.vm.search.issueTypeIds = [];
                     $scope.vm.projects = [];
-                    if (keyWord == null || keyWord === '') {
+                    if (!$scope.vm.allIssue && keyWord == null || keyWord === '') {
                         // 硫붾돱�뿉�꽌 �꽑�깮�맂 �씠�뒋 �쑀�삎�쓣 湲곕낯�쑝濡� 異붽�
                         if ($rootScope.issueTypeMenu != null) {
-                            //$scope.vm.pageTitle = $rootScope.issueTypeMenu.name;
+                            $scope.vm.pageTitle = $rootScope.issueTypeMenu.name;
 
                             $scope.vm.search.issueTypeIds.push({
                                 fieldKey: $rootScope.issueTypeMenu.id,
@@ -657,6 +706,9 @@
                         $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) {
 
                         if (result.data.message.status === "success") {
+                            $scope.vm.page.selectedPage = currentPage + 1;
+                            $scope.vm.responseData = result.data;
+
                             if (result.data.data !=  null && result.data.data.length > 0) {
                                 //var resultSize = result.data.data.length;
                                 for (var i = 0; i < result.data.data.length; i++) {
@@ -677,14 +729,14 @@
                                 $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;
+                                // 媛믪씠 �뾾�쓣�븣 媛믪쓣 �꽔�뼱二쇰젮怨� �븯�뒗 �쓽�룄
+                                // $scope.vm.responseData = result.data;
+                                result.data = $scope.vm.responseData;
                             }
                         }
                         else {
@@ -796,7 +848,7 @@
                 }
 
                 //  �씠�뒋 �닔�젙 �뙘�뾽 �샇異�
-                function modify(id) {
+                function modify(id, downTotalCount) {
                     $uibModal.open({
                         templateUrl : 'views/issue/issueModify.html',
                         size : "lg",
@@ -806,13 +858,17 @@
                             parameter : function () {
                                 return {
                                     id : id,
+                                    issueTypeId : $scope.vm.viewer.issueTypeVo.id,
+                                    inheritPartners : $scope.vm.viewer.issueTypeVo.inheritPartners,
+                                    usePartner : $scope.vm.viewer.usePartnerVos,
+                                    downTotalCount : downTotalCount
                                 };
                             }
                         }
                     });
                 }
 
-                function addRelationIssueForm(id) {
+                function addRelationIssueForm(id, project, issueTypeId) {
                     $uibModal.open({
                         templateUrl : 'views/issue/issueAddRelation.html',
                         size : "lg",
@@ -822,13 +878,15 @@
                             parameter : function () {
                                 return {
                                     id : id,
+                                    project : project,
+                                    issueTypeId : issueTypeId
                                 };
                             }
                         }
                     });
                 }
 
-                function addDownIssueForm(id) {
+                function addDownIssueForm(id, project, issueTypeId) {
                     $uibModal.open({
                         templateUrl : 'views/issue/issueAddDown.html',
                         size : "lg",
@@ -838,6 +896,8 @@
                             parameter : function () {
                                 return {
                                     id : id,
+                                    project : project,
+                                    issueTypeId : issueTypeId
                                 };
                             }
                         }
@@ -1017,7 +1077,8 @@
                         resolve : {
                             parameter : function () {
                                 return {
-                                    issueTypeId : $scope.vm.issueTypeId
+                                    issueTypeId : $scope.vm.issueTypeId,
+                                    allIssue : $scope.vm.allIssue
                                 };
                             }
                         }
@@ -1079,13 +1140,16 @@
                     var deferred = $q.defer();
                     $scope.vm.partners = [];
 
-                    Issue.findPartners($resourceProvider.getContent({},
+                    Issue.findPartners($resourceProvider.getContent({issueTypeId : $rootScope.getCurrentIssueTypeId()},
                         $resourceProvider.getPageContent(0, 1))).then(function (result) {
                         if (result.data.message.status === "success") {
-                            $scope.vm.partnerVos = result.data.content;
+                            angular.forEach(result.data.data, function (partner) {
+                                $scope.vm.partners.push(partner);
+                            });
+                            //$scope.vm.partnerVos = result.data.data;
                         }
                         else {
-                            SweetAlert.swal($filter("translate")("issue.failedToPriorityListLookup"), result.data.message.message, "error"); // �슦�꽑�닚�쐞 紐⑸줉 議고쉶 �떎�뙣
+                            SweetAlert.swal($filter("translate")("issue.failedToPartnerListLookup"), result.data.message.message, "error"); // �뙆�듃�꼫 紐⑸줉 議고쉶 �떎�뙣
                         }
 
                         deferred.resolve(result.data.data);
@@ -1171,7 +1235,6 @@
                                         break;
 
                                 }
-
                                 $scope.vm.customFields.push(customField);
                             });
                         }
@@ -1190,20 +1253,26 @@
                 function getIssueTableConfigs() {
                     var deferred = $q.defer();
 
-                    if ($rootScope.issueTypeMenu != null){
-                        var content = {
-                            issueTypeId : $rootScope.issueTypeMenu.id
+                    var content = {
+                        issueTypeId : (function () {
+                            var id = "";
+                            if ($rootScope.allIssueList) {
+                                id = -1;
+                            } else {
+                                id = $rootScope.getCurrentIssueTypeId();
                             }
-
-                        IssueTableConfig.detail($resourceProvider.getContent(content,
-                            $resourceProvider.getPageContent(0, 1000))).then(function (result) {
-                            if (result.data.message.status !== "success") {
-                                SweetAlert.error($filter("translate")("issue.failedToIssueTableColumnLookup"), result.data.message.message); // �씠�뒋 �뀒�씠釉� 而щ읆 議고쉶 �떎�뙣
-                            }
-
-                            deferred.resolve(result.data.data);
-                        });
+                            return id;
+                        })()
                     }
+
+                    IssueTableConfig.detail($resourceProvider.getContent(content,
+                        $resourceProvider.getPageContent(0, 1000))).then(function (result) {
+                        if (result.data.message.status !== "success") {
+                            SweetAlert.error($filter("translate")("issue.failedToIssueTableColumnLookup"), result.data.message.message); // �씠�뒋 �뀒�씠釉� 而щ읆 議고쉶 �떎�뙣
+                        }
+
+                        deferred.resolve(result.data.data);
+                    });
 
                     return deferred.promise;
                 }
@@ -1258,6 +1327,8 @@
 
                 //  理쒖큹 �떎�뻾
                 function startExecute() {
+                    // �씠�뒋 �긽�꽭�솕硫� �씠�뒋 �씠�룞 �궡�뿭 ���옣
+                    $scope.vm.issueIds = [];
                     // 荑좏궎 �씫湲�
                     var paramKeyWord = null;
 
@@ -1280,12 +1351,14 @@
                         // $rootScope.issueTypeId = $rootScope.issueTypeMenu.id;
                     }
 
+                    var allIssue = $rootScope.allIssueList;
+
                     var promises = {
                         getIssueTypes : $scope.fn.getIssueTypes(),
                         getPriorities : $scope.fn.getPriorities(),
                         getSeverities : $scope.fn.getSeverities(),
                         getIssueStatuses : $scope.fn.getIssueStatuses(),
-                        getCustomFields : $scope.fn.getCustomFields()
+                        getCustomFields : $scope.fn.getCustomFields(),
                     };
 
                     $q.all(promises).then(function (results){
@@ -1300,7 +1373,7 @@
                                 //  �씠�뒋 �뀒�씠釉� �꽕�젙 �젙蹂대�� ���옣 �븳�떎.
                                 $scope.vm.issueTableConfigs = JSON.parse(issueTableConfigs);
                                 $scope.vm.issueTableConfigs.sort(function (a, b) {
-                                    return a.position < b.position ? -1 : a.position > b.position ? 1: 0;
+                                    return parseInt(a.position) < parseInt(b.position) ? -1 : parseInt(a.position) > parseInt(b.position) ? 1 : 0;
                                 });
                             }
                             else {
@@ -1309,9 +1382,9 @@
 
                             //  �씠�뒋 �뀒�씠釉� �꽕�젙
                             $scope.fn.makeTableConfigs();
-                            //  �꽌踰꾩뿉 ���옣�븳 �씠�뒋 寃��깋 議곌굔�쓣 媛��졇���꽌 �씠�뒋 紐⑸줉 寃��깋�쓣 吏꾪뻾�븳�떎.
-                            $scope.fn.getVmSearchObject(paramKeyWord);
                         });
+                        //  �꽌踰꾩뿉 ���옣�븳 �씠�뒋 寃��깋 議곌굔�쓣 媛��졇���꽌 �씠�뒋 紐⑸줉 寃��깋�쓣 吏꾪뻾�븳�떎.
+                        $scope.fn.getVmSearchObject(paramKeyWord, allIssue);
                     });
                 }
 

--
Gitblit v1.8.0