From 591710cd5dc2d6175d5546ab6d1025477cbb09a4 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 수, 22 12월 2021 09:13:58 +0900
Subject: [PATCH] 이슈 추가 시 담당부서가 워크플로우 '생성' 상태의 담당부서가 선택되는 기능 완료

---
 src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java |   27 ++++++++++++++++++++++-----
 1 files changed, 22 insertions(+), 5 deletions(-)

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 549ac90..4cd121d 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -375,10 +375,11 @@
         IssueForm issueForm = this.convertToIssueForm(issueApiForm, user);
 
         List<Issue> issues = Lists.newArrayList();
-        if (issueForm.getParentIssueId() != null) {
+        if (issueForm.getParentIssueId() != null    // 湲곗〈 異붽��맂 �긽�쐞 �씪媛먯씠 �뾾嫄곕굹 �꽕�젙�맂 以묐났 �씠�뒋 id媛� �뾾�쓣�븣
+                || issueApiForm.getUseIssueCustomFieldIds().size() == 0) {
             issues.add(addIssue(user, issueForm, issueApiForm.getMultipartFiles()));
         } else {
-            // �긽�쐞 �씠�뒋 異붽�
+            // 媛��긽 �긽�쐞 �씠�뒋 異붽�
             IssueForm parentIssueForm = issueForm.clone();
             parentIssueForm.setUseIssueCustomFields(issueApiForm.getUseIssueCustomFieldIds());
             Issue issue = addIssue(user, parentIssueForm, null);
@@ -1521,6 +1522,8 @@
                 this.setRegister(downIssue, downIssueVo); // �벑濡앹옄
                 this.setIssueDepartment(downIssue, downIssueVo);  //  �떞�떦遺��꽌 �젙蹂� �뀑�똿
                 this.setIssueCustomFields(downIssue, downIssueVo);   // �궗�슜�옄�젙�쓽�븘�뱶 �젙蹂� �꽭�똿
+                this.setIssueHistory(downIssue, downIssueVo);   //  �씠�뒋 湲곕줉 �젙蹂� �뀑�똿
+                this.setIssueComments(downIssue, downIssueVo);  //  �뙎湲� �젙蹂� �뀑�똿
 
                 resultList.add(downIssueVo);
             }
@@ -1544,10 +1547,10 @@
         this.setIssueDepartment(issue, issueVo);  //  �떞�떦遺��꽌 �젙蹂� �뀑�똿
         this.setAttachedFiles(issue, issueVo);  //  泥⑤� �뙆�씪 �젙蹂� �뀑�똿
         this.setIssueCustomFields(issue, issueVo);  //  �궗�슜�옄 �젙�쓽 �븘�뱶 媛� �젙蹂� �뀑�똿
-        this.setIssueComments(issue, issueVo);  //  �뙎湲� �젙蹂� �뀑�똿
-        this.setIssueHistory(issue, issueVo);   //  �씠�뒋 湲곕줉 �젙蹂� �뀑�똿
         this.setRelationIssue(issue, issueVo);        //�뿰愿� �씪媛� �뀑�똿
         this.setDownIssues(issue, issueVo); //�븯�쐞 �씪媛� �꽭�똿
+        this.setIssueComments(issue, issueVo);  //  �뙎湲� �젙蹂� �뀑�똿
+        this.setIssueHistory(issue, issueVo);   //  �씠�뒋 湲곕줉 �젙蹂� �뀑�똿
 
         IssueType issueType = this.issueTypeService.getIssueType(issueVo.getIssueTypeVo().getId()); // �씠�뒋�쓽 �씠�뒋�쑀�삎 媛앹껜
         Integer using = issueType.getUsePartner() != null ? issueType.getUsePartner().intValue() : 0; // �씠�뒋�쑀�삎蹂꾨줈 �궗�슜以묒씤 �뾽泥�/ISP/�샇�뒪�똿 媛�
@@ -1729,7 +1732,7 @@
 
     //  �씠�뒋 湲곕줉 �젙蹂대�� �뀑�똿�븳�떎.
     private void setIssueHistory(Issue issue, IssueVo issueVo) {
-        issueVo.setIssueHistoryVos(this.issueHistoryService.findIssueHistory(issue.getId()));
+        issueVo.setIssueHistoryVos(this.issueHistoryService.findIssueHistory(issue));
     }
 
     // �궗�슜�옄 �젙�쓽 �븘�뱶 媛믪씠 媛숈� �씠�뒋 李얘린
@@ -3794,4 +3797,18 @@
             resJsonData.put(Constants.RES_KEY_CONTENTS, usePartnerVos);
         }
     }
+
+    @Override
+    public void findReadyDepartments(Map<String, Object> resJsonData, DepartmentCondition condition, Pageable pageable) {
+        Integer issueStatusId = 1;
+        condition.setIssueStatusId(issueStatusId);
+
+        IssueType issueType = this.issueTypeService.getIssueType(condition.getIssueTypeId());
+        if (issueType != null) {
+            condition.setWorkflowId(issueType.getWorkflow().getId());
+        }
+
+        List<Map<String, Object>> departmentVos = this.departmentMapper.findByIssueStatusId(condition);
+        resJsonData.put(Constants.RES_KEY_CONTENTS, departmentVos);
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0