From 71a5ce92795fb1a4fbff5fceab8135ec98a691e5 Mon Sep 17 00:00:00 2001
From: 박지현 <jhpark@maprex.co.kr>
Date: 월, 07 3월 2022 18:07:52 +0900
Subject: [PATCH] 이슈 목록 조회 방식 - 전체이슈 보기 / 상위 이슈만 보기 / 하위 이슈만 보기로 수정

---
 src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java |  211 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 206 insertions(+), 5 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java b/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java
index 2399de7..5f9c6f5 100644
--- a/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java
+++ b/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java
@@ -1,12 +1,12 @@
 package kr.wisestone.owl.web.condition;
 
 import com.google.common.collect.Lists;
-import kr.wisestone.owl.util.CommonUtil;
-import kr.wisestone.owl.util.ConvertUtil;
-import kr.wisestone.owl.util.DateUtil;
-import kr.wisestone.owl.util.MapUtil;
+import kr.wisestone.owl.util.*;
+import kr.wisestone.owl.vo.PageVo;
+import org.springframework.data.domain.Pageable;
 import org.springframework.util.StringUtils;
 
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -16,6 +16,7 @@
  */
 public class IssueCondition {
     private Long id;
+    private String keyWord;
     private String title;
     private String description;
     private String combinationIssueNumber;
@@ -27,13 +28,17 @@
     private String endStartDate;
     private String beginCompleteDate;
     private String endCompleteDate;
+    private String beginDateRange;
+    private String endDateRange;
     private Integer page;
     private Integer pageSize;
     private Long loginUserId;
     private Long workspaceId;
     private String projectType;
     private String deep;
+    private String isApi;
     private Long parentIssueId;     // �긽�쐞 �씪媛�
+    private String useValue;
     private List<Long> projectIds = Lists.newArrayList();
     private List<Long> issueStatusIds = Lists.newArrayList();
     private List<Long> issueTypeIds = Lists.newArrayList();
@@ -49,9 +54,22 @@
     private List<Map<String, Object>> issueHostingField = Lists.newArrayList();
     private List<Long> statusIds = Lists.newArrayList();
     private List<Long> excludeIds = Lists.newArrayList();
-
+    private List<Long> myDepartmentIds; // �궡媛� �냽�빐�엳�뒗 遺��꽌 ID
+    private Boolean hideDownIssue;
+    private Boolean hideCompleteIssue;
+    private Boolean isTree; // �듃由ш뎄議� 紐⑤뱶 �씪�븣
+    private Pageable relPageable;
+    private Pageable downPageable;
+    private Boolean allIssue; // �셿猷뚮맂 �씠�뒋源뚯� 蹂댁뿬以꾩� �뿬遺�
+    private Long issueTypeId;
+    private Boolean parentYN;   //�긽�쐞�씠�뒋留� 議고쉶 �뿬遺�
 
     public IssueCondition(){}
+
+    public IssueCondition(Long issueId, Long parentIssueId){
+        this.id = issueId;
+        this.parentIssueId = parentIssueId;
+    }
     //  ���떆蹂대뱶 �쐞湲곌�由� �쐞�젽�뿉�꽌 �궗�슜
     public IssueCondition(List<String> issueIds){
         this.issueIds = issueIds;
@@ -59,6 +77,20 @@
 
     public static IssueCondition make(Map<String, Object> conditions) {
         IssueCondition condition = ConvertUtil.convertMapToClass(conditions, IssueCondition.class);
+        Map<String, Object> pageContents = (Map<String, Object>) conditions.get("pageContent");
+        if (pageContents != null) {
+            PageVo downPageVo = new PageVo();
+            downPageVo.setPage(MapUtil.getInteger(pageContents, "downPage"));
+            downPageVo.setPageSize(MapUtil.getInteger(pageContents, "downPageSize"));
+
+            PageVo relPageVo = new PageVo();
+            relPageVo.setPage(MapUtil.getInteger(pageContents, "relPage"));
+            relPageVo.setPageSize(MapUtil.getInteger(pageContents, "relPageSize"));
+
+            PageUtil pageUtil = new PageUtil();
+            condition.setRelPageable(pageUtil.convertPageable(relPageVo));
+            condition.setDownPageable(pageUtil.convertPageable(downPageVo));
+        }
 
         if (!StringUtils.isEmpty(condition.getCombinationIssueNumber())) {
             if (condition.getCombinationIssueNumber().contains("-")) {
@@ -131,6 +163,18 @@
             condition.setEndCompleteDate(DateUtil.convertDateToStr(endCompleteDate, "yyyy-MM-dd"));
         }
 
+        if (StringUtils.hasText(MapUtil.getString(conditions, "dateRange"))) {
+            String dateRange = MapUtil.getString(conditions, "dateRange");
+            if (!StringUtils.isEmpty(dateRange)) {
+                List<String> date = Arrays.asList(dateRange.split("~"));
+
+                Date beginDateRange = DateUtil.convertStrToDate(date.get(0).trim(), "yy-MM-dd");
+                condition.setBeginDateRange(DateUtil.convertDateToStr(beginDateRange, "yyyy-MM-dd"));
+                Date endDateRange = DateUtil.convertStrToDate(date.get(1).trim(), "yy-MM-dd");
+                condition.setEndDateRange(DateUtil.convertDateToStr(endDateRange, "yyyy-MM-dd"));
+            }
+        }
+
         if (MapUtil.getLongs(conditions, "projectIds") != null) {
             condition.setProjectIds(MapUtil.getLongs(conditions, "projectIds"));
         }
@@ -141,6 +185,10 @@
 
         if (MapUtil.getLongs(conditions, "issueTypeIds") != null) {
             condition.setIssueTypeIds(MapUtil.getLongs(conditions, "issueTypeIds"));
+        }
+
+        if (MapUtil.getLong(conditions, "issueTypeId") != null) {
+            condition.setIssueTypeId(MapUtil.getLong(conditions, "issueTypeId"));
         }
 
         if (MapUtil.getLongs(conditions, "priorityIds") != null) {
@@ -167,7 +215,56 @@
             condition.setExcludeIds(MapUtil.getLongs(conditions, "excludeIds"));
         }
 
+        if (MapUtil.getLong(conditions, "issueId") != null) {
+            condition.setId(MapUtil.getLong(conditions, "issueId"));
+        }
+
+
+        if (MapUtil.getInteger(conditions, "hideDownIssue") != null) {
+            int hideDownIssue = MapUtil.getInteger(conditions, "hideDownIssue");
+            if(MapUtil.getBoolean(conditions, "isTree") != null && !MapUtil.getBoolean(conditions, "isTree")){
+                switch (hideDownIssue){
+                    case 0 : // �씠�뒋 紐⑤몢 蹂댁뿬二쇨린
+                        condition.setHideDownIssue(false);
+                        condition.setParentYN(true);
+                        break;
+                    case 1 : // �긽�쐞�씠�뒋留� 蹂댁뿬二쇨린
+                        condition.setHideDownIssue(true);
+                        condition.setParentYN(true);
+                        break;
+                    case 2 : // �븯�쐞�씠�뒋留� 蹂댁뿬二쇨린
+                        condition.setHideDownIssue(false);
+                        condition.setParentYN(false);
+                        break;
+                }
+            }else if(MapUtil.getBoolean(conditions, "isTree")) {
+                condition.setHideDownIssue(false);
+            }
+        }
+
+        if (MapUtil.getBoolean(conditions, "hideCompleteIssue") != null) {
+            condition.setHideCompleteIssue(MapUtil.getBoolean(conditions, "hideCompleteIssue"));
+        }
+
+        if (MapUtil.getBoolean(conditions, "isTree") != null) {
+            condition.setTree(MapUtil.getBoolean(conditions, "isTree"));
+        } else {
+            condition.setTree(false);
+        }
+
+        if (MapUtil.getBoolean(conditions, "parentYN") != null && MapUtil.getBoolean(conditions, "parentYN")) {
+            condition.setParentYN(true);
+        }
+
         return condition;
+    }
+
+    public String getKeyWord() {
+        return keyWord;
+    }
+
+    public void setKeyWord(String keyWord) {
+        this.keyWord = keyWord;
     }
 
     public Long getId() {
@@ -250,6 +347,22 @@
         this.endCompleteDate = endCompleteDate;
     }
 
+    public String getBeginDateRange() {
+        return beginDateRange;
+    }
+
+    public void setBeginDateRange(String beginDateRange) {
+        this.beginDateRange = beginDateRange;
+    }
+
+    public String getEndDateRange() {
+        return endDateRange;
+    }
+
+    public void setEndDateRange(String endDateRange) {
+        this.endDateRange = endDateRange;
+    }
+
     public Integer getPage() {
         return page;
     }
@@ -280,6 +393,14 @@
 
     public void setDeep(String deep) {
         this.deep = deep;
+    }
+
+    public String getIsApi() {
+        return isApi;
+    }
+
+    public void setIsApi(String isApi) {
+        this.isApi = isApi;
     }
 
     public List<Long> getProjectIds() {
@@ -453,4 +574,84 @@
     public void setParentIssueId(Long parentIssueId) {
         this.parentIssueId = parentIssueId;
     }
+
+    public String getUseValue() {
+        return useValue;
+    }
+
+    public void setUseValue(String useValue) {
+        this.useValue = useValue;
+    }
+
+    public List<Long> getMyDepartmentIds() {
+        return myDepartmentIds;
+    }
+
+    public void setMyDepartmentIds(List<Long> myDepartmentIds) {
+        this.myDepartmentIds = myDepartmentIds;
+    }
+
+    public Boolean getHideDownIssue() {
+        return hideDownIssue;
+    }
+
+    public void setHideDownIssue(Boolean hideDownIssue) {
+        this.hideDownIssue = hideDownIssue;
+    }
+
+    public Boolean getHideCompleteIssue() {
+        return hideCompleteIssue;
+    }
+
+    public void setHideCompleteIssue(Boolean hideCompleteIssue) {
+        this.hideCompleteIssue = hideCompleteIssue;
+    }
+
+    public Boolean getTree() {
+        return isTree;
+    }
+
+    public void setTree(Boolean tree) {
+        isTree = tree;
+    }
+
+    public Pageable getRelPageable() {
+        return relPageable;
+    }
+
+    public void setRelPageable(Pageable relPageable) {
+        this.relPageable = relPageable;
+    }
+
+    public Pageable getDownPageable() {
+        return downPageable;
+    }
+
+    public void setDownPageable(Pageable downPageable) {
+        this.downPageable = downPageable;
+    }
+
+    public Boolean getAllIssue() {
+        return allIssue;
+    }
+
+    public void setAllIssue(Boolean allIssue) {
+        this.allIssue = allIssue;
+    }
+
+    public Long getIssueTypeId() {
+        return issueTypeId;
+    }
+
+    public void setIssueTypeId(Long issueTypeId) {
+        this.issueTypeId = issueTypeId;
+    }
+
+    public Boolean getParentYN() {
+        return parentYN;
+    }
+
+    public void setParentYN(Boolean parentYN) {
+        this.parentYN = parentYN;
+    }
 }

--
Gitblit v1.8.0