package com.jasamedika.medifirst2000.entities; import com.fasterxml.jackson.annotation.JsonManagedReference; import com.jasamedika.medifirst2000.base.BaseTransaction; import com.jasamedika.medifirst2000.helper.Caption; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.util.Date; import java.util.HashSet; import java.util.Set; import static javax.persistence.CascadeType.ALL; import static javax.persistence.FetchType.LAZY; @Getter @Setter @Entity @Table(name = "Refacking_T") public class Refacking extends BaseTransaction { @Caption(value = "No Produksi") @Column(name = "NoProduksi") private String noProduksi; @ManyToOne(fetch = LAZY) @JoinColumn(name = "ObjectProdukFk") @Caption(value = "Object Produk") private Produk produk; @Column(name = "ObjectProdukFk", insertable = false, updatable = false) private Integer produkId; @Caption(value = "Jumlah Produksi") @Column(name = "JumlahProduksi") private Integer jumlahProduksi; @Caption(value = "Satuan") @Column(name = "Satuan") private String satuan; @ManyToOne(fetch = LAZY) @JoinColumn(name = "ObjectPegawaiYgMemintaFk") @Caption(value = "Object Pegawai Yang Meminta") private Pegawai pegawaiYgMeminta; @Column(name = "ObjectPegawaiYgMemintaFk", insertable = false, updatable = false) private Integer pegawaiYgMemintaId; @ManyToOne(fetch = LAZY) @JoinColumn(name = "ObjectPegawaiYgMemberikanFk") @Caption(value = "Object Pegawai Yang Memberikan") private Pegawai pegawaiYgMemberikan; @Column(name = "ObjectPegawaiYgMemberikanFk", insertable = false, updatable = false) private Integer pegawaiYgMemberikanId; @ManyToOne(fetch = LAZY) @JoinColumn(name = "ObjectPegawaiYgMengetahuiFk") @Caption(value = "Object Pegawai Yang Mengetahui") private Pegawai pegawaiYgMengetahui; @Column(name = "ObjectPegawaiYgMengetahuiFk", insertable = false, updatable = false) private Integer pegawaiYgMengetahuiId; @Caption(value = "Tanggal Produksi") @Column(name = "TglProduksi") private Date tglProduksi; @Caption(value = "Spesifikasi") @Column(name = "Spesifikasi") private String spesifikasi; @Caption(value = "Harga Satuan") @Column(name = "HargaSatuan") private Double hargaSatuan; @Caption(value = "Tanggal Expired") @Column(name = "TanggalExpired") private Date tglExpired; @Caption(value = "Unit Cost") @Column(name = "UnitCost") private String unitCost; @JsonManagedReference @OneToMany(cascade = ALL, fetch = LAZY, mappedBy = "refacking") @Caption(value = "produksiDetailSet") private Set produksiDetailSet = new HashSet<>(); }