diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/RekapLogbookDokterDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/RekapLogbookDokterDao.java index 913d7bc5..1549f399 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/RekapLogbookDokterDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/RekapLogbookDokterDao.java @@ -3,10 +3,15 @@ package com.jasamedika.medifirst2000.dao; import com.jasamedika.medifirst2000.entities.RekapLogbookDokter; import org.springframework.data.jpa.repository.JpaRepository; +import java.util.Date; +import java.util.List; + /** * @author salmanoe * @version 1.0.0 * @since 07/11/2023 */ public interface RekapLogbookDokterDao extends JpaRepository { + + List findByBulanBetween(Date tglAwal, Date tglAkhir); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/RekapLogbookDokterService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/RekapLogbookDokterService.java new file mode 100644 index 00000000..f3a2715e --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/RekapLogbookDokterService.java @@ -0,0 +1,13 @@ +package com.jasamedika.medifirst2000.service; + +import java.util.Date; + +/** + * @author Salman + * @version 1.0.0 + * @since 01/01/2024 + */ +public interface RekapLogbookDokterService { + + void deleteByPeriod(Date tglAwal, Date tglAkhir); +} diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RekapLogbookDokterServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RekapLogbookDokterServiceImpl.java new file mode 100644 index 00000000..77b71a77 --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RekapLogbookDokterServiceImpl.java @@ -0,0 +1,30 @@ +package com.jasamedika.medifirst2000.service.impl; + +import com.jasamedika.medifirst2000.dao.RekapLogbookDokterDao; +import com.jasamedika.medifirst2000.entities.RekapLogbookDokter; +import com.jasamedika.medifirst2000.service.RekapLogbookDokterService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + +/** + * @author Salman + * @version 1.0.0 + * @since 01/01/2024 + */ +@Service +@Transactional +public class RekapLogbookDokterServiceImpl implements RekapLogbookDokterService { + + @Autowired + private RekapLogbookDokterDao rekapLogbookDokterDao; + + @Override + public void deleteByPeriod(Date tglAwal, Date tglAkhir) { + List listRekap = rekapLogbookDokterDao.findByBulanBetween(tglAwal, tglAkhir); + rekapLogbookDokterDao.delete(listRekap); + } +} diff --git a/jasamedika-config/src/main/resources/jdbc.bridging.properties b/jasamedika-config/src/main/resources/jdbc.bridging.properties index 06a8cb9d..38cd7bad 100644 --- a/jasamedika-config/src/main/resources/jdbc.bridging.properties +++ b/jasamedika-config/src/main/resources/jdbc.bridging.properties @@ -5,7 +5,7 @@ hibernate.hbm2ddl = none hibernate.format_sql = false hibernate.show_sql = false -hikari.config.maximum.pool.size = 50 +hikari.config.maximum.pool.size = 25 # DB Production jdbc.url = jdbc:postgresql://psql1.rsabhk.lan:5432/rsab_hk_production @@ -15,8 +15,8 @@ jdbc.serverName = psql1.rsabhk.lan jdbc.databaseName = rsab_hk_production jdbc.portNumber = 5432 -corePoolSizeAsyncConfigurer = 50 -maxPoolSizeAsyncConfigurer = 100 +corePoolSizeAsyncConfigurer = 10 +maxPoolSizeAsyncConfigurer = 20 systemDirectory=/mnt/files/ reportDirectory=/home/svradmin/app-back/uploadfile/ diff --git a/jasamedika-config/src/main/resources/jdbc.mirroring.properties b/jasamedika-config/src/main/resources/jdbc.mirroring.properties index 61f6dcbb..7f96edd6 100644 --- a/jasamedika-config/src/main/resources/jdbc.mirroring.properties +++ b/jasamedika-config/src/main/resources/jdbc.mirroring.properties @@ -5,7 +5,7 @@ hibernate.hbm2ddl = none hibernate.format_sql = false hibernate.show_sql = false -hikari.config.maximum.pool.size = 100 +hikari.config.maximum.pool.size = 50 # DB Mirroring jdbc.url = jdbc:postgresql://ds.rsabhk.lan:5432/rsab_hk_production @@ -15,8 +15,8 @@ jdbc.serverName = ds.rsabhk.lan jdbc.databaseName = rsab_hk_production jdbc.portNumber = 5432 -corePoolSizeAsyncConfigurer = 50 -maxPoolSizeAsyncConfigurer = 100 +corePoolSizeAsyncConfigurer = 10 +maxPoolSizeAsyncConfigurer = 20 systemDirectory=/mnt/files/ reportDirectory=/home/svradmin/app-back/uploadfile/ diff --git a/jasamedika-config/src/main/resources/jdbc.pelayanan.properties b/jasamedika-config/src/main/resources/jdbc.pelayanan.properties index 06a8cb9d..38cd7bad 100644 --- a/jasamedika-config/src/main/resources/jdbc.pelayanan.properties +++ b/jasamedika-config/src/main/resources/jdbc.pelayanan.properties @@ -5,7 +5,7 @@ hibernate.hbm2ddl = none hibernate.format_sql = false hibernate.show_sql = false -hikari.config.maximum.pool.size = 50 +hikari.config.maximum.pool.size = 25 # DB Production jdbc.url = jdbc:postgresql://psql1.rsabhk.lan:5432/rsab_hk_production @@ -15,8 +15,8 @@ jdbc.serverName = psql1.rsabhk.lan jdbc.databaseName = rsab_hk_production jdbc.portNumber = 5432 -corePoolSizeAsyncConfigurer = 50 -maxPoolSizeAsyncConfigurer = 100 +corePoolSizeAsyncConfigurer = 10 +maxPoolSizeAsyncConfigurer = 20 systemDirectory=/mnt/files/ reportDirectory=/home/svradmin/app-back/uploadfile/ diff --git a/jasamedika-config/src/main/resources/jdbc.sdm.properties b/jasamedika-config/src/main/resources/jdbc.sdm.properties index ed81670f..26b01e89 100644 --- a/jasamedika-config/src/main/resources/jdbc.sdm.properties +++ b/jasamedika-config/src/main/resources/jdbc.sdm.properties @@ -5,7 +5,7 @@ hibernate.hbm2ddl = none hibernate.format_sql = false hibernate.show_sql = false -hikari.config.maximum.pool.size = 120 +hikari.config.maximum.pool.size = 60 # DB Production jdbc.url = jdbc:postgresql://psql1.rsabhk.lan:5432/rsab_hk_production @@ -15,8 +15,8 @@ jdbc.serverName = psql1.rsabhk.lan jdbc.databaseName = rsab_hk_production jdbc.portNumber = 5432 -corePoolSizeAsyncConfigurer = 50 -maxPoolSizeAsyncConfigurer = 100 +corePoolSizeAsyncConfigurer = 10 +maxPoolSizeAsyncConfigurer = 20 systemDirectory=/mnt/files/ reportDirectory=/home/svradmin/app-back/uploadfile/ diff --git a/jasamedika-config/src/main/resources/jdbc.web.properties b/jasamedika-config/src/main/resources/jdbc.web.properties index 06a8cb9d..38cd7bad 100644 --- a/jasamedika-config/src/main/resources/jdbc.web.properties +++ b/jasamedika-config/src/main/resources/jdbc.web.properties @@ -5,7 +5,7 @@ hibernate.hbm2ddl = none hibernate.format_sql = false hibernate.show_sql = false -hikari.config.maximum.pool.size = 50 +hikari.config.maximum.pool.size = 25 # DB Production jdbc.url = jdbc:postgresql://psql1.rsabhk.lan:5432/rsab_hk_production @@ -15,8 +15,8 @@ jdbc.serverName = psql1.rsabhk.lan jdbc.databaseName = rsab_hk_production jdbc.portNumber = 5432 -corePoolSizeAsyncConfigurer = 50 -maxPoolSizeAsyncConfigurer = 100 +corePoolSizeAsyncConfigurer = 10 +maxPoolSizeAsyncConfigurer = 20 systemDirectory=/mnt/files/ reportDirectory=/home/svradmin/app-back/uploadfile/ diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/DokterRawatBersama.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/DokterRawatBersama.java index aa7b5d5a..22eaabd6 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/DokterRawatBersama.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/DokterRawatBersama.java @@ -1,16 +1,16 @@ package com.jasamedika.medifirst2000.entities; +import com.jasamedika.medifirst2000.helper.Caption; import lombok.Getter; import lombok.Setter; -import javax.persistence.Column; -import javax.persistence.EmbeddedId; -import javax.persistence.Entity; -import javax.persistence.Table; +import javax.persistence.*; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.Date; +import static javax.persistence.FetchType.LAZY; + /** * @author salmanoe * @version 1.0.0 @@ -21,14 +21,23 @@ import java.util.Date; @Entity @Table(name = "dokterrawatbersama_t") public class DokterRawatBersama implements Serializable { - private static final long serialVersionUID = -2730359617233536316L; + private static final long serialVersionUID = 6332383431538705253L; @EmbeddedId - private DokterRawatBersamaId id; + private DokterRawatBersamaId id; - @Column(nullable = false) - @NotNull(message = "Tanggal awal tidak boleh kosong") - private Date tanggalAwal; + @Column(nullable = false) + @NotNull(message = "Tanggal awal tidak boleh kosong") + private Date tanggalAwal; - private Date tanggalAkhir; + private Date tanggalAkhir; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "noregistrasifk", nullable = false) + @NotNull(message = "No Registrasi Harus Diisi") + @Caption(value = "No Registrasi") + private AntrianPasienDiPeriksa detailRegistrasi; + + @Column(name = "noregistrasifk", columnDefinition = "CHAR(32)", nullable = false, insertable = false, updatable = false) + private String detailRegistrasiId; } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MapKfaToProduk.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MapKfaToProduk.java new file mode 100644 index 00000000..61c36dc1 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MapKfaToProduk.java @@ -0,0 +1,90 @@ +package com.jasamedika.medifirst2000.entities; + +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; +import static javax.persistence.GenerationType.SEQUENCE; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 09/01/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "b_sh_map_kfa_toproduk") +public class MapKfaToProduk implements Serializable { + private static final long serialVersionUID = -3622226917866786718L; + + @Id + @GeneratedValue(strategy = SEQUENCE, generator = "gen_b_sh_map_kfa_toproduk_id_seq") + @SequenceGenerator(name = "gen_b_sh_map_kfa_toproduk_id_seq", sequenceName = "public.b_sh_map_kfa_toproduk_sequence", allocationSize = 1) + @Column(name = "id", columnDefinition = "int4 default nextval('b_sh_map_kfa_toproduk_sequence'::regclass)") + protected Integer id; + + @Column(name = "statusenabled", nullable = false) + @NotNull(message = "Status tidak boleh kosong") + @Caption("Status Enabled") + private Boolean statusEnabled; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "id_smart", nullable = false) + @NotNull(message = "Produk tidak boleh kosong") + @Caption(value = "Produk") + private Produk produk; + + @Column(name = "id_smart", insertable = false, updatable = false) + private Integer produkId; + + @Column(name = "nama_produk", length = 500, nullable = false, unique = true) + @Size(max = 500, message = "Nama produk maksimal {max} karakter") + @NotBlank(message = "Nama produk tidak boleh kosong") + @Caption("Nama Produk") + private String namaProduk; + + @Column(name = "satuan_dosis") + @Caption("Satuan Dosis") + private String satuanDosis; + + @Column(name = "perkiraan_satuan_besar") + @Caption("Perkiraan Satuan Besar") + private String perkiraanSatuanBesar; + + @Caption("Formula") + private String formula; + + @Column(name = "kode_kfa_1") + @Caption("Kode KFA 1") + private Integer kodeKfa1; + + @Column(name = "nama_kfa_1", length = 500) + @Size(max = 500, message = "Nama KFA 1 tidak boleh kosong") + @Caption("Nama KFA 1") + private String namaKfa1; + + @Column(name = "kode_kfa_2") + @Caption("Kode KFA 2") + private Integer kodeKfa2; + + @Column(name = "nama_kfa_2", length = 500) + @Size(max = 500, message = "Nama KFA 2 tidak boleh kosong") + @Caption("Nama KFA 2") + private String namaKfa2; + + @Column(name = "dosis_kfa_ingredients") + @Caption("Dosis KFA Ingredients") + private String dosisKfaIngredients; + + @Column(name = "satuan_kfa_ingredients") + @Caption("Satuan KFA Ingredients") + private String satuanKfaIngredients; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MapKfaToProdukVarian.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MapKfaToProdukVarian.java new file mode 100644 index 00000000..0904e705 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MapKfaToProdukVarian.java @@ -0,0 +1,70 @@ +package com.jasamedika.medifirst2000.entities; + +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; +import static javax.persistence.GenerationType.SEQUENCE; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 09/01/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "b_sh_map_kfa_toproduk_varian") +public class MapKfaToProdukVarian implements Serializable { + private static final long serialVersionUID = 7946989249822624944L; + + @Id + @GeneratedValue(strategy = SEQUENCE, generator = "gen_b_sh_map_kfa_toproduk_varian_id_seq") + @SequenceGenerator(name = "gen_b_sh_map_kfa_toproduk_varian_id_seq", sequenceName = "public.b_sh_map_kfa_toproduk_varian_sequence", allocationSize = 1) + @Column(name = "id", columnDefinition = "int4 default nextval('b_sh_map_kfa_toproduk_varian_sequence'::regclass)") + protected Integer id; + + @Column(name = "statusenabled", nullable = false) + @NotNull(message = "Status tidak boleh kosong") + @Caption("Status Enabled") + private Boolean statusEnabled; + + @Column(name = "nama_varian", length = 500, nullable = false, unique = true) + @Size(max = 500, message = "Nama varian maksimal {max} karakter") + @NotBlank(message = "Nama varian tidak boleh kosong") + @Caption("Nama Varian") + private String namaVarian; + + @Column(name = "kode_kfa_3") + @Caption("Kode KFA 3") + private Integer kodeKfa3; + + @Column(name = "nama_kfa_3", length = 500) + @Size(max = 500, message = "Nama KFA 3 tidak boleh kosong") + private String namaKfa3; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "rekanan_id", nullable = false) + @NotNull(message = "Rekanan distributor tidak boleh kosong") + @Caption(value = "Rekanan distributor") + private Rekanan distributor; + + @Column(name = "rekanan_id", insertable = false, updatable = false) + private Integer distributorId; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "b_sh_map_kfa_toproduk_id", nullable = false) + @NotNull(message = "Mapping KFA tidak boleh kosong") + @Caption(value = "Mapping KFA") + private MapKfaToProduk mapKfaToProduk; + + @Column(name = "b_sh_map_kfa_toproduk_id", insertable = false, updatable = false) + private Integer mapKfaToProdukId; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasien.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasien.java index 8f40a59d..7c047a8a 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasien.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasien.java @@ -11,6 +11,8 @@ import java.util.Date; import java.util.HashSet; import java.util.Set; +import static javax.persistence.FetchType.LAZY; + @Getter @Setter @Entity @@ -272,4 +274,20 @@ public class PelayananPasien extends MedicalRecordTransaction { private Boolean isPaket; private Boolean isSelisihPaket; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "aturanpakaifk") + @Caption(value = "Aturan Pakai") + private AturanPakai aturanPakaiReguler; + + @Column(name = "aturanpakaifk", columnDefinition = "CHAR(32)", insertable = false, updatable = false) + private String aturanPakaiRegulerId; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "aturanpakaisignafk") + @Caption(value = "Aturan Pakai Signa") + private AturanPakaiSigna aturanPakaiSigna; + + @Column(name = "aturanpakaisignafk", columnDefinition = "CHAR(32)", insertable = false, updatable = false) + private String aturanPakaiSignaId; } \ No newline at end of file diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasienRetur.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasienRetur.java new file mode 100644 index 00000000..1d81d8e8 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasienRetur.java @@ -0,0 +1,284 @@ +package com.jasamedika.medifirst2000.entities; + +import com.fasterxml.jackson.annotation.JsonBackReference; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; + +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import java.util.Date; +import java.util.HashSet; +import java.util.Set; + +import static javax.persistence.FetchType.LAZY; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 02/01/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "pelayananpasienretur_t") +public class PelayananPasienRetur extends MedicalRecordTransaction { + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "Generik") + @Caption(value = "Generik") + private Generik generik; + + @Column(name = "Generik", insertable = false, updatable = false) + private Integer generikId; + + @Caption(value = "statusOrder") + @Column(name = "statusOrder") + private Byte statusOrder; + + @Caption(value = "jasa") + @Column(name = "jasa") + private Double jasa; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "KelasFk") + @Caption(value = "Produk") + private Kelas kelas; + + @Column(name = "KelasFk", insertable = false, updatable = false) + private Integer kelasId; + + @Caption(value = "Is Pasien") + @Column(name = "isPasien") + private Boolean isPasien; + + @Caption(value = "Is Pasien") + @Column(name = "isObat") + private Boolean isObat; + + @Caption(value = "Is Pasien") + @Column(name = "isDosis") + private Boolean isDosis; + + @Caption(value = "Is Pasien") + @Column(name = "isRoute") + private Boolean isRoute; + + @Caption(value = "Is Pasien") + @Column(name = "isDokumentasi") + private Boolean isDokumentasi; + + @Caption(value = "Is Pasien") + @Column(name = "isWaktu") + private Boolean isWaktu; + + @Caption(value = "Is Pasien") + @Column(name = "isInformasi") + private Boolean isInformasi; + + @Caption(value = "Is Benar") + @Column(name = "isBenar") + private Boolean isBenar; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "StrukFk") + private StrukPelayanan strukPelayanan; + + @Column(name = "StrukFk", nullable = false, insertable = false, updatable = false) + private String strukFk; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "StrukTerimaFk") + private StrukPelayanan strukTerima; + + @Column(name = "StrukTerimaFk", insertable = false, updatable = false) + private String strukTerimaId; + + @Caption(value = "nilaiKonversi") + @Column(name = "nilaiKonversi") + private Float nilaiKonversi; + + @Caption(value = "Status") + @Column(name = "status") + private String status; + + @Caption(value = "Tanggal Pelayanan") + @Column(name = "TglPelayanan") + private Date tglPelayanan; + + @Caption(value = "Harga Satuan") + @Column(name = "hargaSatuan") + private Double hargaSatuan; + + @Caption(value = "Harga Jual") + @Column(name = "HargaJual") + private Double hargaJual; + + @Caption(value = "Nilai Normal") + @Column(name = "NilaiNormal") + private Byte nilaiNormal; + + @Caption(value = "Piutang Penjamin") + @Column(name = "piutangPenjamin") + private Double piutangPenjamin; + + @Caption(value = "Piutang Rumah Sakit") + @Column(name = "piutangRumahSakit") + private Double piutangRumahSakit; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "NoBatch") + @Caption(value = "Struk Order") + private StrukPelayananDNoBatch noBatch; + + @Column(name = "NoBatch", columnDefinition = "CHAR(32)", insertable = false, updatable = false) + private String noBatchId; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "satuanViewFK") + @Caption(value = "satuanView") + private SatuanStandar satuanView; + + @Column(name = "satuanViewFK", insertable = false, updatable = false) + private Integer satuanViewId; + + @ManyToOne(fetch = FetchType.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(fetch = FetchType.LAZY) + @JoinColumn(name = "JenisObatFk") + @Caption(value = "Jenis Obat") + private JenisObat jenisObat; + + @Column(name = "JenisObatFk", insertable = false, updatable = false) + private Integer jenisObatId; + + @ManyToOne(fetch = FetchType.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; + + @Column(name = "Stock", nullable = false, length = 100) + @Caption(value = "Stock") + private Double stock; + + @Column(name = "Jumlah", nullable = false, length = 100) + @Caption(value = "Jumlah") + private Double jumlah; + + @Column(name = "AturanPakai", length = 100) + @Caption(value = "AturanPakai") + private String aturanPakai; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "RouteFk") + @Caption(value = "Route") + private RouteFarmasi route; + + @Column(name = "RouteFk", insertable = false, updatable = false) + private Integer routeId; + + @ManyToOne(fetch = FetchType.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) + @Caption(value = "KeteranganPakai2") + private String keteranganPakai2; + + @ManyToOne(fetch = FetchType.LAZY) + @Caption(value = "Kelompok Transaksi") + @JoinColumn(name = "KdKelompokTransaksi") + private KelompokTransaksi kelompokTransaksi; + + @Column(name = "KdKelompokTransaksi", insertable = false, updatable = false) + private Integer kelompokTransaksiId; + + @Column(name = "KeteranganLain", length = 100) + @Caption(value = "KeteranganLain") + private String keteranganLain; + + @Caption(value = "Harga Discount") + @Column(name = "hargaDiscount") + private Double hargaDiscount; + + @Caption(value = "hargaNetto") + @Column(name = "hargaNetto") + private Double hargaNetto; + + @Caption(value = "dosis") + @Column(name = "dosis") + private Float dosis; + + @Caption(value = "NoRecTriger") + @Column(name = "noRecTriger") + private String noRecTriger; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "StrukResepFk") + @Caption(value = "StrukResep") + private StrukResep strukResep; + + @Column(name = "StrukResepFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false) + private String strukResepId; + + @ManyToOne(fetch = FetchType.LAZY) + @Caption(value = "JenisKemasan") + @JoinColumn(name = "JenisKemasanFK") + private JenisKemasan jenisKemasan; + + @Column(name = "JenisKemasanFK", insertable = false, updatable = false) + private Integer jenisKemasanId; + + @Column(name = "rKe") + @Caption(value = "rKe") + private String rKe; + + @JsonBackReference + @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "pelayananPasien") + private Set pelayananPasienPetugasSet = new HashSet<>(); + + @JsonBackReference + @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "pelayananPasien") + private Set racikan = new HashSet<>(); + + @JsonBackReference + @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "pelayananPasien") + private Set pelayananPasienDetailSet = new HashSet<>(); + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "strukreturfk") + @Caption(value = "Struk Retur") + private StrukRetur strukRetur; + + @Column(name = "strukreturfk", columnDefinition = "CHAR(32)", insertable = false, updatable = false) + private String strukReturId; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "aturanpakaifk") + @Caption(value = "Aturan Pakai") + private AturanPakai aturanPakaiReguler; + + @Column(name = "aturanpakaifk", columnDefinition = "CHAR(32)", insertable = false, updatable = false) + private String aturanPakaiRegulerId; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "aturanpakaisignafk") + @Caption(value = "Aturan Pakai Signa") + private AturanPakaiSigna aturanPakaiSigna; + + @Column(name = "aturanpakaisignafk", columnDefinition = "CHAR(32)", insertable = false, updatable = false) + private String aturanPakaiSignaId; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PelayananPasienReturVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PelayananPasienReturVO.java new file mode 100644 index 00000000..c228120c --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PelayananPasienReturVO.java @@ -0,0 +1,161 @@ +package com.jasamedika.medifirst2000.vo; + +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotNull; +import java.util.Date; +import java.util.HashSet; +import java.util.Set; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 02/01/2024 + */ +@Getter +@Setter +public class PelayananPasienReturVO extends MedicalRecordTransactionVO { + @Caption(value = "Generik") + private GenerikVO generik; + + @Caption(value = "statusOrder") + private Byte statusOrder; + + @Caption(value = "Jasa Farmasi") + private Double jasa; + + @Caption(value = "Produk") + private KelasVO kelas; + + @Caption(value = "Is Pasien") + private Boolean isPasien; + + @Caption(value = "Is Pasien") + private Boolean isObat; + + @Caption(value = "Is Pasien") + private Boolean isDosis; + + @Caption(value = "Is Pasien") + private Boolean isRoute; + + @Caption(value = "Is Pasien") + private Boolean isDokumentasi; + + @Caption(value = "Is Pasien") + private Boolean isWaktu; + + @Caption(value = "Is Pasien") + private Boolean isInformasi; + + @Caption(value = "Is Benar") + private Boolean isBenar; + + private StrukPelayananVO strukPelayanan; + + @Caption(value = "Status") + private String status; + + @Caption(value = "Tanggal Pelayanan") + private Date tglPelayanan; + + @Caption(value = "Harga Satuan") + private Double hargaSatuan; + + @Caption(value = "Harga Jual") + private Double hargaJual; + + @Caption(value = "Nilai Normal") + private Byte nilaiNormal; + + @Caption(value = "Piutang Penjamin") + private Double piutangPenjamin; + + @Caption(value = "Piutang Rumah Sakit") + private Double piutangRumahSakit; + + @Caption(value = "Struk Order") + private StrukPelayananDNoBatchVO noBatch; + + @Caption(value = "Struk Order") + private StrukOrderVO strukOrder; + + @Caption(value = "Jenis Obat") + private JenisObatVO jenisObat; + + @NotNull(message = "Produk Harus Diisi") + @Caption(value = "Produk") + private ProdukVO produk; + + @Caption(value = "Stock") + private Double stock; + + @Caption(value = "Jumlah") + private Double jumlah; + + @Caption(value = "AturanPakai") + private String aturanPakai; + + @Caption(value = "Route") + private RouteFarmasiVO route; + + @Caption(value = "Keterangan Pakai") + private StigmaVO keteranganPakai; + + @Caption(value = "KeteranganPakai2") + private String keteranganPakai2; + + @Caption(value = "Kelompok Transaksi") + private KelompokTransaksiVO kelompokTransaksi; + + @Caption(value = "KeteranganLain") + private String keteranganLain; + + @Caption(value = "Harga Discount") + private Double hargaDiscount; + + @Caption(value = "hargaNetto") + private Double hargaNetto; + + @Caption(value = "NoRecTriger") + private String noRecTriger; + + @Caption(value = "qty") + private Double qty; + + @Caption(value = "totalHarga") + private Double totalHarga; + + @Caption(value = "resepKe") + private Integer resepKe; + + private Set pelayananPasienPetugasSet = new HashSet<>(); + + private Set racikan = new HashSet<>(); + + private Set pelayananPasienDetailSet = new HashSet<>(); + + @Caption(value = "petugas") + private Set petugas = new HashSet<>(); + + private SatuanStandarVO satuanView; + + private Integer satuanViewId; + + @Caption(value = "Struk Retur") + private StrukReturVO strukRetur; + + private String strukReturId; + + @Caption(value = "Aturan Pakai") + private AturanPakaiVO aturanPakaiReguler; + + private String aturanPakaiRegulerId; + + @Caption(value = "Aturan Pakai Signa") + private AturanPakaiSignaVO aturanPakaiSigna; + + private String aturanPakaiSignaId; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PelayananPasienVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PelayananPasienVO.java index 1e33bcbd..8c47e315 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PelayananPasienVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PelayananPasienVO.java @@ -152,4 +152,14 @@ public class PelayananPasienVO extends MedicalRecordTransactionVO { private Boolean isPaket; private Boolean isSelisihPaket; + + @Caption(value = "Aturan Pakai") + private AturanPakaiVO aturanPakaiReguler; + + private String aturanPakaiRegulerId; + + @Caption(value = "Aturan Pakai Signa") + private AturanPakaiSignaVO aturanPakaiSigna; + + private String aturanPakaiSignaId; } \ No newline at end of file