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;
|
import java.util.Set;
|
|
/**
|
* 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 id;
|
private String title;
|
private String description;
|
private Long reverseIndex;
|
private Long issueNumber;
|
private String startDate;
|
private String completeDate;
|
private String isApi;
|
|
@ManyToOne(fetch=FetchType.LAZY)
|
@JoinColumn(name = "project_id")
|
private Project project;
|
|
@ManyToOne(fetch=FetchType.LAZY)
|
@JoinColumn(name = "issue_status_id")
|
private IssueStatus issueStatus;
|
|
@ManyToOne(fetch=FetchType.LAZY)
|
@JoinColumn(name = "issue_type_id")
|
private IssueType issueType;
|
|
@ManyToOne(fetch=FetchType.LAZY)
|
@JoinColumn(name = "priority_id")
|
private Priority priority;
|
|
@ManyToOne(fetch=FetchType.LAZY)
|
@JoinColumn(name = "severity_id")
|
private Severity severity;
|
|
@OneToOne(mappedBy = "issue", cascade = {CascadeType.ALL}, orphanRemoval = true)
|
private IssueRisk issueRisk;
|
|
@OrderBy(value="id DESC")
|
@OneToMany(mappedBy = "issue", cascade = { CascadeType.ALL }, orphanRemoval = true)
|
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<>();
|
|
@OneToMany(mappedBy = "issue", cascade = { CascadeType.ALL }, orphanRemoval = true)
|
private Set<UserLikeIssue> userLikeIssues = new HashSet<>();
|
|
// 이력은 삭제 금지
|
@OrderBy(value="id DESC")
|
@OneToMany(mappedBy="issue", cascade={CascadeType.ALL}, orphanRemoval = true)
|
private Set<IssueHistory> issueHistory = new HashSet<>();
|
|
@OneToMany(mappedBy="issue", cascade={CascadeType.ALL}, orphanRemoval = true)
|
@OrderBy(value="id DESC")
|
private Set<IssueComment> issueComments = new HashSet<>();
|
|
@OneToMany(mappedBy = "issue", cascade = { CascadeType.ALL }, orphanRemoval = true)
|
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)
|
private Set<IssueRelation> issueRelations = new HashSet<>();
|
|
@OneToOne(mappedBy = "issue", cascade = {CascadeType.ALL}, orphanRemoval = true)
|
private IssueReservation issueReservation;
|
|
@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;
|
}
|
|
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 Long getReverseIndex() {
|
return reverseIndex;
|
}
|
|
public void setReverseIndex(Long reverseIndex) {
|
this.reverseIndex = reverseIndex;
|
}
|
|
public Project getProject() {
|
return project;
|
}
|
|
public void setProject(Project project) {
|
this.project = project;
|
}
|
|
public IssueStatus getIssueStatus() {
|
return issueStatus;
|
}
|
|
public void setIssueStatus(IssueStatus issueStatus) {
|
this.issueStatus = issueStatus;
|
}
|
|
public IssueType getIssueType() {
|
return issueType;
|
}
|
|
public void setIssueType(IssueType issueType) {
|
this.issueType = issueType;
|
}
|
|
public Priority getPriority() {
|
return priority;
|
}
|
|
public void setPriority(Priority priority) {
|
this.priority = priority;
|
}
|
|
public Severity getSeverity() {
|
return severity;
|
}
|
|
public void setSeverity(Severity severity) {
|
this.severity = severity;
|
}
|
|
public IssueRisk getIssueRisk() {
|
return issueRisk;
|
}
|
|
public void setIssueRisk(IssueRisk issueRisk) {
|
this.issueRisk = issueRisk;
|
}
|
|
public Long getIssueNumber() {
|
return issueNumber;
|
}
|
|
public void setIssueNumber(Long issueNumber) {
|
this.issueNumber = issueNumber;
|
}
|
|
public Set<IssueUser> getIssueUsers() {
|
return issueUsers;
|
}
|
|
public void setIssueUsers(Set<IssueUser> issueUsers) {
|
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 setAttachedFiles(Set<AttachedFile> attachedFiles) {
|
this.attachedFiles = attachedFiles;
|
}
|
|
public Set<UserLikeIssue> getUserLikeIssues() {
|
return userLikeIssues;
|
}
|
|
public void setUserLikeIssues(Set<UserLikeIssue> userLikeIssues) {
|
this.userLikeIssues = userLikeIssues;
|
}
|
|
public Set<IssueHistory> getIssueHistory() {
|
return issueHistory;
|
}
|
|
public void setIssueHistory(Set<IssueHistory> issueHistory) {
|
this.issueHistory = issueHistory;
|
}
|
|
public Set<IssueComment> getIssueComments() {
|
return issueComments;
|
}
|
|
public void setIssueComments(Set<IssueComment> issueComments) {
|
this.issueComments = issueComments;
|
}
|
|
public Set<IssueCustomFieldValue> getIssueCustomFieldValues() {
|
return issueCustomFieldValues;
|
}
|
|
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() {
|
return startDate;
|
}
|
|
public void setStartDate(String startDate) {
|
this.startDate = startDate;
|
}
|
|
public String getCompleteDate() {
|
return completeDate;
|
}
|
|
public void setCompleteDate(String completeDate) {
|
this.completeDate = completeDate;
|
}
|
|
public IssueReservation getIssueReservation() {
|
return issueReservation;
|
}
|
|
public void setIssueReservation(IssueReservation issueReservation) {
|
this.issueReservation = issueReservation;
|
}
|
|
public Set<IssueVersion> getIssueVersions() {
|
return issueVersions;
|
}
|
|
public void setIssueVersions(Set<IssueVersion> issueVersions) {
|
this.issueVersions = issueVersions;
|
}
|
|
public WorkflowStatus getWorkflowStatus() {
|
return workflowStatus;
|
}
|
|
public void setWorkflowStatus(WorkflowStatus workflowStatus) {
|
this.workflowStatus = workflowStatus;
|
}
|
|
public Set<IssueRelation> getIssueRelations() {
|
return issueRelations;
|
}
|
|
public void setIssueRelations(Set<IssueRelation> issueRelations) {
|
this.issueRelations = issueRelations;
|
}
|
|
public void clearIssueRelations() {
|
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;
|
}
|
}
|