package kr.wisestone.owl.web.form; import com.google.common.collect.Lists; import kr.wisestone.owl.domain.enumType.IssueModifyType; import kr.wisestone.owl.util.ConvertUtil; import kr.wisestone.owl.util.DateUtil; import kr.wisestone.owl.util.MapUtil; import org.springframework.util.StringUtils; import java.util.Date; import java.util.List; import java.util.Map; /** * Created by wisestone on 2018-01-03. */ public class IssueForm { private Long id; private Long projectId; private Long issueStatusId; private Long issueTypeId; private Long priorityId; private Long severityId; private String title; private String description; private String startDate; private String completeDate; private Long issueNumber; private Long registerId; // 등록자 아이디 - issue insert batch 에서 사용 private List userIds = Lists.newArrayList(); private List departmentIds = Lists.newArrayList(); // 담당 부서 private List sendEmails = Lists.newArrayList(); // 이메일 발송 대상자 private List attachedFileIds = Lists.newArrayList(); private Long relationIssue; // 연관 일감 private List> issueCustomFields = Lists.newArrayList(); private List removeFiles = Lists.newArrayList(); private List removeIds = Lists.newArrayList(); private List ids = Lists.newArrayList(); // 이슈 다중 상태 변경에서 사용 private String comment; // 이슈 상태 변경에서 변경 사유를 입력할 때 사용 public IssueForm() { } public static IssueForm make(Map params) { IssueForm form = ConvertUtil.convertMapToClass(params, IssueForm.class); // 시작일 ~ 종료일 String startCompleteDateRange = MapUtil.getString(params, "startCompleteDateRange"); if (startCompleteDateRange != null) { String[] taskPeriod = startCompleteDateRange.split("~"); form.setStartDate(taskPeriod[0].trim()); form.setCompleteDate(taskPeriod[1].trim()); } // 담당자 정보 if (MapUtil.getLongs(params, "userIds") != null) { form.setUserIds(MapUtil.getLongs(params, "userIds")); } // 담당부서 정보 if (MapUtil.getLongs(params, "departmentIds") != null) { form.setDepartmentIds(MapUtil.getLongs(params, "departmentIds")); } // 메일 발송자 정보 if (MapUtil.getStrings(params, "sendEmails") != null) { form.setSendEmails(MapUtil.getStrings(params, "sendEmails")); } // 텍스트 에디터에 첨부된 파일을 이슈와 연결하는 정보 if (MapUtil.getLongs(params, "attachedFileIds") != null) { form.setAttachedFileIds(MapUtil.getLongs(params, "attachedFileIds")); } // 사용자 정의 필드 정보 if (MapUtil.getObject(params, "issueCustomFields") != null) { form.setIssueCustomFields((List)MapUtil.getObject(params, "issueCustomFields")); } // 삭제 첨부 파일 정보 if (MapUtil.getLongs(params, "removeFiles") != null) { form.setRemoveFiles(MapUtil.getLongs(params, "removeFiles")); } // 삭제 이슈 정보 if (MapUtil.getLongs(params, "removeIds") != null) { form.setRemoveIds(MapUtil.getLongs(params, "removeIds")); } // 다중 상태 변경에서 이슈 아이디 if (MapUtil.getLongs(params, "ids") != null) { form.setIds(MapUtil.getLongs(params, "ids")); } return form; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getProjectId() { return projectId; } public void setProjectId(Long projectId) { this.projectId = projectId; } public Long getRelationIssue() { return this.relationIssue; } public void setRelationIssue(Long issues) { this.relationIssue = issues; } public Long getIssueStatusId() { return issueStatusId; } public void setIssueStatusId(Long issueStatusId) { this.issueStatusId = issueStatusId; } public Long getIssueTypeId() { return issueTypeId; } public void setIssueTypeId(Long issueTypeId) { this.issueTypeId = issueTypeId; } public Long getPriorityId() { return priorityId; } public void setPriorityId(Long priorityId) { this.priorityId = priorityId; } public Long getSeverityId() { return severityId; } public void setSeverityId(Long severityId) { this.severityId = severityId; } 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 getStartDate() { return startDate; } public void setStartDate(String startDate) { this.startDate = startDate; } public String getCompleteDate() { return completeDate; } public void setCompleteDate(String completeDate) { this.completeDate = completeDate; } public List getUserIds() { return userIds; } public void setUserIds(List userIds) { this.userIds = userIds; } public List getDepartmentIds() { return departmentIds; } public void setDepartmentIds(List departmentIds) { this.departmentIds = departmentIds; } public List getRemoveFiles() { return removeFiles; } public void setRemoveFiles(List removeFiles) { this.removeFiles = removeFiles; } public List> getIssueCustomFields() { return issueCustomFields; } public void setIssueCustomFields(List> issueCustomFields) { this.issueCustomFields = issueCustomFields; } public void addIssueCustomFields(Map issueCustomField) { this.issueCustomFields.add(issueCustomField); } public List getRemoveIds() { return removeIds; } public void setRemoveIds(List removeIds) { this.removeIds = removeIds; } public List getAttachedFileIds() { return attachedFileIds; } public void setAttachedFileIds(List attachedFileIds) { this.attachedFileIds = attachedFileIds; } public Long getIssueNumber() { return issueNumber; } public void setIssueNumber(Long issueNumber) { this.issueNumber = issueNumber; } public Long getRegisterId() { return registerId; } public void setRegisterId(Long registerId) { this.registerId = registerId; } public List getIds() { return ids; } public void setIds(List ids) { this.ids = ids; } public List getSendEmails() { return sendEmails; } public void setSendEmails(List sendEmails) { this.sendEmails = sendEmails; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } }