package kr.wisestone.owl.web.form;
|
|
import com.google.common.collect.Lists;
|
import kr.wisestone.owl.domain.Issue;
|
import kr.wisestone.owl.util.ConvertUtil;
|
import kr.wisestone.owl.util.MapUtil;
|
import kr.wisestone.owl.vo.CompanyFieldVo;
|
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* Created by wisestone on 2018-01-03.
|
*/
|
public class IssueForm implements Cloneable {
|
|
|
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<Long> userIds = Lists.newArrayList();
|
private List<Long> departmentIds = Lists.newArrayList(); // 담당 부서
|
private List<String> sendEmails = Lists.newArrayList(); // 이메일 발송 대상자
|
private String template;
|
private List<Long> attachedFileIds = Lists.newArrayList();
|
private Long relationIssue; // 연관 일감
|
private List<Map<String, Object>> issueCustomFields = Lists.newArrayList();
|
private List<Long> removeFiles = Lists.newArrayList();
|
private List<Long> removeIds = Lists.newArrayList();
|
private List<Long> ids = Lists.newArrayList(); // 이슈 다중 상태 변경에서 사용
|
private String comment; // 이슈 상태 변경에서 변경 사유를 입력할 때 사용
|
private List<Map<String, Object>> issueCompanyFields = Lists.newArrayList();
|
private List<Map<String, Object>> issueIspFields = Lists.newArrayList();
|
private List<Map<String, Object>> issueHostingFields = Lists.newArrayList();
|
//파트너 정보 직접추가
|
private String companyName;
|
private String companyManager;
|
private String companyTel;
|
private String companyUrl;
|
private String companyEmail;
|
private String companyMemo;
|
|
private String ispName;
|
private String ispCode;
|
private String ispManager;
|
private String ispTel;
|
private String ispUrl;
|
private String ispEmail;
|
private String ispMemo;
|
|
private String hostingName;
|
private String hostingCode;
|
private String hostingManager;
|
private String hostingTel;
|
private String hostingUrl;
|
private String hostingEmail;
|
private String hostingMemo;
|
|
private List<Map<String, Object>> files = Lists.newArrayList(); // api용 첨부파일
|
private Long parentIssueId; // 상위 이슈
|
private String isApi = Issue.IS_API_NO;
|
private List<String> downIssuesStatus = Lists.newArrayList(); //하위이슈 상태
|
|
public IssueForm() {
|
}
|
|
@Override
|
public IssueForm clone() throws CloneNotSupportedException {
|
return (IssueForm) super.clone();
|
}
|
|
public static IssueForm make(Map<String, Object> 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.getString(params, "template") != null) {
|
form.setTemplate(MapUtil.getString(params, "template"));
|
}
|
|
// 텍스트 에디터에 첨부된 파일을 이슈와 연결하는 정보
|
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"));
|
}
|
|
// 업체 필드 정보
|
if (MapUtil.getObject(params, "issueCompanyFields") != null){
|
form.setIssueCompanyFields((List)MapUtil.getObject(params, "issueCompanyFields"));
|
}
|
|
// ISP 필드 정보
|
if (MapUtil.getObject(params, "issueIspFields") != null){
|
form.setIssueIspFields((List)MapUtil.getObject(params, "issueIspFields"));
|
}
|
|
// HOSTING 필드 정보
|
if (MapUtil.getObject(params, "issueHostingFields") != null){
|
form.setIssueHostingFields((List)MapUtil.getObject(params, "issueHostingFields"));
|
}
|
|
// api 첨부파일
|
if (MapUtil.getObject(params, "files") != null){
|
form.setFiles((List)MapUtil.getObject(params, "files"));
|
}
|
|
// 하위이슈 상태
|
if (MapUtil.getObject(params, "downIssuesStatus") != null){
|
form.setDownIssuesStatus((List)MapUtil.getObject(params, "downIssuesStatus"));
|
}
|
|
if (MapUtil.getString(params, "companyName") != null) {
|
form.setCompanyName(MapUtil.getString(params, "companyName"));
|
}
|
if (MapUtil.getString(params, "companyManager") != null) {
|
form.setCompanyManager(MapUtil.getString(params, "companyManager"));
|
}
|
if (MapUtil.getString(params, "companyTel") != null) {
|
form.setCompanyTel(MapUtil.getString(params, "companyTel"));
|
}
|
if (MapUtil.getString(params, "companyUrl") != null) {
|
form.setCompanyUrl(MapUtil.getString(params, "companyUrl"));
|
}
|
if (MapUtil.getString(params, "companyEmail") != null) {
|
form.setCompanyEmail(MapUtil.getString(params, "companyEmail"));
|
}
|
if (MapUtil.getString(params, "companyMemo") != null) {
|
form.setCompanyMemo(MapUtil.getString(params, "companyMemo"));
|
}
|
|
if (MapUtil.getString(params, "ispName") != null) {
|
form.setIspName(MapUtil.getString(params, "ispName"));
|
}
|
if (MapUtil.getString(params, "ispCode") != null) {
|
form.setIspCode(MapUtil.getString(params, "ispCode"));
|
}
|
if (MapUtil.getString(params, "ispManager") != null) {
|
form.setIspManager(MapUtil.getString(params, "ispManager"));
|
}
|
if (MapUtil.getString(params, "ispTel") != null) {
|
form.setIspTel(MapUtil.getString(params, "ispTel"));
|
}
|
if (MapUtil.getString(params, "ispUrl") != null) {
|
form.setIspUrl(MapUtil.getString(params, "ispUrl"));
|
}
|
if (MapUtil.getString(params, "ispEmail") != null) {
|
form.setIspEmail(MapUtil.getString(params, "ispEmail"));
|
}
|
if (MapUtil.getString(params, "ispMemo") != null) {
|
form.setIspMemo(MapUtil.getString(params, "ispMemo"));
|
}
|
|
if (MapUtil.getString(params, "hostingName") != null) {
|
form.setHostingName(MapUtil.getString(params, "hostingName"));
|
}
|
if (MapUtil.getString(params, "hostingCode") != null) {
|
form.setHostingCode(MapUtil.getString(params, "hostingCode"));
|
}
|
if (MapUtil.getString(params, "hostingManager") != null) {
|
form.setHostingManager(MapUtil.getString(params, "hostingManager"));
|
}
|
if (MapUtil.getString(params, "hostingTel") != null) {
|
form.setHostingTel(MapUtil.getString(params, "hostingTel"));
|
}
|
if (MapUtil.getString(params, "hostingUrl") != null) {
|
form.setHostingUrl(MapUtil.getString(params, "hostingUrl"));
|
}
|
if (MapUtil.getString(params, "hostingEmail") != null) {
|
form.setHostingEmail(MapUtil.getString(params, "hostingEmail"));
|
}
|
if (MapUtil.getString(params, "hostingMemo") != null) {
|
form.setHostingMemo(MapUtil.getString(params, "hostingMemo"));
|
}
|
|
return form;
|
}
|
|
// 중복값으로 사용하는 사용자정의필드만 다시 설정
|
public void setUseIssueCustomFields(List<Long> useIssueCustomFields) {
|
List<Map<String, Object>> results = Lists.newArrayList();
|
|
for (Map<String, Object> customValue : this.getIssueCustomFields()) {
|
for (Long customFieldId : useIssueCustomFields) {
|
// Map<String, Object> customFieldVo = (Map<String, Object>)MapUtil.getObject(customValue, "customFieldVo");
|
if (customFieldId.equals(MapUtil.getLong(customValue, "customFieldId"))) {
|
results.add(customValue);
|
}
|
}
|
}
|
|
this.setIssueCustomFields(results);
|
}
|
|
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<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 void addDepartmentId(Long departmentId) {
|
if (this.departmentIds != null) {
|
this.departmentIds.add(departmentId);
|
}
|
}
|
|
public List<Long> getRemoveFiles() {
|
return removeFiles;
|
}
|
|
public void setRemoveFiles(List<Long> removeFiles) {
|
this.removeFiles = removeFiles;
|
}
|
|
public List<Map<String, Object>> getIssueCustomFields() {
|
return issueCustomFields;
|
}
|
|
public void setIssueCustomFields(List<Map<String, Object>> issueCustomFields) {
|
this.issueCustomFields = issueCustomFields;
|
}
|
|
public void addIssueCustomFields(Map<String, Object> issueCustomField) {
|
this.issueCustomFields.add(issueCustomField);
|
}
|
|
public List<Long> getRemoveIds() {
|
return removeIds;
|
}
|
|
public void setRemoveIds(List<Long> removeIds) {
|
this.removeIds = removeIds;
|
}
|
|
public List<Long> getAttachedFileIds() {
|
return attachedFileIds;
|
}
|
|
public void setAttachedFileIds(List<Long> 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<Long> getIds() {
|
return ids;
|
}
|
|
public void setIds(List<Long> ids) {
|
this.ids = ids;
|
}
|
|
public List<String> getSendEmails() {
|
return sendEmails;
|
}
|
|
public void setSendEmails(List<String> sendEmails) {
|
this.sendEmails = sendEmails;
|
}
|
|
public String getComment() {
|
return comment;
|
}
|
|
public void setComment(String comment) {
|
this.comment = comment;
|
}
|
|
public List<Map<String, Object>> getIssueCompanyFields() {
|
return issueCompanyFields;
|
}
|
|
public void setIssueCompanyFields(List<Map<String, Object>> issueCompanyFields) {
|
this.issueCompanyFields = issueCompanyFields;
|
}
|
|
public void addissueCompanyField(Map<String, Object> issueCompanyFields) {
|
this.issueCompanyFields.add(issueCompanyFields);
|
}
|
|
public List<Map<String, Object>> getIssueIspFields() {
|
return issueIspFields;
|
}
|
|
public void setIssueIspFields(List<Map<String, Object>> issueIspFields) {
|
this.issueIspFields = issueIspFields;
|
}
|
|
public void addIssueIspField(Map<String, Object> issueIspFields) {
|
this.issueIspFields.add(issueIspFields);
|
}
|
|
public List<Map<String, Object>> getIssueHostingFields() {
|
return issueHostingFields;
|
}
|
|
public void setIssueHostingFields(List<Map<String, Object>> issueHostingFields) {
|
this.issueHostingFields = issueHostingFields;
|
}
|
|
public void addIssueHostingField(Map<String, Object> issueHostingFields) {
|
this.issueHostingFields.add(issueHostingFields);
|
}
|
|
public Long getParentIssueId() {
|
return parentIssueId;
|
}
|
|
public void setParentIssueId(Long parentIssueId) {
|
this.parentIssueId = parentIssueId;
|
}
|
|
public String getIsApi() {
|
return isApi;
|
}
|
|
public void setIsApi(String isApi) {
|
this.isApi = isApi;
|
}
|
|
public List<Map<String, Object>> getFiles() {
|
return files;
|
}
|
|
public void setFiles(List<Map<String, Object>> files) {
|
this.files = files;
|
}
|
|
public String getTemplate() {
|
return template;
|
}
|
|
public void setTemplate(String template) {
|
this.template = template;
|
}
|
|
public List<String> getDownIssuesStatus() {
|
return downIssuesStatus;
|
}
|
|
public void setDownIssuesStatus(List<String> downIssuesStatus) {
|
this.downIssuesStatus = downIssuesStatus;
|
}
|
|
public String getCompanyName() {
|
return companyName;
|
}
|
|
public void setCompanyName(String companyName) {
|
this.companyName = companyName;
|
}
|
|
public String getCompanyManager() {
|
return companyManager;
|
}
|
|
public void setCompanyManager(String companyManager) {
|
this.companyManager = companyManager;
|
}
|
|
public String getCompanyTel() {
|
return companyTel;
|
}
|
|
public void setCompanyTel(String companyTel) {
|
this.companyTel = companyTel;
|
}
|
|
public String getCompanyUrl() {
|
return companyUrl;
|
}
|
|
public void setCompanyUrl(String companyUrl) {
|
this.companyUrl = companyUrl;
|
}
|
|
public String getCompanyEmail() {
|
return companyEmail;
|
}
|
|
public void setCompanyEmail(String companyEmail) {
|
this.companyEmail = companyEmail;
|
}
|
|
public String getCompanyMemo() {
|
return companyMemo;
|
}
|
|
public void setCompanyMemo(String companyMemo) {
|
this.companyMemo = companyMemo;
|
}
|
|
public String getIspName() {
|
return ispName;
|
}
|
|
public void setIspName(String ispName) {
|
this.ispName = ispName;
|
}
|
|
public String getIspCode() {
|
return ispCode;
|
}
|
|
public void setIspCode(String ispCode) {
|
this.ispCode = ispCode;
|
}
|
|
public String getIspManager() {
|
return ispManager;
|
}
|
|
public void setIspManager(String ispManager) {
|
this.ispManager = ispManager;
|
}
|
|
public String getIspTel() {
|
return ispTel;
|
}
|
|
public void setIspTel(String ispTel) {
|
this.ispTel = ispTel;
|
}
|
|
public String getIspUrl() {
|
return ispUrl;
|
}
|
|
public void setIspUrl(String ispUrl) {
|
this.ispUrl = ispUrl;
|
}
|
|
public String getIspEmail() {
|
return ispEmail;
|
}
|
|
public void setIspEmail(String ispEmail) {
|
this.ispEmail = ispEmail;
|
}
|
|
public String getIspMemo() {
|
return ispMemo;
|
}
|
|
public void setIspMemo(String ispMemo) {
|
this.ispMemo = ispMemo;
|
}
|
|
public String getHostingName() {
|
return hostingName;
|
}
|
|
public void setHostingName(String hostingName) {
|
this.hostingName = hostingName;
|
}
|
|
public String getHostingCode() {
|
return hostingCode;
|
}
|
|
public void setHostingCode(String hostingCode) {
|
this.hostingCode = hostingCode;
|
}
|
|
public String getHostingManager() {
|
return hostingManager;
|
}
|
|
public void setHostingManager(String hostingManager) {
|
this.hostingManager = hostingManager;
|
}
|
|
public String getHostingTel() {
|
return hostingTel;
|
}
|
|
public void setHostingTel(String hostingTel) {
|
this.hostingTel = hostingTel;
|
}
|
|
public String getHostingUrl() {
|
return hostingUrl;
|
}
|
|
public void setHostingUrl(String hostingUrl) {
|
this.hostingUrl = hostingUrl;
|
}
|
|
public String getHostingEmail() {
|
return hostingEmail;
|
}
|
|
public void setHostingEmail(String hostingEmail) {
|
this.hostingEmail = hostingEmail;
|
}
|
|
public String getHostingMemo() {
|
return hostingMemo;
|
}
|
|
public void setHostingMemo(String hostingMemo) {
|
this.hostingMemo = hostingMemo;
|
}
|
}
|