From 0d8cc04b812cfa0f15bf8ba12b5fdcbe411f90cd Mon Sep 17 00:00:00 2001
From: HelenHuang <LinHuang@pollex.com.tw>
Date: 星期四, 10 二月 2022 16:07:02 +0800
Subject: [PATCH] Merge branch 'Phase3' of https://dev.pollex.com.tw:8443/r/pcalife/PAM into Phase3

---
 pamapi/src/main/java/com/pollex/pam/domain/Appointment.java |  115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 111 insertions(+), 4 deletions(-)

diff --git a/pamapi/src/main/java/com/pollex/pam/domain/Appointment.java b/pamapi/src/main/java/com/pollex/pam/domain/Appointment.java
index 53fbd36..76d30ca 100644
--- a/pamapi/src/main/java/com/pollex/pam/domain/Appointment.java
+++ b/pamapi/src/main/java/com/pollex/pam/domain/Appointment.java
@@ -2,12 +2,29 @@
 
 import java.io.Serializable;
 import java.time.Instant;
+import java.util.List;
 
-import javax.persistence.*;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.EntityListeners;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToMany;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
 
-import com.pollex.pam.enums.ContactStatusEnum;
+import org.springframework.data.annotation.CreatedDate;
 import org.springframework.data.annotation.LastModifiedDate;
 import org.springframework.data.jpa.domain.support.AuditingEntityListener;
+
+import com.pollex.pam.enums.AppointmentStatusEnum;
+import com.pollex.pam.enums.ContactStatusEnum;
 
 @EntityListeners(AuditingEntityListener.class)
 @Entity
@@ -54,15 +71,45 @@
 	@Column(name = "other_requirement")
     private String otherRequirement;
 
+    @CreatedDate
+	@Column(name = "appointment_date", updatable = false)
+    private Instant appointmentDate = Instant.now();
+
+    @Column(name = "last_modified_date")
     @LastModifiedDate
-	@Column(name = "appointment_date")
-    private Instant appointmentDate;
+    private Instant lastModifiedDate = Instant.now();
 
 	@Column(name = "agent_no")
     private String agentNo;
 
 	@Column(name = "customer_id")
     private Long customerId;
+
+    @Column(name = "consultant_view_time")
+    private Instant consultantViewTime;
+
+    @Column(name = "consultant_read_time")
+    private Instant consultantReadTime;
+
+    @Column(name = "contact_time")
+    private Instant contactTime;
+
+    @Enumerated(value = EnumType.STRING)
+    @Column(name = "status")
+    private AppointmentStatusEnum status;
+    
+    @JoinColumn(name = "appointment_id")
+    @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.REMOVE)
+    private List<AppointmentMemo> appointmentMemoList;
+    
+//    @OneToOne(cascade = CascadeType.REMOVE,fetch=FetchType.EAGER)
+////    @JoinColumn(name = "form_authority_id", referencedColumnName = "id")
+//    @JoinColumn(name = "appointment_id", referencedColumnName = "id")
+//    private AppointmentClosedInfo closedInfo;
+    
+//    @OneToOne(cascade = CascadeType.REMOVE
+//    		, mappedBy = "appointment", fetch=FetchType.LAZY)
+//    private AppointmentClosedInfo closedInfo;
 
 	public Long getId() {
 		return id;
@@ -175,4 +222,64 @@
 	public void setCustomerId(Long customerId) {
 		this.customerId = customerId;
 	}
+
+    public Instant getConsultantViewTime() {
+        return consultantViewTime;
+    }
+
+    public void setConsultantViewTime(Instant consultantViewTime) {
+        this.consultantViewTime = consultantViewTime;
+    }
+
+    public Instant getConsultantReadTime() {
+        return consultantReadTime;
+    }
+
+    public void setConsultantReadTime(Instant consultantReadTime) {
+        this.consultantReadTime = consultantReadTime;
+    }
+
+    public Instant getContactTime() {
+        return contactTime;
+    }
+
+    public void setContactTime(Instant markCommunicateTime) {
+        this.contactTime = markCommunicateTime;
+    }
+
+    public AppointmentStatusEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(AppointmentStatusEnum status) {
+        this.status = status;
+    }
+
+    public Instant getLastModifiedDate() {
+        return lastModifiedDate;
+    }
+
+    public void setLastModifiedDate(Instant lastModifiedDate) {
+        this.lastModifiedDate = lastModifiedDate;
+    }
+
+	public List<AppointmentMemo> getAppointmentMemoList() {
+		return appointmentMemoList;
+	}
+
+	public void setAppointmentMemoList(List<AppointmentMemo> appointmentMemoList) {
+		this.appointmentMemoList = appointmentMemoList;
+	}
+
+//	public AppointmentClosedInfo getClosedInfo() {
+//		return closedInfo;
+//	}
+//
+//	public void setClosedInfo(AppointmentClosedInfo closedInfo) {
+//		this.closedInfo = closedInfo;
+//	}
+    
+    
+    
+    
 }

--
Gitblit v1.8.0