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/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java            |   22 +++++++++++++++++-----
 src/main/java/kr/wisestone/owl/vo/IssueVo.java                               |    9 +++++++++
 src/main/java/kr/wisestone/owl/service/IssueService.java                     |    2 ++
 src/main/webapp/scripts/app/issue/issueList.controller.js                    |    3 ++-
 src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js |    5 +++++
 5 files changed, 35 insertions(+), 6 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/IssueService.java b/src/main/java/kr/wisestone/owl/service/IssueService.java
index 4cafaee..ac1c4bb 100644
--- a/src/main/java/kr/wisestone/owl/service/IssueService.java
+++ b/src/main/java/kr/wisestone/owl/service/IssueService.java
@@ -92,4 +92,6 @@
     void findPartner(Map<String, Object> resJsonData, Map<String, Object> params);
 
     void findApiIssue(ApiMonitorCondition apiMonitorCondition, Map<String, Object> resJsonData);
+
+    void setCountDownIssues(List<Map<String, Object>> results, List<IssueVo> issueVos);
 }
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 f87d9fb..72e5bc6 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -732,21 +732,33 @@
         return issueVos;
     }
 
-    private void setCountDownIssues(List<Map<String, Object>> results, List<IssueVo> issueVos) {
+    @Override
+    @Transactional(readOnly = true)
+    public void setCountDownIssues(List<Map<String, Object>> results, List<IssueVo> issueVos) {
         for (Map<String, Object> result : results){
             List<Issue> downIssues = this.issueRepository.findByParentIssueId((Long) result.get("id")); //�븯�쐞�씠�뒋 媛��졇�삤湲�
             if(downIssues != null && downIssues.size() > 0){ //�긽�쐞�씠�뒋 媛�吏�怨� �엳�뒗 �븷�뱾�씠 �엳�쑝硫�
-                int downIssueCount = 0;
+                int downIssueAllCount = 0;// �븯�쐞�씠�뒋 �쟾泥� 移댁슫�듃
+                int downIssueCount = 0;// �븯�쐞�씠�뒋 誘몄셿猷� 移댁슫�듃
                 for(Issue downIssue : downIssues){
-                    downIssueCount ++;
+                    downIssueAllCount ++;
                     Long parentIssueId = downIssue.getParentIssue().getId();
                     Issue parentIssue = this.getIssue(parentIssueId);
                     IssueVo parentIssueVo = ConvertUtil.copyProperties(parentIssue, IssueVo.class);
-                    parentIssueVo.setDownIssueCount(downIssueCount);
+                    parentIssueVo.setDownIssueAllCount(downIssueAllCount);
+
+                    IssueStatus downIssueStatus = this.issueStatusService.getIssueStatus(downIssue.getIssueStatus().getId());
+                    IssueVo downIssueVo = ConvertUtil.copyProperties(downIssue, IssueVo.class);
+                    downIssueVo.setIssueStatusType(downIssueStatus.getIssueStatusType().toString());
+
+                    if(!downIssueVo.getIssueStatusType().equals("CLOSE")){ //誘몄셿猷� �븯�쐞�씠�뒋 泥댄겕
+                        downIssueCount ++;
+                    }
 
                     for(IssueVo issueVo : issueVos){
                         if(issueVo.getId().equals(parentIssueVo.getId())){
-                            issueVo.setDownIssueCount(parentIssueVo.getDownIssueCount());
+                            issueVo.setDownIssueCount(downIssueCount);
+                            issueVo.setDownIssueAllCount(parentIssueVo.getDownIssueAllCount());
                         }
                     }
                 }
diff --git a/src/main/java/kr/wisestone/owl/vo/IssueVo.java b/src/main/java/kr/wisestone/owl/vo/IssueVo.java
index 9a7d55c..c7eb5ee 100644
--- a/src/main/java/kr/wisestone/owl/vo/IssueVo.java
+++ b/src/main/java/kr/wisestone/owl/vo/IssueVo.java
@@ -54,6 +54,7 @@
     private WorkflowStatusVo workflowStatusVo;
     private IssueVo parentIssueVo;
     private int downIssueCount;
+    private int downIssueAllCount;
 
     private List<IssueCompanyVo> issueCompanyVos;
     private List<IssueIspVo> issueIspVos;
@@ -466,4 +467,12 @@
     public void setDownIssueCount(int downIssueCount) {
         this.downIssueCount = downIssueCount;
     }
+
+    public int getDownIssueAllCount() {
+        return downIssueAllCount;
+    }
+
+    public void setDownIssueAllCount(int downIssueAllCount) {
+        this.downIssueAllCount = downIssueAllCount;
+    }
 }
diff --git a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
index ab0272d..292be01 100644
--- a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
+++ b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
@@ -193,6 +193,11 @@
                                             }
                                             break;
 
+                                        //  �븯�쐞�씠�뒋 移댁슫�듃
+                                        case "DOWN_ISSUE_COUNT" :
+                                            makeTag += '<span>'  + scope.data.downIssueCount + ' / ' + scope.data.downIssueAllCount + '</span>';
+                                            break;
+
                                         //  �봽濡쒖젥�듃 湲곌컙 �몴�떆
                                         case "PROJECT_DUE_DATE" :
                                             makeTag += "<span>" + scope.data.startDate + " ~ " + scope.data.endDate + "</span>";
diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js
index 6e575b7..bacce25 100644
--- a/src/main/webapp/scripts/app/issue/issueList.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueList.controller.js
@@ -309,9 +309,10 @@
                         case "COUNT_DOWN_ISSUE" : //  �븯�쐞 �씠�뒋 媛쒖닔
                             $scope.vm.tableConfigs.push($tableProvider.config()
                                 .setHName("common.countDownIssue")
+                                .setDType("renderer")
                                 .setHWidth("bold " + issueTableConfig.width)
                                 .setDAlign("text-center")
-                                .setDName("downIssueCount"));
+                                .setDRenderer("DOWN_ISSUE_COUNT"));
                             break;
                     }
 

--
Gitblit v1.8.0