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 | 212 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 202 insertions(+), 10 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 0ecc5fb..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(); @@ -43,16 +48,28 @@ private List<Long> departmentIds = Lists.newArrayList(); private List<Long> registerIds = Lists.newArrayList(); private List<String> issueIds = Lists.newArrayList(); // �씠�뒋 紐⑸줉 寃��깋�뿉�꽌 �궗�슜�옄 �젙�쓽 �븘�뱶濡� 1李� 寃��깋�븳 寃곌낵瑜� �떞�쓣�븣 �궗�슜 - private List<String> userCustomFields = Lists.newArrayList(); private List<Map<String, Object>> issueCustomFields = Lists.newArrayList(); private List<Map<String, Object>> issueCompanyField = Lists.newArrayList(); private List<Map<String, Object>> issueIspField = Lists.newArrayList(); 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; @@ -60,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("-")) { @@ -132,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")); } @@ -142,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) { @@ -168,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() { @@ -251,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; } @@ -281,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() { @@ -455,11 +575,83 @@ this.parentIssueId = parentIssueId; } - public List<String> getUserCustomFields() { - return userCustomFields; + public String getUseValue() { + return useValue; } - public void setUserCustomFields(List<String> userCustomFields) { - this.userCustomFields = userCustomFields; + 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