package com.eksad.masterdata.domain; import com.eksad.ddms.common.util.object.EntityObject; import com.eksad.masterdata.common.listEnum.PaymentStatus; import com.fasterxml.jackson.annotation.JsonFormat; import jakarta.persistence.*; import java.util.Date; import java.util.List; import java.util.Objects; @Entity @Table(name = "TRX_PAYMENT") public class Payment implements EntityObject { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "trx_payment_gen") @SequenceGenerator(name = "trx_payment_gen", sequenceName = "trx_payment_seq", allocationSize = 1) Integer id; private String paymentID; private String woID; // @Enumerated(EnumType.STRING) private String paymentMethod; @Enumerated(EnumType.STRING) private PaymentStatus paymentStatus; private String voucherCode; private Double jumlahPembayaran; private String noTransfer; private String nokartuKredit; private String terbilang; @Temporal(TemporalType.DATE) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy", timezone = "Asia/Jakarta") private Date paymentDate; private String dateReport; private Double angka; private Double presentase; private Double totalBayar; private Double jumlahDiskon; @ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.REMOVE) @JoinTable(name = "promo_payment", joinColumns = { @JoinColumn(name = "payment_id", referencedColumnName = "id")}, inverseJoinColumns = { @JoinColumn(name = "promo_id", referencedColumnName = "id")}) private List listPromo; private String noKwitansi; private Double jumlahDiskonEvoucher; private Double totalBayarExcludeHO; private Double jumlahPembayaranExcludeHO; private Double tandaJadi; private String kodePembayaranAHM; @Embedded private CreationalSpecification paymentCreational; public Payment() { } public Payment(String paymentID, String woID, String paymentMethod, PaymentStatus paymentStatus, String voucherCode, Double jumlahPembayaran, String noTransfer, String nokartuKredit, String terbilang, Date paymentDate, String dateReport, Double angka, Double presentase, Double totalBayar, Double jumlahDiskon, List listPromo, String noKwitansi, Double totalBayarExcludeHO, Double jumlahPembayaranExcludeHO, Double tandaJadiTerbayar, CreationalSpecification paymentCreational, Double jumlahDiskonEvoucher, String kodePembayaranAHM) { this.paymentID = paymentID; this.woID = woID; this.paymentMethod = paymentMethod; this.paymentStatus = paymentStatus; this.voucherCode = voucherCode; this.jumlahPembayaran = jumlahPembayaran; this.noTransfer = noTransfer; this.nokartuKredit = nokartuKredit; this.terbilang = terbilang; this.paymentDate = paymentDate; this.dateReport = dateReport; this.angka = angka; this.presentase = presentase; this.totalBayar = totalBayar; this.jumlahDiskon = jumlahDiskon; this.listPromo = listPromo; this.noKwitansi = noKwitansi; this.paymentCreational = paymentCreational; this.totalBayarExcludeHO = totalBayarExcludeHO; this.jumlahPembayaranExcludeHO = jumlahPembayaranExcludeHO; this.tandaJadi = tandaJadiTerbayar; this.jumlahDiskonEvoucher = jumlahDiskonEvoucher; this.kodePembayaranAHM = kodePembayaranAHM; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getPaymentID() { return paymentID; } public void setPaymentID(String paymentID) { this.paymentID = paymentID; } public String getWoID() { return woID; } public void setWoID(String woID) { this.woID = woID; } public String getPaymentMethod() { return paymentMethod; } public void setPaymentMethod(String paymentMethod) { this.paymentMethod = paymentMethod; } public PaymentStatus getPaymentStatus() { return paymentStatus; } public void setPaymentStatus(PaymentStatus paymentStatus) { this.paymentStatus = paymentStatus; } public String getVoucherCode() { return voucherCode; } public void setVoucherCode(String voucherCode) { this.voucherCode = voucherCode; } public Double getJumlahPembayaran() { return jumlahPembayaran; } public void setJumlahPembayaran(Double jumlahPembayaran) { this.jumlahPembayaran = jumlahPembayaran; } public String getNoTransfer() { return noTransfer; } public void setNoTransfer(String noTransfer) { this.noTransfer = noTransfer; } public String getNokartuKredit() { return nokartuKredit; } public void setNokartuKredit(String nokartuKredit) { this.nokartuKredit = nokartuKredit; } public String getTerbilang() { return terbilang; } public void setTerbilang(String terbilang) { this.terbilang = terbilang; } public Date getPaymentDate() { return paymentDate; } public void setPaymentDate(Date paymentDate) { this.paymentDate = paymentDate; } public String getDateReport() { return dateReport; } public void setDateReport(String dateReport) { this.dateReport = dateReport; } public Double getAngka() { return angka; } public void setAngka(Double angka) { this.angka = angka; } public Double getPresentase() { return presentase; } public void setPresentase(Double presentase) { this.presentase = presentase; } public Double getTotalBayar() { return totalBayar; } public void setTotalBayar(Double totalBayar) { this.totalBayar = totalBayar; } public Double getJumlahDiskon() { return jumlahDiskon; } public void setJumlahDiskon(Double jumlahDiskon) { this.jumlahDiskon = jumlahDiskon; } public CreationalSpecification getPaymentCreational() { return paymentCreational; } public void setPaymentCreational(CreationalSpecification paymentCreational) { this.paymentCreational = paymentCreational; } public List getListPromo() { return listPromo; } public void setListPromo(List listPromo) { this.listPromo = listPromo; } public String getNoKwitansi() { return noKwitansi; } public void setNoKwitansi(String noKwitansi) { this.noKwitansi = noKwitansi; } public Double getTotalBayarExcludeHO() { return totalBayarExcludeHO; } public void setTotalBayarExcludeHO(Double totalBayarExcludeHO) { this.totalBayarExcludeHO = totalBayarExcludeHO; } public Double getJumlahPembayaranExcludeHO() { return jumlahPembayaranExcludeHO; } public void setJumlahPembayaranExcludeHO(Double jumlahPembayaranExcludeHO) { this.jumlahPembayaranExcludeHO = jumlahPembayaranExcludeHO; } public Double getTandaJadi() { return tandaJadi; } public void setTandaJadi(Double tandaJadi) { this.tandaJadi = tandaJadi; } public Double getJumlahDiskonEvoucher() { return jumlahDiskonEvoucher; } public void setJumlahDiskonEvoucher(Double jumlahDiskonEvoucher) { this.jumlahDiskonEvoucher = jumlahDiskonEvoucher; } public String getKodePembayaranAHM() { return kodePembayaranAHM; } public void setKodePembayaranAHM(String kodePembayaranAHM) { this.kodePembayaranAHM = kodePembayaranAHM; } @Override public int hashCode() { int hash = 3; hash = 97 * hash + Objects.hashCode(this.paymentID); hash = 97 * hash + Objects.hashCode(this.woID); hash = 97 * hash + Objects.hashCode(this.paymentMethod); hash = 97 * hash + Objects.hashCode(this.paymentStatus); hash = 97 * hash + Objects.hashCode(this.voucherCode); hash = 97 * hash + Objects.hashCode(this.jumlahPembayaran); hash = 97 * hash + Objects.hashCode(this.noTransfer); hash = 97 * hash + Objects.hashCode(this.nokartuKredit); hash = 97 * hash + Objects.hashCode(this.terbilang); hash = 97 * hash + Objects.hashCode(this.paymentDate); hash = 97 * hash + Objects.hashCode(this.dateReport); hash = 97 * hash + Objects.hashCode(this.angka); hash = 97 * hash + Objects.hashCode(this.presentase); hash = 97 * hash + Objects.hashCode(this.totalBayar); hash = 97 * hash + Objects.hashCode(this.jumlahDiskon); hash = 97 * hash + Objects.hashCode(this.listPromo); hash = 97 * hash + Objects.hashCode(this.noKwitansi); hash = 97 * hash + Objects.hashCode(this.totalBayarExcludeHO); hash = 97 * hash + Objects.hashCode(this.jumlahPembayaranExcludeHO); hash = 97 * hash + Objects.hashCode(this.tandaJadi); hash = 97 * hash + Objects.hashCode(this.paymentCreational); hash = 97 * hash + Objects.hashCode(this.jumlahDiskonEvoucher); hash = 97 * hash + Objects.hashCode(this.kodePembayaranAHM); return hash; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final Payment other = (Payment) obj; if (!Objects.equals(this.id, other.id)) { return false; } return true; } @Override public boolean sameIdentityAs(Payment other) { return this.equals(other); } }