From 9ea4a2d0385d48a0713a5bbc3c1a8967e10baae1 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 월, 20 12월 2021 11:00:50 +0900
Subject: [PATCH] 이슈 히스토리 하위이슈 문구 중복되는 문제 해결

---
 src/main/webapp/scripts/app/issue/issueDetail.controller.js |  100 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 76 insertions(+), 24 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueDetail.controller.js b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
index 9d8b142..5df19b9 100644
--- a/src/main/webapp/scripts/app/issue/issueDetail.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
@@ -81,6 +81,7 @@
                 $scope.vm.form = {
                     issues : [], //�뿰愿� �씪媛�
                     issuesDown : [],  // �븯�쐞 �씪媛�
+                    issuesDownStatus : [], //�븯�쐞 �씠�뒋 �긽�깭
                     issueCompanyVos : [],
                     issueIspVos : [],
                     issueHostingVos : []
@@ -477,14 +478,16 @@
                         .setHWidth("width-60-p bold")
                         .setHSort(false)
                         .setDRenderer("ISSUE_DOWN_MOVE"))
-                    $scope.vm.downTableConfigs.push($tableProvider.config()
-                        .setHName("issue.relationIssueDelete")
-                        .setDType("renderer")
-                        .setDAlign("text-center")
-                        .setHWidth("width-20-p bold")
-                        .setDRenderer("ISSUE_DOWN_DELETE")
-                        .setHSort(false)
-                        .setDAlign("text-center"))
+                    if($scope.vm.viewer.modifyPermissionCheck){
+                        $scope.vm.downTableConfigs.push($tableProvider.config()
+                            .setHName("issue.relationIssueDelete")
+                            .setDType("renderer")
+                            .setDAlign("text-center")
+                            .setHWidth("width-20-p bold")
+                            .setDRenderer("ISSUE_DOWN_DELETE")
+                            .setHSort(false)
+                            .setDAlign("text-center"))
+                    }
 
                     angular.forEach($scope.vm.downTableConfigs, function (Down_issueTableConfig) {
                         //  �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎.
@@ -497,7 +500,10 @@
 
                 // �뿰愿� �씠�뒋 �뀒�씠釉� �꽕�젙
                 function setRelTableConfigs(issueTableConfigVo) {
-                    if (issueTableConfigVo == null) makeRelTableConfigs(); return;
+                    if (issueTableConfigVo == null) {
+                        makeRelTableConfigs();
+                        return;
+                    }
                     var issueTableConfigs = issueTableConfigVo.issueTableConfigs;
 
                     //  �뿰愿� �뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 媛믪쓣 媛��졇���꽌 �쟻�슜�븳�떎.
@@ -642,15 +648,20 @@
                         }
                     });
                 }
-                // todo 紐⑤Ⅴ寃좊떎.....
+
                  // �씠�뒋紐낆쓣 �겢由��븯硫� �씠�뒋 �긽�꽭 �젙蹂대�� 議고쉶�븳�떎.
                  // $rootScope.$on("getIssueDetail", function (event, args) {
                  //     $scope.vm.viewer.id = args["id"];
                  //     $scope.fn.getIssueDetail();
                  // });
+
+                //  �씠�뒋紐낆쓣 �겢由��븯硫� �씠�뒋 �긽�꽭 �젙蹂대�� 議고쉶�븳�떎.
+                // $scope.$on("getIssueDetail", function (event, args) {
+                //     $scope.vm.viewer.id = args["id"];
+                //     $scope.fn.getIssueDetail();
+                // });
                 
                 // �씠硫붿씪 蹂대궦�썑 �긽�꽭�솕硫� 媛깆떊
-                // todo �씠嫄� 萸먯�...
                 //  $rootScope.$on("getIssueDetail", function (event, args) {
                 //      $scope.fn.getIssueDetail();
                 //  });
@@ -658,12 +669,6 @@
                 $scope.$on("getIssueDetail", function (event, args) {
                     $scope.fn.getIssueDetail();
                 });
-
-                //  �씠�뒋紐낆쓣 �겢由��븯硫� �씠�뒋 �긽�꽭 �젙蹂대�� 議고쉶�븳�떎.
-                // $scope.$on("getIssueDetail", function (event, args) {
-                //     $scope.vm.viewer.id = args["id"];
-                //     $scope.fn.getIssueDetail();
-                // });
 
                 $scope.$watch(function() {
                     return $rootScope.currentDetailIssueId;
@@ -673,8 +678,6 @@
                         $scope.fn.getIssueDetail();
                     }
                 }, true);
-
-
 
                 //  珥덇린�솕 �빐�빞�븷 �븷紐⑹쓣 吏��젙�븯�뿬 �떎瑜� �씠�뒋瑜� �겢由��븷 �븣 珥덇린�솕�빐以��떎.
                 function initReload() {
@@ -698,7 +701,8 @@
                             parameter : function () {
                                 return {
                                     issueIds : [$scope.vm.viewer.id],
-                                    projectId : $scope.vm.viewer.projectVo.id
+                                    projectId : $scope.vm.viewer.projectVo.id,
+                                    downIssuesStatus : $scope.vm.form.issuesDownStatus
                                 };
                             }
                         }
