package kr.wisestone.owl.web.condition;
|
|
import com.google.common.collect.Lists;
|
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;
|
|
/**
|
* Created by wisestone on 2018-01-04.
|
*/
|
public class IssueCondition {
|
private Long id;
|
private String keyWord;
|
private String title;
|
private String description;
|
private String combinationIssueNumber;
|
private String projectKey;
|
private String issueNumber;
|
private String beginRegisterDate;
|
private String endRegisterDate;
|
private String beginStartDate;
|
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();
|
private List<Long> priorityIds = Lists.newArrayList();
|
private List<Long> severityIds = Lists.newArrayList();
|
private List<Long> userIds = Lists.newArrayList();
|
private List<Long> departmentIds = Lists.newArrayList();
|
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;
|
}
|
|
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("-")) {
|
String [] combinations = condition.getCombinationIssueNumber().split("-");
|
|
if (combinations.length > 0) {
|
condition.setProjectKey(combinations[0].trim());
|
if (combinations.length > 1) {
|
condition.setIssueNumber(combinations[1].trim());
|
}
|
}
|
}
|
else {
|
if (CommonUtil.isNumeric(condition.getCombinationIssueNumber())) {
|
condition.setIssueNumber(condition.getCombinationIssueNumber());
|
}
|
else {
|
condition.setProjectKey(condition.getCombinationIssueNumber());
|
}
|
}
|
}
|
|
if (MapUtil.getString(conditions, "name") != null) {
|
condition.setTitle(MapUtil.getString(conditions, "name"));
|
}
|
|
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"))) {
|
Date beginRegisterDate = DateUtil.convertStrToDate(MapUtil.getString(conditions, "beginRegisterDate"), "yy-MM-dd");
|
condition.setBeginRegisterDate(DateUtil.convertDateToStr(beginRegisterDate, "yyyy-MM-dd"));
|
}
|
|
if (StringUtils.hasText(MapUtil.getString(conditions, "endRegisterDate"))) {
|
Date endRegisterDate = DateUtil.addDays(DateUtil.convertStrToDate(MapUtil.getString(conditions, "endRegisterDate"), "yy-MM-dd"), 1);
|
condition.setEndRegisterDate(DateUtil.convertDateToStr(endRegisterDate, "yyyy-MM-dd"));
|
}
|
|
if (StringUtils.hasText(MapUtil.getString(conditions, "beginStartDate"))) {
|
Date beginStartDate = DateUtil.convertStrToDate(MapUtil.getString(conditions, "beginStartDate"), "yy-MM-dd");
|
condition.setBeginStartDate(DateUtil.convertDateToStr(beginStartDate, "yyyy-MM-dd"));
|
}
|
|
if (StringUtils.hasText(MapUtil.getString(conditions, "endStartDate"))) {
|
Date endStartDate = DateUtil.convertStrToDate(MapUtil.getString(conditions, "endStartDate"), "yy-MM-dd");
|
condition.setEndStartDate(DateUtil.convertDateToStr(endStartDate, "yyyy-MM-dd"));
|
}
|
|
if (StringUtils.hasText(MapUtil.getString(conditions, "beginCompleteDate"))) {
|
Date beginCompleteDate = DateUtil.convertStrToDate(MapUtil.getString(conditions, "beginCompleteDate"), "yy-MM-dd");
|
condition.setBeginCompleteDate(DateUtil.convertDateToStr(beginCompleteDate, "yyyy-MM-dd"));
|
}
|
|
if (StringUtils.hasText(MapUtil.getString(conditions, "endCompleteDate"))) {
|
Date endCompleteDate = DateUtil.convertStrToDate(MapUtil.getString(conditions, "endCompleteDate"), "yy-MM-dd");
|
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"));
|
}
|
|
if (MapUtil.getLongs(conditions, "issueStatusIds") != null) {
|
condition.setIssueStatusIds(MapUtil.getLongs(conditions, "issueStatusIds"));
|
}
|
|
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) {
|
condition.setPriorityIds(MapUtil.getLongs(conditions, "priorityIds"));
|
}
|
|
if (MapUtil.getLongs(conditions, "severityIds") != null) {
|
condition.setSeverityIds(MapUtil.getLongs(conditions, "severityIds"));
|
}
|
|
if (MapUtil.getLongs(conditions, "userIds") != null) {
|
condition.setUserIds(MapUtil.getLongs(conditions, "userIds"));
|
}
|
|
if (MapUtil.getLongs(conditions, "departmentIds") != null) {
|
condition.setDepartmentIds(MapUtil.getLongs(conditions, "departmentIds"));
|
}
|
|
if (MapUtil.getLongs(conditions, "registerIds") != null) {
|
condition.setRegisterIds(MapUtil.getLongs(conditions, "registerIds"));
|
}
|
|
if (MapUtil.getLongs(conditions, "excludeIds") != null) {
|
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() {
|
return id;
|
}
|
|
public void setId(Long id) {
|
this.id = id;
|
}
|
|
public String getTitle() {
|
return title;
|
}
|
|
public void setTitle(String title) {
|
this.title = title;
|
}
|
|
public String getDescription() {
|
return description;
|
}
|
|
public void setDescription(String description) {
|
this.description = description;
|
}
|
|
public String getCombinationIssueNumber() {
|
return combinationIssueNumber;
|
}
|
|
public void setCombinationIssueNumber(String combinationIssueNumber) {
|
this.combinationIssueNumber = combinationIssueNumber;
|
}
|
|
public String getProjectKey() {
|
return projectKey;
|
}
|
|
public void setProjectKey(String projectKey) {
|
this.projectKey = projectKey;
|
}
|
|
public String getIssueNumber() {
|
return issueNumber;
|
}
|
|
public void setIssueNumber(String issueNumber) {
|
this.issueNumber = issueNumber;
|
}
|
|
public String getBeginStartDate() {
|
return beginStartDate;
|
}
|
|
public void setBeginStartDate(String beginStartDate) {
|
this.beginStartDate = beginStartDate;
|
}
|
|
public String getEndStartDate() {
|
return endStartDate;
|
}
|
|
public void setEndStartDate(String endStartDate) {
|
this.endStartDate = endStartDate;
|
}
|
|
public String getBeginCompleteDate() {
|
return beginCompleteDate;
|
}
|
|
public void setBeginCompleteDate(String beginCompleteDate) {
|
this.beginCompleteDate = beginCompleteDate;
|
}
|
|
public String getEndCompleteDate() {
|
return endCompleteDate;
|
}
|
|
public void setEndCompleteDate(String endCompleteDate) {
|
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;
|
}
|
|
public void setPage(Integer page) {
|
this.page = page;
|
}
|
|
public Integer getPageSize() {
|
return pageSize;
|
}
|
|
public void setPageSize(Integer pageSize) {
|
this.pageSize = pageSize;
|
}
|
|
public Long getLoginUserId() {
|
return loginUserId;
|
}
|
|
public void setLoginUserId(Long loginUserId) {
|
this.loginUserId = loginUserId;
|
}
|
|
public String getDeep() {
|
return deep;
|
}
|
|
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() {
|
return projectIds;
|
}
|
|
public void addProjectIds(Long projectId) {
|
this.projectIds.add(projectId);
|
}
|
|
public void setProjectIds(List<Long> projectIds) {
|
this.projectIds = projectIds;
|
}
|
|
public List<Long> getIssueStatusIds() {
|
return issueStatusIds;
|
}
|
|
public void setIssueStatusIds(List<Long> issueStatusIds) {
|
this.issueStatusIds = issueStatusIds;
|
}
|
|
public List<Long> getIssueTypeIds() {
|
return issueTypeIds;
|
}
|
|
public void setIssueTypeIds(List<Long> issueTypeIds) {
|
this.issueTypeIds = issueTypeIds;
|
}
|
|
public void addIssueTypeIds(Long issueTypeId) {
|
this.issueTypeIds.add(issueTypeId);
|
}
|
|
public List<Long> getPriorityIds() {
|
return priorityIds;
|
}
|
|
public void setPriorityIds(List<Long> priorityIds) {
|
this.priorityIds = priorityIds;
|
}
|
|
public List<Long> getSeverityIds() {
|
return severityIds;
|
}
|
|
public void setSeverityIds(List<Long> severityIds) {
|
this.severityIds = severityIds;
|
}
|
|
public List<Long> getUserIds() {
|
return userIds;
|
}
|
|
public void setUserIds(List<Long> userIds) {
|
this.userIds = userIds;
|
}
|
|
public List<Long> getDepartmentIds() {
|
return departmentIds;
|
}
|
|
public void setDepartmentIds(List<Long> departmentIds) {
|
this.departmentIds = departmentIds;
|
}
|
|
public List<Long> getRegisterIds() {
|
return registerIds;
|
}
|
|
public void setRegisterIds(List<Long> registerIds) {
|
this.registerIds = registerIds;
|
}
|
|
public Long getWorkspaceId() {
|
return workspaceId;
|
}
|
|
public void setWorkspaceId(Long workspaceId) {
|
this.workspaceId = workspaceId;
|
}
|
|
public List<Map<String, Object>> getIssueCustomFields() {
|
return issueCustomFields;
|
}
|
|
public void setIssueCustomFields(List<Map<String, Object>> issueCustomFields) {
|
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;
|
}
|
|
public void setIssueIds(List<String> issueIds) {
|
this.issueIds = issueIds;
|
}
|
|
public void addIssueIds(String issueId) {
|
this.issueIds.add(issueId);
|
}
|
|
public String getBeginRegisterDate() {
|
return beginRegisterDate;
|
}
|
|
public void setBeginRegisterDate(String beginRegisterDate) {
|
this.beginRegisterDate = beginRegisterDate;
|
}
|
|
public String getEndRegisterDate() {
|
return endRegisterDate;
|
}
|
|
public void setEndRegisterDate(String endRegisterDate) {
|
this.endRegisterDate = endRegisterDate;
|
}
|
|
public String getProjectType() {
|
return projectType;
|
}
|
|
public void setProjectType(String projectType) {
|
this.projectType = projectType;
|
}
|
|
public void addStatusId(Long statusId) {
|
this.statusIds.add(statusId);
|
}
|
|
public List<Long> getStatusIds() {
|
return statusIds;
|
}
|
|
public List<Long> getExcludeIds() {
|
return excludeIds;
|
}
|
|
public void setExcludeIds(List<Long> excludeIds) {
|
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;
|
}
|
}
|