From 1cc04f2168129f691eb017153b11b08ab83d9cbd Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 화, 14 12월 2021 15:43:28 +0900
Subject: [PATCH] 이슈 Tree 목록 중복 이슈 필터링 수정

---
 src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java |   52 +++++++++++++++++++++++++++-------------------------
 1 files changed, 27 insertions(+), 25 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 fcb0a1e..8fa627b 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -253,23 +253,25 @@
 
             // �긽�쐞�씪媛먯뿉 �궗�슜�븷 以묐났媛� �꽕�젙
             List<CustomFieldApiOverlap> customFieldApiOverlaps = this.customFieldApiOverlapService.find(user.getId(), issueApiForm.getIssueTypeId());
-            if (customFieldApiOverlaps == null || customFieldApiOverlaps.size() == 0){
-                throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_OVERLAP_SETTING_NOT_EXIST));
-            }
-            for(int i=0; i < customFieldApiOverlaps.size() ; i++ ){
-                CustomFieldApiOverlap customFieldApiOverlap = customFieldApiOverlaps.get(i);
-                issueApiForm.addUseIssueCustomFieldId(customFieldApiOverlap.getCustomField().getId());
-            }
+//            if (customFieldApiOverlaps == null || customFieldApiOverlaps.size() == 0){
+//                throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_OVERLAP_SETTING_NOT_EXIST));
+//            }
+            if (customFieldApiOverlaps != null && customFieldApiOverlaps.size() > 0) {
+                for (int i = 0; i < customFieldApiOverlaps.size(); i++) {
+                    CustomFieldApiOverlap customFieldApiOverlap = customFieldApiOverlaps.get(i);
+                    issueApiForm.addUseIssueCustomFieldId(customFieldApiOverlap.getCustomField().getId());
+                }
 
-            // 以묐났�맂 �씠�뒋寃��깋
-            List<Issue> issues = this.findIssue(issueApiForm, customFieldApiOverlaps, user.getId());
-            int size = issues.size();
-            if (size > 0) {
-                Issue targetIssue = issues.get(0);
-                if (targetIssue.getParentIssue() != null) {
-                    issueForm.setParentIssueId(targetIssue.getParentIssue().getId());
-                } else {
-                    issueForm.setParentIssueId(targetIssue.getId());
+                // 以묐났�맂 �씠�뒋寃��깋
+                List<Issue> issues = this.findIssue(issueApiForm, customFieldApiOverlaps, user.getId());
+                int size = issues.size();
+                if (size > 0) {
+                    Issue targetIssue = issues.get(0);
+                    if (targetIssue.getParentIssue() != null) {
+                        issueForm.setParentIssueId(targetIssue.getParentIssue().getId());
+                    } else {
+                        issueForm.setParentIssueId(targetIssue.getId());
+                    }
                 }
             }
 
@@ -800,9 +802,9 @@
         this.setMapToIssueVo(results, issueVos, issueCondition, user);
 
         if (issueCondition.getTree()) {
+            this.setParentIssue(issueVos);
             this.setDownIssues(user, issueVos);
             this.setRelationIssues(issueVos);
-            this.setParentIssue(issueVos);
         }
         this.setCountDownIssues(issueVos);
 
@@ -846,8 +848,6 @@
             this.setIssueCustomFieldValue(issueVos, issueCondition);
             //�썙�겕�뵆濡쒖슦�뿉 �꽕�젙�븳 �떞�떦遺��꽌 媛��졇�삤湲�
             this.SetWorkflowDepartment(issueVos);
-            // �긽�쐞 �씠�뒋 泥댄겕
-            this.setParentIssue(issueVos);
         }
     }
 
@@ -866,8 +866,11 @@
         for(IssueVo issueVo : issueVos) {
             if(issueVo.getParentIssueId() != null) {
                 Issue parentIssue = this.getIssue(issueVo.getParentIssueId());
-                issueVo.setParentIssueVo(ConvertUtil.copyProperties(parentIssue, IssueVo.class));
-                ConvertUtil.copyProperties(issueVo.getParentIssueVo(), issueVo);
+                //issueVo.setParentIssueVo(ConvertUtil.copyProperties(parentIssue, IssueVo.class));
+                if(parentIssue.getIssueCustomFieldValues() == null || parentIssue.getIssueCustomFieldValues().size() == 0){
+                    issueVo.setIssueCustomFieldValueVos(null);
+                }
+                ConvertUtil.copyProperties(parentIssue, issueVo);
             }
         }
     }
@@ -1618,11 +1621,10 @@
                 Issue parentIssue = modifyIssue.getParentIssue();
                 IssueType issueType = modifyIssue.getIssueType();
                 IssueStatus issueStatus = issueType.getIssueStatus();
-                if (issueStatus == null) {
-                    throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_COMPLETE_ISSUE_STATUS_NOT_EXIST));
-                }
-
                 if (parentIssue != null) {
+                    if (issueStatus == null) {
+                        throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_COMPLETE_ISSUE_STATUS_NOT_EXIST));
+                    }
                     IssueCondition issueCondition = new IssueCondition(issueVo.getId(), parentIssue.getId());
                     List<Map<String, Object>> results = this.issueMapper.findNotCompleteByParentIssueId(issueCondition);
                     // �븯�쐞 �씪媛먯씠 紐⑤몢 醫낅즺 �긽�깭�씪�븣 �긽�쐞 �씪媛먮룄 醫낅즺 泥섎━

--
Gitblit v1.8.0