From b90cdc67fa2c27ecd0f0b091bb5abe2624312f05 Mon Sep 17 00:00:00 2001
From: jhjang <jhjang@maprex.co.kr>
Date: 화, 14 12월 2021 17:46:31 +0900
Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa

---
 src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java |   68 ++++++++++++++++++---------------
 1 files changed, 37 insertions(+), 31 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..9b792d0 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);
             }
         }
     }
@@ -909,15 +912,19 @@
     public void findApiIssue(ApiMonitorCondition apiMonitorCondition, Map<String, Object> resJsonData) {
 
         IssueTypeCondition issueTypeCondition = new IssueTypeCondition();
+        issueTypeCondition.setIsApi(Issue.IS_API_YES);
         List<IssueTypeVo> issueTypes = this.issueTypeService.findIssueType(issueTypeCondition);
 
-        // 媛믪씠 �뾾�쓣 寃쎌슦 珥덇린媛� �엯�젰
-        if (StringUtils.isEmpty(apiMonitorCondition.getSearchPeriod())) {
-            apiMonitorCondition.setSearchPeriod(DateUtil.LAST_SEVEN_DAYS);
-        }
-
         //  寃��깋 �씪�옄瑜� 援ы븳�떎.
-        List<Date> searchDates = CommonUtil.findSearchPeriod(apiMonitorCondition.getSearchPeriod());
+        List<Date> searchDates = Lists.newArrayList();
+        if (apiMonitorCondition.getSearchPeriod().equals(DateUtil.CUSTOM_INPUT)) {
+            Date startDate = DateUtil.convertStrToDate(apiMonitorCondition.getSearchStartDate(), "yyyy-MM-dd");
+            Date endDate = DateUtil.addDays(DateUtil.convertStrToDate(apiMonitorCondition.getSearchEndDate(), "yyyy-MM-dd"), 1);
+
+            searchDates = CommonUtil.findSearchPeriod(startDate, endDate);
+        } else {
+            searchDates = CommonUtil.findSearchPeriod(apiMonitorCondition.getSearchPeriod());
+        }
 
         //  �궇吏쒓� 寃��깋�릺吏� �븡�븯�쑝硫� �삤瑜�
         if (searchDates.size() < 1) {
@@ -1618,11 +1625,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