package com.eksad.masterdata.domain; import com.eksad.ddms.common.util.object.EntityObject; import com.eksad.masterdata.common.listEnum.ContractServiceEvent; import com.fasterxml.jackson.annotation.JsonFormat; import jakarta.persistence.*; import org.hibernate.validator.constraints.NotEmpty; import java.util.Date; @Entity @Table(name = "TRX_CS_MONITORING") public class CSMonitoring implements EntityObject<CSMonitoring> { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "trx_cs_monitoring_gen") @SequenceGenerator(name = "trx_cs_monitoring_gen", sequenceName = "trx_cs_monitoring_seq", allocationSize = 1) private Integer id; @NotEmpty(message = "cs id cannot be null") private String csID; @NotEmpty(message = "nosin cannot be null") private String nosin; @Temporal(TemporalType.TIMESTAMP) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy HH:mm:ss") private Date tglTransaksi; @Column(name = "log", columnDefinition = "TEXT") private String log; @Enumerated(value = EnumType.STRING) private ContractServiceEvent event; private String reffID; private String packageID; @Embedded private CreationalSpecification csMonitoringCreationalSpecification; public CSMonitoring() { } public CSMonitoring(Integer id, String csID, String nosin, Date tglTransaksi, String log, ContractServiceEvent event, String reffID, String packageID, CreationalSpecification csMonitoringCreationalSpecification) { this.id = id; this.csID = csID; this.nosin = nosin; this.tglTransaksi = tglTransaksi; this.log = log; this.event = event; this.reffID = reffID; this.packageID = packageID; this.csMonitoringCreationalSpecification = csMonitoringCreationalSpecification; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getCsID() { return csID; } public void setCsID(String csID) { this.csID = csID; } public String getNosin() { return nosin; } public void setNosin(String nosin) { this.nosin = nosin; } public Date getTglTransaksi() { return tglTransaksi; } public void setTglTransaksi(Date tglTransaksi) { this.tglTransaksi = tglTransaksi; } public String getLog() { return log; } public void setLog(String log) { this.log = log; } public ContractServiceEvent getEvent() { return event; } public void setEvent(ContractServiceEvent event) { this.event = event; } public String getReffID() { return reffID; } public void setReffID(String reffID) { this.reffID = reffID; } public String getPackageID() { return packageID; } public void setPackageID(String packageID) { this.packageID = packageID; } public CreationalSpecification getCsMonitoringCreationalSpecification() { return csMonitoringCreationalSpecification; } public void setCsMonitoringCreationalSpecification(CreationalSpecification csMonitoringCreationalSpecification) { this.csMonitoringCreationalSpecification = csMonitoringCreationalSpecification; } @Override public boolean sameIdentityAs(CSMonitoring other) { return other.equals(this); } }