From 4d06a7593fba3df556fc3728c142554907c6b157 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 수, 15 12월 2021 10:46:45 +0900
Subject: [PATCH] '전체 이슈 프로젝트 보기' 권한 '이슈 관리' 권한으로 변경 - 이슈관리: 모든 이슈 수정 가능

---
 src/main/java/kr/wisestone/owl/domain/Issue.java |   74 +++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/domain/Issue.java b/src/main/java/kr/wisestone/owl/domain/Issue.java
index 6061a8a..6b35bc3 100644
--- a/src/main/java/kr/wisestone/owl/domain/Issue.java
+++ b/src/main/java/kr/wisestone/owl/domain/Issue.java
@@ -1,5 +1,8 @@
 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;
@@ -9,12 +12,19 @@
  * 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)
@@ -25,6 +35,7 @@
     private Long issueNumber;
     private String startDate;
     private String completeDate;
+    private String isApi;
 
     @ManyToOne(fetch=FetchType.LAZY)
     @JoinColumn(name = "project_id")
@@ -54,6 +65,10 @@
     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<>();
 
@@ -73,6 +88,15 @@
     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)
@@ -84,6 +108,10 @@
     @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;
@@ -181,6 +209,14 @@
         this.issueUsers = issueUsers;
     }
 
+    public Set<IssueDepartment> getIssueDepartments() {
+        return issueDepartments;
+    }
+
+    public void setIssueDepartments(Set<IssueDepartment> issueDepartments) {
+        this.issueDepartments = issueDepartments;
+    }
+
     public Set<AttachedFile> getAttachedFiles() {
         return attachedFiles;
     }
@@ -219,6 +255,30 @@
 
     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() {
@@ -273,5 +333,19 @@
         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;
+    }
 }

--
Gitblit v1.8.0