| | |
| | | package kr.wisestone.owl.domain; |
| | | |
| | | import org.hibernate.annotations.DynamicInsert; |
| | | import org.hibernate.annotations.DynamicUpdate; |
| | | |
| | | import javax.persistence.*; |
| | | import java.io.Serializable; |
| | | import java.util.HashSet; |
| | |
| | | * Created by wisestone on 2018-01-03. |
| | | */ |
| | | @Entity |
| | | @DynamicInsert |
| | | @DynamicUpdate |
| | | public class Issue extends BaseEntity implements Serializable { |
| | | private static final long serialVersionUID = 1L; |
| | | public static final String WORKSPACE_MANAGER = "WORKSPACE_MANAGER"; // 업무 공간 관리자 |
| | | public static final String PROJECT_MANAGER = "PROJECT_MANAGER"; // 프로젝트 관리자 |
| | | public static final String ISSUE_MANAGER = "ISSUE_MANAGER"; // 전체 이슈 관리자 |
| | | public static final String REGISTER = "REGISTER"; // 이슈 등록자 |
| | | public static final String ASSIGNEE = "ASSIGNEE"; // 이슈 담당자 |
| | | public static final String DEPARTMENT = "DEPARTMENT"; // 이슈 담당부서 |
| | | |
| | | public static final String IS_API_YES = "Y"; |
| | | public static final String IS_API_NO = "N"; |
| | | |
| | | @Id |
| | | @GeneratedValue(strategy = GenerationType.IDENTITY) |
| | |
| | | private Long issueNumber; |
| | | private String startDate; |
| | | private String completeDate; |
| | | private String isApi; |
| | | |
| | | @ManyToOne(fetch=FetchType.LAZY) |
| | | @JoinColumn(name = "project_id") |
| | |
| | | private Set<IssueUser> issueUsers = new HashSet<>(); |
| | | |
| | | @OrderBy(value="id DESC") |
| | | @OneToMany(mappedBy = "issue", cascade = { CascadeType.ALL }, orphanRemoval = true) |
| | | private Set<IssueDepartment> issueDepartments = new HashSet<>(); |
| | | |
| | | @OrderBy(value="id DESC") |
| | | @OneToMany(mappedBy="issue", cascade={CascadeType.ALL}, orphanRemoval = true) |
| | | private Set<AttachedFile> attachedFiles = new HashSet<>(); |
| | | |
| | |
| | | private Set<IssueCustomFieldValue> issueCustomFieldValues = new HashSet<>(); |
| | | |
| | | @OneToMany(mappedBy = "issue", cascade = { CascadeType.ALL }, orphanRemoval = true) |
| | | private Set<IssueCompany> issueCompanies = new HashSet<>(); |
| | | |
| | | @OneToMany(mappedBy = "issue", cascade = { CascadeType.ALL }, orphanRemoval = true) |
| | | private Set<IssueIsp> issueIsps = new HashSet<>(); |
| | | |
| | | @OneToMany(mappedBy = "issue", cascade = { CascadeType.ALL }, orphanRemoval = true) |
| | | private Set<IssueHosting> issueHostings = new HashSet<>(); |
| | | |
| | | @OneToMany(mappedBy = "issue", cascade = { CascadeType.ALL }, orphanRemoval = true) |
| | | private Set<IssueVersion> issueVersions = new HashSet<>(); |
| | | |
| | | @OneToMany(mappedBy = "issue", cascade = { CascadeType.ALL }, orphanRemoval = true) |
| | |
| | | @ManyToOne(fetch=FetchType.LAZY) |
| | | @JoinColumn(name = "workflow_status_id") |
| | | private WorkflowStatus workflowStatus; |
| | | |
| | | @ManyToOne(fetch=FetchType.LAZY) |
| | | @JoinColumn(name = "parent_issue_id") |
| | | private Issue parentIssue; |
| | | |
| | | public Long getId() { |
| | | return id; |
| | |
| | | this.issueUsers = issueUsers; |
| | | } |
| | | |
| | | public Set<IssueDepartment> getIssueDepartments() { |
| | | return issueDepartments; |
| | | } |
| | | |
| | | public void setIssueDepartments(Set<IssueDepartment> issueDepartments) { |
| | | this.issueDepartments = issueDepartments; |
| | | } |
| | | |
| | | public void addIssueDepartment(IssueDepartment issueDepartment) { |
| | | this.issueDepartments.add(issueDepartment); |
| | | } |
| | | |
| | | public Set<AttachedFile> getAttachedFiles() { |
| | | return attachedFiles; |
| | | } |
| | |
| | | |
| | | public void setIssueCustomFieldValues(Set<IssueCustomFieldValue> issueCustomFieldValues) { |
| | | this.issueCustomFieldValues = issueCustomFieldValues; |
| | | } |
| | | |
| | | public Set<IssueCompany> getIssueCompanies() { |
| | | return issueCompanies; |
| | | } |
| | | |
| | | public void setIssueCompanies(Set<IssueCompany> issueCompanies) { |
| | | this.issueCompanies = issueCompanies; |
| | | } |
| | | |
| | | public Set<IssueIsp> getIssueIspFields() { |
| | | return issueIsps; |
| | | } |
| | | |
| | | public void setIssueIspFields(Set<IssueIsp> issueIsps) { |
| | | this.issueIsps = issueIsps; |
| | | } |
| | | |
| | | public Set<IssueHosting> getIssueHostingFields() { |
| | | return issueHostings; |
| | | } |
| | | |
| | | public void setIssueHostingFields(Set<IssueHosting> issueHostings) { |
| | | this.issueHostings = issueHostings; |
| | | } |
| | | |
| | | public String getStartDate() { |
| | |
| | | this.issueRelations.clear(); |
| | | } |
| | | |
| | | public Issue getParentIssue() { |
| | | return parentIssue; |
| | | } |
| | | |
| | | public void setParentIssue(Issue parentIssue) { |
| | | this.parentIssue = parentIssue; |
| | | } |
| | | |
| | | public String getIsApi() { |
| | | return isApi; |
| | | } |
| | | |
| | | public void setIsApi(String isApi) { |
| | | this.isApi = isApi; |
| | | } |
| | | } |