@@ -879,6 +883,7 @@
                                 $scope.vm.form.issues = [];
                                 $scope.vm.form.issues.push(result.data.data);
                                 $scope.vm.form.issuesDown = [];
+                                $scope.vm.form.issuesDownStatus = [];// �븯�쐞�씠�뒋 �긽�깭
                                 $scope.vm.form.issuesDown.push(result.data.data);
 
                                 var issueTableConfigVos = result.data.data.issueTableConfigVos;
@@ -898,7 +903,7 @@
                                     angular.forEach(result.data.data.issueDownVos, function (issueDownVo){
                                         //$scope.vm.form.issuesDown.push(issueDownVo.issueDown);
                                         $scope.vm.form.issuesDown.push(issueDownVo);
-
+                                        $scope.vm.form.issuesDownStatus.push(issueDownVo.issueStatusVo.issueStatusType);
                                     });
                                 }
                                 $scope.vm.viewer.issueRelationVos = result.data.data.issueRelationVos;
@@ -907,6 +912,7 @@
                                 if ($rootScope.workProject.id > -1 && result.data.data.projectVo !== null) {
                                     $rootScope.changeLastProject(result.data.data.projectVo.id);
                                 }
+
                             }
                         }
                         else {
@@ -989,8 +995,54 @@
 
                 //  �솢�룞 �씠�젰 留뚮뱾湲�
                 function makeActiveHistory() {
-                    $scope.vm.viewer.activeHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos);
-                    $scope.vm.viewer.activeHistory.sort(function (a, b) {
+                    if ($scope.vm.viewer.issueDownVos != null && $scope.vm.viewer.issueDownVos.length > 0) {
+                        $scope.vm.viewer.activeHistory = "";
+                        $scope.vm.viewer.activeParentHistory = "";
+                        $scope.vm.viewer.activeDownHistory = "";
+                        $scope.vm.viewer.activeDownAllHistory = "";
+                        var downTitle = "";
+                        // �븯�쐞�씠�뒋 �엳�뒪�넗由�
+                        for (var i=0; i<$scope.vm.viewer.issueDownVos.length; i++){
+                            if($scope.vm.viewer.issueDownVos.length > 1){
+                                $scope.vm.viewer.activeDownHistory = $scope.vm.viewer.issueDownVos[i].issueHistoryVos.concat($scope.vm.viewer.issueDownVos[i+1].issueHistoryVos);
+                                i++;
+                            }else {
+                                $scope.vm.viewer.activeDownHistory = $scope.vm.viewer.issueDownVos[i].issueHistoryVos;
+                            }
+                        }
+                        for (var i=0; i<$scope.vm.viewer.activeDownHistory.length; i++){
+                            downTitle = "<div class='dot' style='margin-bottom: -8px'>*�븯�쐞�씠�뒋 : "+$scope.vm.viewer.activeDownHistory[i].title+"</div>";
+                            $scope.vm.viewer.activeDownHistory[i].desc = downTitle + $scope.vm.viewer.activeDownHistory[i].description;
+                        }
+                        $scope.vm.viewer.activeDownHistory.sort(function (a, b) {   //�궡由쇱감�닚
+                            return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0;
+                        });
+
+                        // �븯�쐞�씠�뒋 �뙎湲� �엳�뒪�넗由�
+                       for (var i=0; i<$scope.vm.viewer.issueDownVos.length; i++) {
+                           if($scope.vm.viewer.issueDownVos.length > 1){
+                                $scope.vm.viewer.downComment = $scope.vm.viewer.issueDownVos[i].issueCommentVos.concat($scope.vm.viewer.issueDownVos[i+1].issueCommentVos);
+                                i++;
+                           } else {
+                                $scope.vm.viewer.downComment = $scope.vm.viewer.issueDownVos[i].issueCommentVos;
+                           }
+                       }
+                       $scope.vm.viewer.issueDownVos.sort(function (a, b) {   //�궡由쇱감�닚
+                           return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0;
+                       });
+
+                       $scope.vm.viewer.activeDownAllHistory = $scope.vm.viewer.downComment.concat($scope.vm.viewer.activeDownHistory);
+                       $scope.vm.viewer.activeParentHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos);
+                       $scope.vm.viewer.activeHistory = $scope.vm.viewer.activeParentHistory.concat($scope.vm.viewer.activeDownAllHistory);
+
+                    }else {
+                        $scope.vm.viewer.activeParentHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos);
+                        $scope.vm.viewer.activeHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos);
+                    }
+                    $scope.vm.viewer.activeParentHistory.sort(function (a, b) {   //�궡由쇱감�닚
+                        return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0;
+                    });
+                    $scope.vm.viewer.activeHistory.sort(function (a, b) {   //�궡由쇱감�닚
                         return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0;
                     });
                 }
@@ -1044,7 +1096,6 @@
                                         $timeout(function () {
                                             SweetAlert.success($filter("translate")("common.deleteSucceeded"), result.data.message.message); // �궘�젣 �꽦怨�
                                         }, 100);
-
                                         $scope.fn.getCommentList();
                                     }
                                     else {
@@ -1067,6 +1118,7 @@
 
                         if (result.data.message.status === "success") {
                             $scope.vm.viewer.issueCommentVos = result.data.data;
+                            $scope.fn.updateActiveHistory();
                         }
                         else {
                             SweetAlert.swal({

--
Gitblit v1.8.0