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 | 258 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 253 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 9c40ce3..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,12 +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,11 +49,27 @@ private List<Long> registerIds = Lists.newArrayList(); private List<String> issueIds = Lists.newArrayList(); // �씠�뒋 紐⑸줉 寃��깋�뿉�꽌 �궗�슜�옄 �젙�쓽 �븘�뱶濡� 1李� 寃��깋�븳 寃곌낵瑜� �떞�쓣�븣 �궗�슜 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; @@ -55,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("-")) { @@ -83,6 +119,18 @@ if (MapUtil.getObject(conditions, "issueCustomFields") != null) { condition.setIssueCustomFields((List)MapUtil.getObject(conditions, "issueCustomFields")); + } + + if (MapUtil.getObject(conditions, "issueCompanyField") != null) { + condition.setIssueCompanyField((List)MapUtil.getObject(conditions, "issueCompanyField")); + } + + if (MapUtil.getObject(conditions, "issueIspField") != null) { + condition.setIssueIspField((List)MapUtil.getObject(conditions, "issueIspField")); + } + + if (MapUtil.getObject(conditions, "issueHostingField") != null) { + condition.setIssueHostingField((List)MapUtil.getObject(conditions, "issueHostingField")); } if (StringUtils.hasText(MapUtil.getString(conditions, "beginRegisterDate"))) { @@ -115,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")); } @@ -125,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) { @@ -151,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() { @@ -234,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; } @@ -264,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() { @@ -354,6 +491,30 @@ this.issueCustomFields = issueCustomFields; } + public List<Map<String, Object>> getIssueCompanyField() { + return issueCompanyField; + } + + public void setIssueCompanyField(List<Map<String, Object>> issueCompanyField) { + this.issueCompanyField = issueCompanyField; + } + + public List<Map<String, Object>> getIssueIspField() { + return issueIspField; + } + + public void setIssueIspField(List<Map<String, Object>> issueIspField) { + this.issueIspField = issueIspField; + } + + public List<Map<String, Object>> getIssueHostingField() { + return issueHostingField; + } + + public void setIssueHostingField(List<Map<String, Object>> issueHostingField) { + this.issueHostingField = issueHostingField; + } + public List<String> getIssueIds() { return issueIds; } @@ -406,4 +567,91 @@ this.excludeIds = excludeIds; } + public Long getParentIssueId() { + return parentIssueId; + } + + 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