From 683e5a0eb4c6846eaeb255d85e2e7c46351f809b Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Thu, 15 Feb 2024 20:26:11 +0700 Subject: [PATCH 1/2] Create model entities Review tabel mapping obat tindakan dan obat pelayanan pasien untuk amprah obat tindakan paket --- .../medifirst2000/base/BaseMasterProduk.java | 30 +++----------- .../entities/ObatLayananTindakan.java | 40 +++++++++++++++++++ .../medifirst2000/entities/ObatTindakan.java | 39 ++++++++++++++++++ .../medifirst2000/entities/Produk.java | 6 +-- 4 files changed, 86 insertions(+), 29 deletions(-) create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ObatLayananTindakan.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ObatTindakan.java diff --git a/jasamedika-core/src/main/java/com/jasamedika/medifirst2000/base/BaseMasterProduk.java b/jasamedika-core/src/main/java/com/jasamedika/medifirst2000/base/BaseMasterProduk.java index da9cac4b..c582856c 100644 --- a/jasamedika-core/src/main/java/com/jasamedika/medifirst2000/base/BaseMasterProduk.java +++ b/jasamedika-core/src/main/java/com/jasamedika/medifirst2000/base/BaseMasterProduk.java @@ -1,16 +1,11 @@ package com.jasamedika.medifirst2000.base; -import java.io.Serializable; - -import javax.persistence.Column; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.MappedSuperclass; - import org.hibernate.annotations.GenericGenerator; import org.hibernate.validator.constraints.Length; +import javax.persistence.*; +import java.io.Serializable; + /** * Base class for all entities, but using String idString as 'id' * @@ -19,20 +14,9 @@ import org.hibernate.validator.constraints.Length; @MappedSuperclass public class BaseMasterProduk extends BaseActive implements Serializable { - /** - * - */ -// private static final long serialVersionUID = -7522287859244078391L; - @Id - @GeneratedValue( - strategy=GenerationType.SEQUENCE, - generator="public.produk_m_id_seq") - @javax.persistence.SequenceGenerator( - name="public.produk_m_id_seq", - sequenceName="public.produk_m_id_seq", - allocationSize=1 - ) + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.produk_m_id_seq") + @SequenceGenerator(name = "public.produk_m_id_seq", sequenceName = "public.produk_m_id_seq", allocationSize = 1) @Column(name = "id") protected Integer id; @@ -57,10 +41,6 @@ public class BaseMasterProduk extends BaseActive implements Serializable { this.noRec = noRec; } -// public static long getSerialversionuid() { -// return serialVersionUID; -// } - @Length(min = 1, max = 50, message = "") @Column(name = "reportDisplay") protected String reportDisplay; diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ObatLayananTindakan.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ObatLayananTindakan.java new file mode 100644 index 00000000..291840c3 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ObatLayananTindakan.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 static javax.persistence.FetchType.LAZY; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 15/02/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "obattindakan_t") +public class ObatLayananTindakan extends BaseTransaction implements Serializable { + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "tindakanpasienfk", nullable = false) + @NotNull(message = "Tindakan pasien Tidak boleh Kosong") + @Caption(value = "Tindakan Pasien") + private PelayananPasien tindakanPasien; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "obatfk", nullable = false) + @NotNull(message = "Obat tidak boleh kosong") + @Caption(value = "Obat") + private Produk obat; + + @Column(nullable = false, columnDefinition = "numeric(6,2)") + @NotNull(message = "Jumlah obat tidak boleh kosong") + private Double jumlahObat; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ObatTindakan.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ObatTindakan.java new file mode 100644 index 00000000..a08405ca --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ObatTindakan.java @@ -0,0 +1,39 @@ +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.Entity; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +import static javax.persistence.FetchType.LAZY; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 15/02/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "obattindakan_m") +public class ObatTindakan extends BaseTransaction implements Serializable { + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "tindakanfk", nullable = false) + @NotNull + @Caption(value = "Tindakan") + private Produk tindakan; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "obatfk", nullable = false) + @NotNull(message = "Obat tidak boleh kosong") + @Caption(value = "Obat") + private Produk obat; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/Produk.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/Produk.java index b54cd0fd..ca371c4f 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/Produk.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/Produk.java @@ -6,6 +6,7 @@ import com.jasamedika.medifirst2000.base.BaseMasterProduk; import com.jasamedika.medifirst2000.helper.Caption; import lombok.Getter; +import lombok.NoArgsConstructor; import lombok.Setter; import javax.persistence.*; @@ -23,6 +24,7 @@ import static javax.persistence.FetchType.LAZY; @Getter @Setter @Entity +@NoArgsConstructor @Table(name = "Produk_M") public class Produk extends BaseMasterProduk { public Produk(String kdProduk, String namaProduk, Integer id, SatuanStandar satuanStandar) { @@ -70,10 +72,6 @@ public class Produk extends BaseMasterProduk { this.keterangan = keterangan; } - public Produk() { - - } - @JsonBackReference @OneToMany(cascade = CascadeType.ALL, fetch = LAZY, mappedBy = "produk") private Set produkDetail = new HashSet<>(); From de49da1fc2a52878aac8d75f443c3e4f2681f10e Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Wed, 21 Feb 2024 09:57:43 +0700 Subject: [PATCH 2/2] Update model entities Perbaikan struktur mapping obat tindakan paket --- .gitignore | 2 ++ .../entities/ObatLayananTindakan.java | 17 +++++++++++++++++ .../medifirst2000/entities/ObatTindakan.java | 15 +++++++++++---- .../medifirst2000/entities/SatuanStandar.java | 11 +++++++---- jasamedika-web/src/main/webapp/WEB-INF/web.xml | 2 +- 5 files changed, 38 insertions(+), 9 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..c994f36c --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +jasamedika-web/src/main/webapp/WEB-INF/web.xml diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ObatLayananTindakan.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ObatLayananTindakan.java index 291840c3..9b604455 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ObatLayananTindakan.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ObatLayananTindakan.java @@ -8,6 +8,7 @@ import lombok.Setter; import javax.persistence.*; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.Date; import static javax.persistence.FetchType.LAZY; @@ -37,4 +38,20 @@ public class ObatLayananTindakan extends BaseTransaction implements Serializable @Column(nullable = false, columnDefinition = "numeric(6,2)") @NotNull(message = "Jumlah obat tidak boleh kosong") private Double jumlahObat; + + @Column(updatable = false, columnDefinition = "timestamp default current_date") + private Date tanggalDibuat; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "dibuat_pegawai_id") + @Caption(value = "Dibuat oleh pegawai") + private Pegawai dibuatOleh; + + @Column(insertable = false) + private Date tanggalDiubah; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "diubah_pengguna_id") + @Caption(value = "Diubah oleh pegawai") + private Pegawai diubahOleh; } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ObatTindakan.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ObatTindakan.java index a08405ca..8f150f11 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ObatTindakan.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ObatTindakan.java @@ -5,10 +5,7 @@ import com.jasamedika.medifirst2000.helper.Caption; import lombok.Getter; import lombok.Setter; -import javax.persistence.Entity; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table; +import javax.persistence.*; import javax.validation.constraints.NotNull; import java.io.Serializable; @@ -36,4 +33,14 @@ public class ObatTindakan extends BaseTransaction implements Serializable { @NotNull(message = "Obat tidak boleh kosong") @Caption(value = "Obat") private Produk obat; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "satuanfk", nullable = false) + @NotNull(message = "Satuan tidak boleh kosong") + @Caption(value = "Satuan") + private SatuanStandar satuan; + + @Column(nullable = false, columnDefinition = "numeric(6,2)") + @NotNull(message = "Jumlah obat tidak boleh kosong") + private Double jumlah; } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SatuanStandar.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SatuanStandar.java index 564708eb..5fb2426d 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SatuanStandar.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SatuanStandar.java @@ -8,6 +8,9 @@ import lombok.Setter; import javax.persistence.*; import javax.validation.constraints.NotNull; +import static javax.persistence.FetchType.LAZY; +import static javax.persistence.GenerationType.SEQUENCE; + /** * class SatuanStandar * @@ -18,7 +21,7 @@ import javax.validation.constraints.NotNull; @Entity @Table(name = "SatuanStandar_M") public class SatuanStandar extends BaseMaster { - @ManyToOne(fetch = FetchType.LAZY) + @ManyToOne(fetch = LAZY) @JoinColumn(name = "ObjectDepartemenFk") @Caption(value = "Object Departemen") private Departemen departemen; @@ -26,14 +29,14 @@ public class SatuanStandar extends BaseMaster { @Column(name = "ObjectDepartemenFk", insertable = false, updatable = false) private Integer departemenId; - @ManyToOne(fetch = FetchType.LAZY) + @ManyToOne(fetch = LAZY) @JoinColumn(name = "ObjectKelompokProdukFk") @Caption(value = "Object Kelompok Produk") private KelompokProduk kelompokProduk; @Column(name = "ObjectKelompokProdukFk", insertable = false, updatable = false, nullable = false) private Integer kelompokProdukId; - @ManyToOne(fetch = FetchType.LAZY) + @ManyToOne(fetch = LAZY) @JoinColumn(name = "KdHeadSatuanStandard") @Caption(value = "Satuan Standar") private SatuanStandar satuanStandarHead; @@ -51,7 +54,7 @@ public class SatuanStandar extends BaseMaster { private String satuanStandar; @Id - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.satuanstandar_m_id_seq") + @GeneratedValue(strategy = SEQUENCE, generator = "public.satuanstandar_m_id_seq") @SequenceGenerator(name = "public.satuanstandar_m_id_seq", sequenceName = "public.satuanstandar_m_id_seq", allocationSize = 1) @Column(name = "id") protected Integer id; 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