| | |
| | | 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 kr.wisestone.owl.vo.CompanyFieldVo; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * Created by wisestone on 2018-01-03. |
| | | */ |
| | | public class IssueForm { |
| | | public class IssueForm implements Cloneable { |
| | | |
| | | |
| | | private Long id; |
| | | private Long projectId; |
| | | private Long issueStatusId; |
| | |
| | | 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> removeIds = Lists.newArrayList(); |
| | | private List<Long> ids = Lists.newArrayList(); // 이슈 다중 상태 변경에서 사용 |
| | | private String comment; // 이슈 상태 변경에서 변경 사유를 입력할 때 사용 |
| | | private Long companyId; //업체필드 |
| | | private Long ispId; //ISP필드 |
| | | private Long hostingId; //호스팅필드 |
| | | 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 List<Map<String, Object>> files = Lists.newArrayList(); // api용 첨부파일 |
| | | private Long parentIssueId; // 상위 이슈 |
| | | private String isApi; |
| | | |
| | | public IssueForm() { |
| | | } |
| | | |
| | | @Override |
| | | public IssueForm clone() throws CloneNotSupportedException { |
| | | return (IssueForm) super.clone(); |
| | | } |
| | | |
| | | public static IssueForm make(Map<String, Object> params) { |
| | |
| | | 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.getLongs(params, "companyFieldId") != null){ |
| | | form.setCompanyId(MapUtil.getLong(params, "companyFieldId")); |
| | | if (MapUtil.getObject(params, "issueCompanyFields") != null){ |
| | | form.setIssueCompanyFields((List)MapUtil.getObject(params, "issueCompanyFields")); |
| | | } |
| | | |
| | | // ISP 필드 정보 |
| | | if (MapUtil.getLongs(params, "ispFieldId") != null){ |
| | | form.setIspId(MapUtil.getLong(params, "ispFieldId")); |
| | | if (MapUtil.getObject(params, "issueIspFields") != null){ |
| | | form.setIssueIspFields((List)MapUtil.getObject(params, "issueIspFields")); |
| | | } |
| | | |
| | | // HOSTING 필드 정보 |
| | | if (MapUtil.getLongs(params, "hostingFieldId") != null){ |
| | | form.setHostingId(MapUtil.getLong(params, "hostingFieldId")); |
| | | 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")); |
| | | } |
| | | 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() { |
| | |
| | | this.departmentIds = departmentIds; |
| | | } |
| | | |
| | | public void addDepartmentId(Long departmentId) { |
| | | if (this.departmentIds != null) { |
| | | this.departmentIds.add(departmentId); |
| | | } |
| | | } |
| | | |
| | | public List<Long> getRemoveFiles() { |
| | | return removeFiles; |
| | | } |
| | |
| | | this.comment = comment; |
| | | } |
| | | |
| | | public Long getCompanyId() { |
| | | return companyId; |
| | | public List<Map<String, Object>> getIssueCompanyFields() { |
| | | return issueCompanyFields; |
| | | } |
| | | |
| | | public void setCompanyId(Long companyId) { |
| | | this.companyId = companyId; |
| | | public void setIssueCompanyFields(List<Map<String, Object>> issueCompanyFields) { |
| | | this.issueCompanyFields = issueCompanyFields; |
| | | } |
| | | |
| | | public Long getIspId() { |
| | | return ispId; |
| | | public void addissueCompanyField(Map<String, Object> issueCompanyFields) { |
| | | this.issueCompanyFields.add(issueCompanyFields); |
| | | } |
| | | |
| | | public void setIspId(Long ispId) { |
| | | this.ispId = ispId; |
| | | public List<Map<String, Object>> getIssueIspFields() { |
| | | return issueIspFields; |
| | | } |
| | | |
| | | public Long getHostingId() { |
| | | return hostingId; |
| | | public void setIssueIspFields(List<Map<String, Object>> issueIspFields) { |
| | | this.issueIspFields = issueIspFields; |
| | | } |
| | | |
| | | public void setHostingId(Long hostingId) { |
| | | this.hostingId = hostingId; |
| | | 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() { |
| | |
| | | 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; |
| | | } |
| | | } |