package com.jasamedika.medifirst2000.entities; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.jasamedika.medifirst2000.base.BaseMaster; import com.jasamedika.medifirst2000.helper.Caption; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import javax.validation.constraints.NotNull; import static javax.persistence.GenerationType.SEQUENCE; @Getter @Setter @Entity @Table(name = "ChartOfAccount_M") @JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" }) public class ChartOfAccount extends BaseMaster { @Caption(value = "Kode Account") @NotNull(message = "Kd Account tidak boleh kosong") @Column(name = "KdAccount", nullable = false) private Integer kdAccount; @Caption(value = "Kode Account Effect Add") @Column(name = "KdAccountEffectAdd") private Integer kdAccountEffectAdd; @Caption(value = "Kode Account Effect Min") @Column(name = "KdAccountEffectMin") private Integer kdAccountEffectMin; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "ObjectAccountHeadFk") @Caption(value = "Object Account Head") private ChartOfAccount accountHead; @Column(name = "ObjectAccountHeadFk", insertable = false, updatable = false) private Integer accountHeadId; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "ObjectJenisAccountFk") @NotNull(message = "Object Jenis Account Harus Diisi") @Caption(value = "Object Jenis Account") private JenisAccount jenisAccount; @Column(name = "ObjectJenisAccountFk", insertable = false, updatable = false) private Integer jenisAccountId; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "ObjectKategoryAccountFk") @NotNull(message = "Object Kategory Account Harus Diisi") @Caption(value = "Object Kategory Account") private KategoryAccount kategoryAccount; @Column(name = "ObjectKategoryAccountFk", insertable = false, updatable = false) private Integer kategoryAccountId; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "ObjectStatusAccountFk") @NotNull(message = "Object Status Account Harus Diisi") @Caption(value = "Object Status Account") private StatusAccount statusAccount; @Column(name = "ObjectStatusAccountFk", insertable = false, updatable = false) private Integer statusAccountId; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "ObjectStrukturAccountFk") @NotNull(message = "Object Struktur Account Harus Diisi") @Caption(value = "Object Struktur Account") private StrukturAccount strukturAccount; @Column(name = "ObjectStrukturAccountFk", insertable = false, updatable = false) private Integer strukturAccountId; @Caption(value = "Nama Account") @NotNull(message = "Nama Account tidak boleh kosong") @Column(name = "NamaAccount", nullable = false, length = 300) private String namaAccount; @Caption(value = "No Account") @NotNull(message = "No Account tidak boleh kosong") @Column(name = "NoAccount", nullable = false, length = 50) private String noAccount; @Caption(value = "QAccount") @NotNull(message = "QAccount tidak boleh kosong") @Column(name = "QAccount", nullable = false) private Integer qAccount; @Caption(value = "Saldo Akhir D Tahun Berjalan") @NotNull(message = "Saldo Akhir D Tahun Berjalan tidak boleh kosong") @Column(name = "SaldoAkhirDTahunBerjalan", nullable = false) private Double saldoAkhirDTahunBerjalan; @Caption(value = "Saldo Akhir K Tahun Berjalan") @NotNull(message = "Saldo Akhir K Tahun Berjalan tidak boleh kosong") @Column(name = "SaldoAkhirKTahunBerjalan", nullable = false) private Double saldoAkhirKTahunBerjalan; @Caption(value = "Saldo Awal D Tahun Berjalan") @NotNull(message = "Saldo Awal D Tahun Berjalan tidak boleh kosong") @Column(name = "SaldoAwalDTahunBerjalan", nullable = false) private Double saldoAwalDTahunBerjalan; @Caption(value = "Saldo Awal K Tahun Berjalan") @NotNull(message = "Saldo Awal K Tahun Berjalan tidak boleh kosong") @Column(name = "SaldoAwalKTahunBerjalan", nullable = false) private Double saldoAwalKTahunBerjalan; @Caption(value = "Saldo Normal Add") @NotNull(message = "Saldo Normal Add tidak boleh kosong") @Column(name = "SaldoNormalAdd", nullable = false, length = 1) private String saldoNormalAdd; @Caption(value = "Saldo Normal Effect Add") @Column(name = "SaldoNormalEffectAdd", length = 1) private String saldoNormalEffectAdd; @Caption(value = "Saldo Normal Effect Min") @Column(name = "SaldoNormalEffectMin", length = 1) private String saldoNormalEffectMin; @Caption(value = "Saldo Normal Min") @NotNull(message = "Saldo Normal Min tidak boleh kosong") @Column(name = "SaldoNormalMin", nullable = false, length = 1) private String saldoNormalMin; @Id @GeneratedValue(strategy = SEQUENCE, generator = "public.chartofaccount_m_id_seq") @SequenceGenerator(name = "public.chartofaccount_m_id_seq", sequenceName = "public.chartofaccount_m_id_seq", allocationSize = 1) @Column(name = "id") protected Integer id; }