From 71a5ce92795fb1a4fbff5fceab8135ec98a691e5 Mon Sep 17 00:00:00 2001
From: 박지현 <jhpark@maprex.co.kr>
Date: 월, 07 3월 2022 18:07:52 +0900
Subject: [PATCH] 이슈 목록 조회 방식 - 전체이슈 보기 / 상위 이슈만 보기 / 하위 이슈만 보기로 수정

---
 src/main/webapp/scripts/app/issue/issueList.controller.js |  133 +++++++++++++++++++++++++++++--------------
 1 files changed, 89 insertions(+), 44 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js
index 256e3de..334553c 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 : [],    //  �씠�뒋 �긽�깭 寃��깋
@@ -95,8 +96,9 @@
                     issueTreeConfigs : [],  //  �씠�뒋 �뀒�씠釉� �꽕�젙
                     parentIssueId : "",
                     hideCompleteIssue : false,
-                    hideDownIssue : true,
+                    hideDownIssue : "0", //�씠�뒋紐⑸줉�뿉�꽌 �쟾泥댁씠�뒋蹂닿린 :0 �긽�쐞�씠�뒋留뚮낫湲�: 1 �븯�쐞�씠�뒋留뚮낫湲�:1
                     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")
@@ -447,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)
@@ -476,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,
@@ -488,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;
                         })(),
@@ -512,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;
                         })(),
@@ -607,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() {
@@ -616,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});
                     }
 
@@ -633,9 +655,10 @@
                         $scope.vm.hideCompleteIssue = true;
                     }
 
-                    if ($scope.vm.hideDownIssue) {
-                        $scope.vm.hideDownIssue = true;
-                    }
+                    // if ($scope.vm.hideDownIssue) {
+                    //     $scope.vm.hideDownIssue = true;
+                    // }
+
                     //  �쁽�옱 �럹�씠吏� �젙蹂�
                     var currentPage = 0;
 
@@ -650,10 +673,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,
@@ -684,6 +707,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++) {
@@ -704,14 +730,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 {
@@ -823,7 +849,7 @@
                 }
 
                 //  �씠�뒋 �닔�젙 �뙘�뾽 �샇異�
-                function modify(id) {
+                function modify(id, downTotalCount) {
                     $uibModal.open({
                         templateUrl : 'views/issue/issueModify.html',
                         size : "lg",
@@ -833,13 +859,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",
@@ -849,13 +879,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",
@@ -865,6 +897,8 @@
                             parameter : function () {
                                 return {
                                     id : id,
+                                    project : project,
+                                    issueTypeId : issueTypeId
                                 };
                             }
                         }
@@ -1044,7 +1078,8 @@
                         resolve : {
                             parameter : function () {
                                 return {
-                                    issueTypeId : $scope.vm.issueTypeId
+                                    issueTypeId : $scope.vm.issueTypeId,
+                                    allIssue : $scope.vm.allIssue
                                 };
                             }
                         }
@@ -1219,20 +1254,26 @@
                 function getIssueTableConfigs() {
                     var deferred = $q.defer();
 
-                    if ($rootScope.issueTypeMenu != null){
-                        var content = {
-                            issueTypeId : $rootScope.getCurrentIssueTypeId()
+                    var content = {
+                        issueTypeId : (function () {
+                            var id = "";
+                            if ($rootScope.allIssueList) {
+                                id = -1;
+                            } else {
+                                id = $rootScope.getCurrentIssueTypeId();
+                            }
+                            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); // �씠�뒋 �뀒�씠釉� 而щ읆 議고쉶 �떎�뙣
                         }
 
-                        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);
-                        });
-                    }
+                        deferred.resolve(result.data.data);
+                    });
 
                     return deferred.promise;
                 }
@@ -1287,6 +1328,8 @@
 
                 //  理쒖큹 �떎�뻾
                 function startExecute() {
+                    // �씠�뒋 �긽�꽭�솕硫� �씠�뒋 �씠�룞 �궡�뿭 ���옣
+                    $scope.vm.issueIds = [];
                     // 荑좏궎 �씫湲�
                     var paramKeyWord = null;
 
@@ -1309,6 +1352,8 @@
                         // $rootScope.issueTypeId = $rootScope.issueTypeMenu.id;
                     }
 
+                    var allIssue = $rootScope.allIssueList;
+
                     var promises = {
                         getIssueTypes : $scope.fn.getIssueTypes(),
                         getPriorities : $scope.fn.getPriorities(),
@@ -1329,7 +1374,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 {
@@ -1338,9 +1383,9 @@
 
                             //  �씠�뒋 �뀒�씠釉� �꽕�젙
                             $scope.fn.makeTableConfigs();
-                            //  �꽌踰꾩뿉 ���옣�븳 �씠�뒋 寃��깋 議곌굔�쓣 媛��졇���꽌 �씠�뒋 紐⑸줉 寃��깋�쓣 吏꾪뻾�븳�떎.
-                            $scope.fn.getVmSearchObject(paramKeyWord);
                         });
+                        //  �꽌踰꾩뿉 ���옣�븳 �씠�뒋 寃��깋 議곌굔�쓣 媛��졇���꽌 �씠�뒋 紐⑸줉 寃��깋�쓣 吏꾪뻾�븳�떎.
+                        $scope.fn.getVmSearchObject(paramKeyWord, allIssue);
                     });
                 }
 

--
Gitblit v1.8.0