From 6a72a3edec87cca9996c7ab3be3fd48479881945 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 02 12월 2021 21:55:28 +0900
Subject: [PATCH] 충돌 수정

---
 src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java |   86 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 75 insertions(+), 11 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 934520a..3a1202a 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -20,10 +20,7 @@
 import kr.wisestone.owl.util.*;
 import kr.wisestone.owl.util.DateUtil;
 import kr.wisestone.owl.vo.*;
-import kr.wisestone.owl.web.condition.IssueCondition;
-import kr.wisestone.owl.web.condition.IssueCustomFieldValueCondition;
-import kr.wisestone.owl.web.condition.IssueTypeCustomFieldCondition;
-import kr.wisestone.owl.web.condition.ProjectCondition;
+import kr.wisestone.owl.web.condition.*;
 import kr.wisestone.owl.web.form.*;
 import kr.wisestone.owl.web.view.ExcelView;
 import org.apache.commons.lang3.StringUtils;
@@ -373,7 +370,6 @@
         projectRoleUserMap.put("statuses", Lists.newArrayList("02"));   //  愿�由ъ옄 議고쉶
         //  愿�由ъ옄 �젙蹂� �뀑�똿
         List<Map<String, Object>> projectRoleUsers = this.projectRoleUserService.findProjectRoleUser(projectRoleUserMap);
-
         if (projectRoleUsers != null && !projectRoleUsers.isEmpty()) {
             for (Map<String, Object> projectRoleUser : projectRoleUsers) {
                 UserVo userVo = ConvertUtil.convertMapToClass(projectRoleUser, UserVo.class);
@@ -407,7 +403,7 @@
             departsBuilder.append(issueDepartment.getDepartment().getDepartmentName());
             departsBuilder.append("\n");
         }
-        issueMap.put("departsBuilder", departsBuilder.toString());
+        issueMap.put("departments", departsBuilder.toString());
 
         //  湲곌컙
         if (!StringUtils.isEmpty(issue.getStartDate())) {
@@ -558,6 +554,8 @@
         //  Map �뿉 �엳�뒗 �뜲�씠�꽣瑜� IssueVo �뜲�씠�꽣濡� 蹂��솚�븳�떎.
         this.setMapToIssueVo(results, issueVos, issueCondition);
 
+        this.setCountDownIssues(results, issueVos);
+
         resJsonData.put(Constants.RES_KEY_CONTENTS, issueVos);
         resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(),
                 totalPage, totalCount));
@@ -566,6 +564,76 @@
         log.info(ElasticSearchUtil.makeUserActiveHistoryMessage(this.webAppUtil.getLoginUser(), ElasticSearchConstants.ISSUE_FIND));
         return issueVos;
     }
+
+    private 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){ //�긽�쐞�씠�뒋 媛�吏�怨� �엳�뒗 �븷�뱾�씠 �엳�쑝硫�
+                for(Issue downIssue : downIssues){
+                    Long parentIssueId = downIssue.getParentIssue().getId();
+                    int downIssueCount = 1;
+                    Issue parentIssue = this.getIssue(parentIssueId);
+                    IssueVo parentIssueVo = ConvertUtil.copyProperties(parentIssue, IssueVo.class);
+                    parentIssueVo.setDownIssueCount(downIssueCount);
+
+                    for(IssueVo issueVo : issueVos){
+                        if(issueVo.getId().equals(parentIssueVo.getId())){
+                            issueVo.setDownIssueCount(parentIssueVo.getDownIssueCount());
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+
+    //  �씠�뒋 紐⑸줉�쓣 議고쉶�븳�떎(李⑦듃�슜 - �뿰愿��씪媛먰룷�븿)
+    @Override
+    @Transactional(readOnly = true)
+    public void findApiIssue(ApiMonitorCondition apiMonitorCondition, Map<String, Object> resJsonData) {
+
+        IssueTypeCondition issueTypeCondition = new IssueTypeCondition();
+        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());
+
+        //  �궇吏쒓� 寃��깋�릺吏� �븡�븯�쑝硫� �삤瑜�
+        if (searchDates.size() < 1) {
+            throw new OwlRuntimeException(
+                    this.messageAccessor.getMessage(MsgConstants.WIDGET_SEARCH_DATE_NOT_FOUND));
+        }
+
+        Long index = 1L;
+        List<ApiMonitorVo> apiMonitorVos = Lists.newArrayList();
+        for (Date date : searchDates) {
+
+            String onlyDate = DateUtil.convertDateToYYYYMMDD(date);
+            issueTypeCondition.setStartDate(onlyDate + " 00:00:00");
+            issueTypeCondition.setEndDate(onlyDate + " 23:59:59");
+
+            ApiMonitorVo apiMonitorVo = new ApiMonitorVo();
+            apiMonitorVo.setId(index);
+            for (IssueTypeVo issueTypeVo : issueTypes) {
+                issueTypeCondition.setId(issueTypeVo.getId());
+                apiMonitorVo.addIssueTypeCount(this.issueMapper.countByIssueTypeIdAndDate(issueTypeCondition));
+                apiMonitorVo.setIsApi(Issue.IS_API_YES);
+
+                apiMonitorVos.add(apiMonitorVo);
+            }
+            index++;
+        }
+        Map<String, Object> data = new HashMap<>();
+        data.put("issueTypeVos", issueTypes);
+        data.put("apiMonitorVos", apiMonitorVos);
+        resJsonData.put(Constants.RES_KEY_CONTENTS, data);
+    }
+
 
     //  �씠�뒋 紐⑸줉�쓣 議고쉶�븳�떎(李⑦듃�슜 - �뿰愿��씪媛먰룷�븿)
     @Override
@@ -1897,15 +1965,11 @@
                         result.put("customField_" + issueCustomFieldValueVo.getCustomFieldVo().getId().toString(), useValue + ", " + issueCustomFieldValueVo.getUseValue());
                     }
                 }
-
-                //�뾽泥�, ISP, �샇�뒪�똿 異붽�
-
                 results.add(result);
             } catch (Exception e) {
                 log.error("�뿊�� �떎�슫濡쒕뱶 �삤瑜� 諛쒖깮");
             }
         }
-
         return results;
     }
 
@@ -2879,4 +2943,4 @@
             resJsonData.put(Constants.RES_KEY_CONTENTS, usePartnerVos);
         }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0