From 261950c3d8e20fb94141c03b37a2872f75477831 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 금, 14 1월 2022 21:07:15 +0900
Subject: [PATCH] Merge branch 'master' of http://192.168.0.28:9001/r/owl-kisa

---
 src/main/java/kr/wisestone/owl/service/impl/IssueRiskServiceImpl.java |   44 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 43 insertions(+), 1 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueRiskServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueRiskServiceImpl.java
index fcfd3e6..df379a6 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueRiskServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueRiskServiceImpl.java
@@ -34,6 +34,7 @@
         IssueRisk issueRisk = new IssueRisk();
         issueRisk.setChangeIssueStatusCount(0L);
         issueRisk.setChangeAssigneeCount(0L);
+        issueRisk.setChangeDepartmentCount(0L);
         issueRisk.setIssue(issue);
         issueRisk.setWorkspace(workspace);
         issueRisk.setIssueStatusIds(issue.getIssueStatus().getId().toString());
@@ -41,7 +42,7 @@
     }
 
     //  �씠�뒋�뿉�꽌 �떞�떦�옄�굹 �긽�깭媛� 蹂�寃쎈맆 寃쎌슦 �씠�뒋 �쐞�뿕 愿�由� �젙蹂대�� �뾽�뜲�씠�듃�븳�떎.
-    @Override
+    /*@Override
     @Transactional
     public void modifyIssueRisk(Issue issue, Boolean changeIssueStatus, Boolean changeAssignee, Long issueStatusId) {
         IssueRisk issueRisk = issue.getIssueRisk();
@@ -80,5 +81,46 @@
         }
 
         this.issueRiskRepository.saveAndFlush(issueRisk);
+    }*/
+
+    @Override
+    @Transactional
+    public void modifyIssueRisk(Issue issue, Boolean changeIssueStatus, Boolean changeDepartment, Long issueStatusId) {
+        IssueRisk issueRisk = issue.getIssueRisk();
+
+        //  �긽�깭 蹂�寃�
+        if (changeIssueStatus) {
+            String issueStatusIds = issueRisk.getIssueStatusIds();
+            issueStatusIds += "&" + issueStatusId;
+
+            Map<String, Integer> issueStatusIdMaps = new HashMap<>();
+
+            for (String key : issueStatusIds.split("&")) {
+                if (!issueStatusIdMaps.containsKey(key)) {
+                    issueStatusIdMaps.put(key, 1);
+                }
+                else {
+                    issueStatusIdMaps.put(key, issueStatusIdMaps.get(key) + 1);
+                }
+            }
+
+            Integer saveCount = 0;
+
+            for (Integer value : issueStatusIdMaps.values()) {
+                if (value > saveCount) {
+                    saveCount = value;
+                }
+            }
+
+            issueRisk.setChangeIssueStatusCount(saveCount.longValue());
+            issueRisk.setIssueStatusIds(issueStatusIds);
+        }
+
+        //  �떞�떦�옄 蹂�寃�
+        if (changeDepartment) {
+            issueRisk.setChangeDepartmentCount(issueRisk.getChangeDepartmentCount() + 1);
+        }
+
+        this.issueRiskRepository.saveAndFlush(issueRisk);
     }
 }

--
Gitblit v1.8.0