From b889f78219fd1fb0f760436bfbaaf32bce3fabc8 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Wed, 28 Feb 2024 16:44:26 +0700 Subject: [PATCH 1/2] Update model entity Penyesuaian sync branch ddl --- .../entities/PelayananPasienDetail.java | 92 ++++++------ .../vo/PelayananPasienDetailVO.java | 133 ++++++------------ 2 files changed, 91 insertions(+), 134 deletions(-) diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasienDetail.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasienDetail.java index e2a4c7f1..2596b805 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasienDetail.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasienDetail.java @@ -1,39 +1,35 @@ package com.jasamedika.medifirst2000.entities; -import java.util.Date; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; - import com.jasamedika.medifirst2000.helper.Caption; - import lombok.Getter; import lombok.Setter; +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.util.Date; + +import static javax.persistence.FetchType.LAZY; + @Getter @Setter @Entity @Table(name = "PelayananPasienDetail_T") public class PelayananPasienDetail extends MedicalRecordTransaction { - private static final long serialVersionUID = 6548818878995216019L; - @ManyToOne - @JoinColumn(name = "Generik") + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "Generik") @Caption(value = "Generik") private Generik generik; - @Column(name = "Generik", insertable = false, updatable = false,nullable=true) + @Column(name = "Generik", insertable = false, updatable = false) private Integer generikId; - + @Caption(value = "statusOrder") @Column(name = "statusOrder") private Byte statusOrder; - - @ManyToOne + + @ManyToOne(fetch = LAZY) @JoinColumn(name = "KomponenHargaFk") @NotNull(message = "Struk Order Harus Diisi") @Caption(value = "Komponen Harga") @@ -42,18 +38,18 @@ public class PelayananPasienDetail extends MedicalRecordTransaction { @Caption(value = "Tanggal Pelayanan") @Column(name = "TglPelayanan") private Date tglPelayanan; - + @Caption(value = "jasa") @Column(name = "jasa") private Double jasa; - + @Column(name = "KomponenHargaFk", insertable = false, updatable = false) private Integer komponenHargaId; @Caption(value = "Harga Satuan") @Column(name = "hargaSatuan") private Double hargaSatuan; - + @Caption(value = "Harga Jual") @Column(name = "HargaJual") private Double hargaJual; @@ -61,7 +57,15 @@ public class PelayananPasienDetail extends MedicalRecordTransaction { @Caption(value = "Nilai Normal") @Column(name = "NilaiNormal") private Boolean nilaiNormal; - + + @Column(columnDefinition = "numeric(6,2)") + @Caption("Persen Diskon") + private BigDecimal persenDiskon; + + @Column(columnDefinition = "numeric(6,2)") + @Caption("Persen Diskon Sayatan") + private BigDecimal persenDiskonSayatan; + @Caption(value = "Harga Discount") @Column(name = "hargaDiscount") private Double hargaDiscount; @@ -69,20 +73,20 @@ public class PelayananPasienDetail extends MedicalRecordTransaction { @Caption(value = "Piutang Penjamin") @Column(name = "piutangPenjamin") private Double piutangPenjamin; - + @Caption(value = "Piutang Rumah Sakit") @Column(name = "piutangRumahSakit") private Double piutangRumahSakit; - - @ManyToOne + + @ManyToOne(fetch = LAZY) @JoinColumn(name = "StrukOrderFk") @Caption(value = "Struk Order") private StrukOrder strukOrder; @Column(name = "StrukOrderFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false) private String strukOrderId; - - @ManyToOne + + @ManyToOne(fetch = LAZY) @JoinColumn(name = "JenisObatFk") @Caption(value = "Jenis Obat") private JenisObat jenisObat; @@ -90,66 +94,66 @@ public class PelayananPasienDetail extends MedicalRecordTransaction { @Column(name = "JenisObatFk", insertable = false, updatable = false) private Integer jenisObatId; - @ManyToOne + @ManyToOne(fetch = LAZY) @JoinColumn(name = "ProdukFk") @NotNull(message = "Produk Harus Diisi") @Caption(value = "Produk") private Produk produk; - + @Column(name = "ProdukFk", insertable = false, updatable = false) private Integer produkId; - - @ManyToOne + + @ManyToOne(fetch = LAZY) @JoinColumn(name = "PelayananPasien") @NotNull(message = "Pelayanan Pasien Tidak boleh Kosong") @Caption(value = "PelayananPasien") private PelayananPasien pelayananPasien; - @Column(name = "PelayananPasien", columnDefinition = "CHAR(32)", insertable = false, updatable = false,nullable=false) + @Column(name = "PelayananPasien", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = false) private String pelayananPasienId; - - @Column(name = "Stock", length = 100) + + @Column(name = "Stock", length = 100) @Caption(value = "Stock") private Integer stock; - @NotNull(message="jumlah Tidak boleh Kosong") + @NotNull(message = "jumlah Tidak boleh Kosong") @Column(name = "Jumlah", nullable = false, length = 100) @Caption(value = "Jumlah") private Double jumlah; - @Column(name = "AturanPakai", length = 100) + @Column(name = "AturanPakai", length = 100) @Caption(value = "AturanPakai") private String aturanPakai; - @ManyToOne + @ManyToOne(fetch = LAZY) @JoinColumn(name = "RouteFk") @Caption(value = "Route") private RouteFarmasi route; @Column(name = "RouteFk", insertable = false, updatable = false) private Integer routeId; - - @ManyToOne + + @ManyToOne(fetch = LAZY) @JoinColumn(name = "KeteranganPakaiFk") @Caption(value = "Keterangan Pakai") private Stigma keteranganPakai; @Column(name = "KeteranganPakaiFk", insertable = false, updatable = false) private Integer keteranganPakaiId; - - @Column(name = "KeteranganPakai2", length = 100) + + @Column(name = "KeteranganPakai2", length = 100) @Caption(value = "KeteranganPakai2") private String keteranganPakai2; - @Column(name = "KeteranganLain", length = 100) + @Column(name = "KeteranganLain", length = 100) @Caption(value = "KeteranganLain") private String keteranganLain; @Caption(value = "hargaNetto") @Column(name = "hargaNetto") private Double hargaNetto; - + @Caption(value = "NoRecTriger") - @Column(name = "noRecTriger", nullable = true) + @Column(name = "noRecTriger") private String noRecTriger; -} \ No newline at end of file +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PelayananPasienDetailVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PelayananPasienDetailVO.java index f8a080a4..7d87acdc 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PelayananPasienDetailVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PelayananPasienDetailVO.java @@ -1,171 +1,126 @@ package com.jasamedika.medifirst2000.vo; +import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.Date; import java.util.List; -import javax.persistence.Column; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.validation.constraints.NotNull; - -import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO; -import com.jasamedika.medifirst2000.helper.Caption; - -import lombok.Getter; -import lombok.Setter; - @Getter @Setter public class PelayananPasienDetailVO extends BaseTransactionVO { - - private List racikan = new ArrayList(); - - @Caption(value="Pasien Daftar") - private PasienDaftarVO pasienDaftar; - private GenerikVO generik; - - @Column(name = "Generik", insertable = false, updatable = false,nullable=true) + private List racikan = new ArrayList<>(); + + @Caption(value = "Pasien Daftar") + private PasienDaftarVO pasienDaftar; + + private GenerikVO generik; + private Integer generikId; - + private Byte statusOrder; - + private Double jasa; - + @Caption(value = "Is Pasien") - @Column(name = "isPasien", nullable = true) private Boolean isPasien; - - @Caption(value = "Is Pasien") - @Column(name = "isObat", nullable = true) + + @Caption(value = "Is Obat") private Boolean isObat; - - @Caption(value = "Is Pasien") - @Column(name = "isDosis", nullable = true) + + @Caption(value = "Is Dosis") private Boolean isDosis; - - @Caption(value = "Is Pasien") - @Column(name = "isRoute", nullable = true) + + @Caption(value = "Is Route") private Boolean isRoute; - - @Caption(value = "Is Pasien") - @Column(name = "isDokumentasi", nullable = true) + + @Caption(value = "Is Dokumentasi") private Boolean isDokumentasi; - - @Caption(value = "Is Pasien") - @Column(name = "isWaktu", nullable = true) + + @Caption(value = "Is Waktu") private Boolean isWaktu; - - @Caption(value = "Is Pasien") - @Column(name = "isInformasi", nullable = true) + + @Caption(value = "Is Informasi") private Boolean isInformasi; - - @ManyToOne - @JoinColumn(name = "KomponenHargaFk") - @NotNull(message = "Struk Order Harus Diisi") + @Caption(value = "Komponen Harga") private KomponenHargaVO komponenHarga; - @Caption(value = "Tanggal Pelayanan") - @Column(name = "TglPelayanan", nullable = true) private Date tglPelayanan; - @Column(name = "KomponenHargaFk", insertable = false, updatable = false) + private Integer komponenHargaId; - @Caption(value = "Harga Satuan") - @Column(name = "hargaSatuan", nullable = true) private Double hargaSatuan; - + @Caption(value = "Harga Jual") - @Column(name = "HargaJual", nullable = true) private Double hargaJual; + @Caption("Persen Diskon") + private String persenDiskon; + + @Caption("Persen Diskon Sayatan") + private String persenDiskonSayatan; + @Caption(value = "Nilai Normal") - @Column(name = "NilaiNormal", nullable = true) private Boolean nilaiNormal; - - + @Caption(value = "Piutang Penjamin") - @Column(name = "piutangPenjamin", nullable = true) private Double piutangPenjamin; - + @Caption(value = "Piutang Rumah Sakit") - @Column(name = "piutangRumahSakit", nullable = true) private Double piutangRumahSakit; - - - @ManyToOne - @JoinColumn(name = "StrukOrderFk") @Caption(value = "Struk Order") private StrukOrderVO strukOrder; - @Column(name = "StrukOrderFk", insertable = false, updatable = false) private String strukOrderId; - @ManyToOne - @JoinColumn(name = "JenisObatFk") @Caption(value = "Jenis Obat") private JenisObatVO jenisObat; - @Column(name = "JenisObatFk", insertable = false, updatable = false) private String jenisObatId; - @ManyToOne - @JoinColumn(name = "ProdukFk") @NotNull(message = "Produk Harus Diisi") @Caption(value = "Produk") private ProdukVO produk; - @Column(name = "ProdukFk", insertable = false, updatable = false) private String produkId; - @Column(name = "Stock", nullable = true, length = 100) @Caption(value = "Stock") private Integer stock; - @Column(name = "Jumlah", nullable = false, length = 100) @Caption(value = "Jumlah") private Double jumlah; - @Column(name = "AturanPakai", nullable = true, length = 100) @Caption(value = "AturanPakai") private String aturanPakai; - @ManyToOne - @JoinColumn(name = "RouteFk") @Caption(value = "Route") private RouteFarmasiVO route; - @Column(name = "RouteFk", insertable = false, updatable = false) private String routeId; - - - @ManyToOne - @JoinColumn(name = "KeteranganPakaiFk") + @Caption(value = "Keterangan Pakai") private StigmaVO keteranganPakai; - @Column(name = "KeteranganPakaiFk", insertable = false, updatable = false) private Integer keteranganPakaiId; - - @Column(name = "KeteranganPakai2", nullable = true, length = 100) @Caption(value = "KeteranganPakai2") private String keteranganPakai2; - @Column(name = "KeteranganLain", nullable = true, length = 100) @Caption(value = "KeteranganLain") private String keteranganLain; @Caption(value = "Harga Discount") private Double hargaDiscount; - - @ManyToOne - @NotNull(message = "Pelayanan Pasien Tidak boleh Kosong") + @Caption(value = "PelayananPasien") private PelayananPasienVO pelayananPasien; @@ -177,9 +132,7 @@ public class PelayananPasienDetailVO extends BaseTransactionVO { @Caption(value = "Is Benar") private Boolean isBenar; - - @Caption(value = "NoRecTriger") + + @Caption(value = "ID Trigger") private String noRecTriger; - } - From 57c61935585b4458dd245186e361e32716c10ecd Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Fri, 8 Mar 2024 10:40:52 +0700 Subject: [PATCH 2/2] Update model entities Pembuatan struktur data monitoring kinerja keuangan dan operasional --- .../medifirst2000/entities/AgingPeriod.java | 36 ++++++++++++ .../entities/CapitalComponent.java | 30 ++++++++++ .../entities/ComponentObject.java | 55 ++++++++++++++++++ .../entities/KinerjaOperasional.java | 54 ++++++++++++++++++ .../entities/MonitoringKinerja.java | 52 +++++++++++++++++ .../entities/MonitoringKinerjaHarian.java | 56 +++++++++++++++++++ .../medifirst2000/entities/NilaiAnggaran.java | 10 ++++ .../entities/PeriodeMonitoring.java | 36 ++++++++++++ .../medifirst2000/entities/SatuanKinerja.java | 41 ++++++++++++++ .../entities/WorkingCapital.java | 40 +++++++++++++ .../src/main/webapp/WEB-INF/web.xml | 2 +- 11 files changed, 411 insertions(+), 1 deletion(-) create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/AgingPeriod.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/CapitalComponent.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ComponentObject.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/KinerjaOperasional.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MonitoringKinerja.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MonitoringKinerjaHarian.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/NilaiAnggaran.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PeriodeMonitoring.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SatuanKinerja.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/WorkingCapital.java diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/AgingPeriod.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/AgingPeriod.java new file mode 100644 index 00000000..a7958513 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/AgingPeriod.java @@ -0,0 +1,36 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseActive; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.validator.constraints.NotBlank; + +import javax.persistence.*; +import javax.validation.constraints.Size; +import java.io.Serializable; + +import static javax.persistence.GenerationType.SEQUENCE; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 07/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "aging_period_m", schema = "mkko") +public class AgingPeriod extends BaseActive implements Serializable { + @Id + @GeneratedValue(strategy = SEQUENCE, generator = "sg_aging_period_m") + @SequenceGenerator(name = "sg_aging_period_m", schema = "mkko", sequenceName = "mkko.aging_period_m_seq", allocationSize = 1) + @Column(name = "id", columnDefinition = "bigint default nextval('mkko.aging_period_m_seq'::regclass)") + protected Long id; + + @Column(name = "period", length = 50, unique = true, nullable = false) + @Size(max = 50, message = "Period maksimal {max} karakter") + @NotBlank(message = "Period tidak boleh kosong") + @Caption("Period") + private String period; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/CapitalComponent.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/CapitalComponent.java new file mode 100644 index 00000000..e39a6e97 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/CapitalComponent.java @@ -0,0 +1,30 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseTransaction; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.validator.constraints.NotBlank; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import javax.validation.constraints.Size; +import java.io.Serializable; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 07/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "capital_component_m", schema = "mkko") +public class CapitalComponent extends BaseTransaction implements Serializable { + @Column(name = "component_name", length = 150, nullable = false) + @NotBlank(message = "Component name tidak boleh kosong") + @Size(max = 150, message = "Component name maksimal {max} karakter") + @Caption("Component Name") + private String componentName; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ComponentObject.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ComponentObject.java new file mode 100644 index 00000000..f3a16aa1 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ComponentObject.java @@ -0,0 +1,55 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseTransaction; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.validator.constraints.NotBlank; + +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serializable; + +import static javax.persistence.FetchType.LAZY; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 07/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "component_object_m", schema = "mkko") +public class ComponentObject extends BaseTransaction implements Serializable { + @Column(name = "param_key", length = 20, nullable = false) + @NotBlank(message = "Parameter key tidak boleh kosong") + @Size(max = 20, message = "Param key maksimal {max} karakter") + @Caption("Parameter Key") + private String paramKey; + + @Column(name = "param_logic", length = 50, nullable = false) + @NotBlank(message = "Parameter logic tidak boleh kosong") + @Size(max = 50, message = "Parameter logic maksimal {max} karakter") + @Caption("Parameter Logic") + private String paramLogic; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "capital_component_fk", nullable = false) + @NotNull(message = "Capital component tidak boleh kosong") + @Caption(value = "Capital Component") + private CapitalComponent capitalComponent; + + @Column(name = "object_name", length = 150, nullable = false) + @NotBlank(message = "Object name tidak boleh kosong") + @Size(max = 150, message = "Object name maksimal {max} karakter") + @Caption("Object Name") + private String objectName; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "capital_component_head_fk", nullable = false) + @NotNull(message = "Capital component head tidak boleh kosong") + @Caption(value = "Capital Component Head") + private ComponentObject componentObjectHead; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/KinerjaOperasional.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/KinerjaOperasional.java new file mode 100644 index 00000000..6923c41d --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/KinerjaOperasional.java @@ -0,0 +1,54 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseTransaction; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.validator.constraints.NotBlank; + +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serializable; + +import static javax.persistence.FetchType.LAZY; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 04/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "kinerja_operasional_m", schema = "mkko") +public class KinerjaOperasional extends BaseTransaction implements Serializable { + @Column(name = "urutan", length = 20, nullable = false) + @NotBlank(message = "Urutan tidak boleh kosong") + @Size(max = 20, message = "Urutan maksimal {max} karakter") + @Caption("Urutan") + private String urutan; + + @Column(name = "fungsi_urutan", length = 50, nullable = false) + @NotBlank(message = "Fungsi urutan tidak boleh kosong") + @Size(max = 50, message = "Fungsi urutan maksimal {max} karakter") + @Caption("Fungsi Urutan") + private String fungsiUrutan; + + @Column(name = "nama_kinerja", length = 150, nullable = false) + @NotBlank(message = "Nama kinerja tidak boleh kosong") + @Size(max = 150, message = "Nama kinerja maksimal {max} karakter") + @Caption("Nama Kinerja") + private String namaKinerja; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "satuan_kinerja_fk", nullable = false, columnDefinition = "bigint") + @NotNull(message = "Satuan kinerja tidak boleh kosong") + @Caption(value = "Satuan Kinerja") + private SatuanKinerja satuanKinerja; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "kinerja_head_fk") + @Caption(value = "Kinerja Head") + private KinerjaOperasional kinerjaHead; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MonitoringKinerja.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MonitoringKinerja.java new file mode 100644 index 00000000..7cdda394 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MonitoringKinerja.java @@ -0,0 +1,52 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseTransaction; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; + +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serializable; +import java.math.BigDecimal; + +import static javax.persistence.EnumType.STRING; +import static javax.persistence.FetchType.LAZY; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 04/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "monitoring_kinerja_t", schema = "mkko") +public class MonitoringKinerja extends BaseTransaction implements Serializable { + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "kinerja_fk", nullable = false) + @NotNull(message = "Kinerja tidak boleh kosong") + @Caption(value = "Kinerja") + private KinerjaOperasional kinerja; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "periode_fk", nullable = false, columnDefinition = "bigint") + @NotNull(message = "Periode monitoring tidak boleh kosong") + @Caption(value = "Periode Monitoring") + private PeriodeMonitoring periode; + + @Column(name = "nilai_anggaran", length = 20, columnDefinition = "varchar(20)") + @Enumerated(STRING) + @Size(max = 20, message = "Status migrasi maksimal {max} karakter") + @Caption(value = "Nilai Anggaran") + private NilaiAnggaran nilaiAnggaran; + + @Column(name = "tahun") + @Caption(value = "Tahun") + private Integer tahun; + + @Column(name = "nilai_kinerja", nullable = false, columnDefinition = "numeric(15,2) default 0.00") + @NotNull(message = "Nilai kinerja tidak boleh kosong") + private BigDecimal nilaiKinerja; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MonitoringKinerjaHarian.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MonitoringKinerjaHarian.java new file mode 100644 index 00000000..93111148 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MonitoringKinerjaHarian.java @@ -0,0 +1,56 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseTransaction; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; + +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +import static javax.persistence.EnumType.STRING; +import static javax.persistence.FetchType.LAZY; +import static javax.persistence.TemporalType.TIMESTAMP; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 05/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "monitoring_kinerja_harian_t", schema = "mkko") +public class MonitoringKinerjaHarian extends BaseTransaction implements Serializable { + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "kinerja_fk", nullable = false) + @NotNull(message = "Kinerja tidak boleh kosong") + @Caption(value = "Kinerja") + private KinerjaOperasional kinerja; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "periode_fk", nullable = false, columnDefinition = "bigint") + @NotNull(message = "Periode monitoring tidak boleh kosong") + @Caption(value = "Periode Monitoring") + private PeriodeMonitoring periode; + + @Column(name = "nilai_anggaran", length = 20, columnDefinition = "varchar(20)") + @Enumerated(STRING) + @Size(max = 20, message = "Status migrasi maksimal {max} karakter") + @Caption(value = "Nilai Anggaran") + private NilaiAnggaran nilaiAnggaran; + + @Column(name = "tanggal_entri", nullable = false) + @Temporal(TIMESTAMP) + @NotNull(message = "Tanggal entri tidak boleh kosong") + @Caption(value = "Tanggal Entri") + private Date tanggalEntri; + + @Column(name = "nilai_kinerja", nullable = false, columnDefinition = "numeric(15,2) default 0.00") + @NotNull(message = "Nilai kinerja tidak boleh kosong") + private BigDecimal nilaiKinerja; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/NilaiAnggaran.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/NilaiAnggaran.java new file mode 100644 index 00000000..7690e47b --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/NilaiAnggaran.java @@ -0,0 +1,10 @@ +package com.jasamedika.medifirst2000.entities; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 04/03/2024 + */ +public enum NilaiAnggaran { + REAL, BUDGET, BUDGET_AWAL, BUDGET_AKHIR, BUDGET_REVISI, AUDIT +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PeriodeMonitoring.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PeriodeMonitoring.java new file mode 100644 index 00000000..b150fbf1 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PeriodeMonitoring.java @@ -0,0 +1,36 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseActive; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.validator.constraints.NotBlank; + +import javax.persistence.*; +import javax.validation.constraints.Size; +import java.io.Serializable; + +import static javax.persistence.GenerationType.SEQUENCE; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 04/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "periode_monitoring_m", schema = "mkko") +public class PeriodeMonitoring extends BaseActive implements Serializable { + @Id + @GeneratedValue(strategy = SEQUENCE, generator = "sg_periode_monitoring_m") + @SequenceGenerator(name = "sg_periode_monitoring_m", schema = "mkko", sequenceName = "mkko.periode_monitoring_m_seq", allocationSize = 1) + @Column(name = "id", columnDefinition = "bigint default nextval('mkko.periode_monitoring_m_seq'::regclass)") + protected Long id; + + @Column(name = "periode", length = 50, unique = true, nullable = false) + @Size(max = 50, message = "Periode maksimal {max} karakter") + @NotBlank(message = "Periode tidak boleh kosong") + @Caption("Periode") + private String periode; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SatuanKinerja.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SatuanKinerja.java new file mode 100644 index 00000000..8e892164 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SatuanKinerja.java @@ -0,0 +1,41 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseActive; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.validator.constraints.NotBlank; + +import javax.persistence.*; +import javax.validation.constraints.Size; +import java.io.Serializable; + +import static javax.persistence.GenerationType.SEQUENCE; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 04/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "satuan_kinerja_m", schema = "mkko") +public class SatuanKinerja extends BaseActive implements Serializable { + @Id + @GeneratedValue(strategy = SEQUENCE, generator = "sg_satuan_kinerja_m") + @SequenceGenerator(name = "sg_satuan_kinerja_m", schema = "mkko", sequenceName = "mkko.satuan_kinerja_m_seq", allocationSize = 1) + @Column(name = "id", columnDefinition = "bigint default nextval('mkko.satuan_kinerja_m_seq'::regclass)") + protected Long id; + + @Column(name = "satuan_kinerja", length = 50, unique = true, nullable = false) + @Size(max = 50, message = "Satuan kinerja maksimal {max} karakter") + @NotBlank(message = "Satuan kinerja tidak boleh kosong") + @Caption("Satuan Kinerja") + private String satuanKinerja; + + @Column(name = "kode_satuan", length = 10) + @Size(max = 10, message = "Kode Satuan maksimal {max} karakter") + @Caption("Kode Satuan") + private String kodeSatuan; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/WorkingCapital.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/WorkingCapital.java new file mode 100644 index 00000000..b0ce7f78 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/WorkingCapital.java @@ -0,0 +1,40 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseTransaction; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; + +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; + +import static javax.persistence.FetchType.LAZY; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 07/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "working_capital_t", schema = "mkko") +public class WorkingCapital extends BaseTransaction implements Serializable { + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "component_object_fk", nullable = false) + @NotNull(message = "Component object tidak boleh kosong") + @Caption(value = "Component Object") + private ComponentObject componentObject; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "aging_period_fk", nullable = false) + @NotNull(message = "Aging period tidak boleh kosong") + @Caption(value = "Aging Period") + private AgingPeriod agingPeriod; + + @Column(name = "liquidity_value", nullable = false, columnDefinition = "numeric(15,2) default 0.00") + @NotNull(message = "Liquidity value tidak boleh kosong") + private BigDecimal liquidityValue; +} diff --git a/jasamedika-web/src/main/webapp/WEB-INF/web.xml b/jasamedika-web/src/main/webapp/WEB-INF/web.xml index 1d90352f..f739001b 100644 --- a/jasamedika-web/src/main/webapp/WEB-INF/web.xml +++ b/jasamedika-web/src/main/webapp/WEB-INF/web.xml @@ -15,7 +15,7 @@ spring.profiles.default - web + localhost