From ae58deec3101c2b80af4ca42da2ee2ce722dd655 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Mon, 25 Sep 2023 13:29:40 +0700 Subject: [PATCH] Update service pelayanan pasien Penerapan mapping harga tarif kelas untuk transformasi data layanan paket di logbook fixed pay --- .../medifirst2000/constants/Master.java | 1 + .../dao/HargaNettoProdukByKelasDDao.java | 25 +- .../dao/HargaNettoProdukByKelasDao.java | 6 +- .../service/impl/OrderProdukServiceImpl.java | 4 +- .../PelayananHargaStokDiskonServiceImpl.java | 2 +- .../impl/PelayananPasienServiceImpl.java | 152 +++++++++++- .../service/impl/RadiologiServiceImpl.java | 4 +- .../impl/RegistrasiPelayananServiceImpl.java | 4 +- .../entities/HargaNettoProdukByKelasD.java | 194 ++------------- .../vo/HargaNettoProdukByKelasDVO.java | 229 +++--------------- 10 files changed, 213 insertions(+), 408 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java index 429b136e..b3cd8d78 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java @@ -204,6 +204,7 @@ public final class Master { public static final Integer JASA_ASISTEN_SPESIALIS = 22; public static final Integer JASA_DOKTER = 35; public static final Integer JASA_DOKTER_ANASTESI = 21; + public static final Integer JASA_DOKTER_OBGYN = 201; public static final Integer[] JASA_MEDIS = { 21, 22, 35 }; public static final Integer[] JASA_PARAMEDIS = { 25, 26, 27 }; public static final Integer[] JASA_SARANA = { 6, 38 }; diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/HargaNettoProdukByKelasDDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/HargaNettoProdukByKelasDDao.java index 9aef39f4..c58a8988 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/HargaNettoProdukByKelasDDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/HargaNettoProdukByKelasDDao.java @@ -1,32 +1,33 @@ package com.jasamedika.medifirst2000.dao; +import com.jasamedika.medifirst2000.entities.HargaNettoProdukByKelasD; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; + import java.util.List; import java.util.Optional; -import org.springframework.data.jpa.repository.Query; -import org.springframework.data.repository.PagingAndSortingRepository; -import org.springframework.data.repository.query.Param; -import org.springframework.stereotype.Repository; - -import com.jasamedika.medifirst2000.entities.HargaNettoProdukByKelasD; - -@Repository("HargaNettoProdukByKelasDDao") -public interface HargaNettoProdukByKelasDDao extends PagingAndSortingRepository { +public interface HargaNettoProdukByKelasDDao extends JpaRepository { @Query("select model from HargaNettoProdukByKelasD model where model.produk.id=:produkId and model.kelas.id=:kelasId " + "and model.asalProduk.id=:asalProdukId and model.jenisTarif.id=:jenisTarifId") - public List findProdByKelas(@Param("produkId") Integer produkId, + List findProdByKelas(@Param("produkId") Integer produkId, @Param("kelasId") Integer kelasId, @Param("asalProdukId") Integer asalProdukId, @Param("jenisTarifId") Integer jenisTarifId); @Query("select a from HargaNettoProdukByKelasD a " + "left join a.kelas b " + "left join a.produk d " + "where b.id=:kelasId and d.id=:produkId") - public List findByKelasNProduk(@Param("kelasId") Integer kelasId, + List findByKelasNProduk(@Param("kelasId") Integer kelasId, @Param("produkId") Integer produkId); @Query("select distinct hnd.hargaNetto1 " + "from HargaNettoProdukByKelasD hnd " + "inner join hnd.produk prd " + "inner join hnd.kelas kls " + "where hnd.statusEnabled is true " + "and prd.statusEnabled is true " + "and kls.statusEnabled is true " + "and hnd.komponenHargaId = :komponenHargaId " + "and hnd.produkId = :produkId " + "and hnd.kelasId = :kelasId") - public Optional findHargetNetto1Komponen(@Param("komponenHargaId") Integer idKomponenHarga, + Optional findHargetNetto1Komponen(@Param("komponenHargaId") Integer idKomponenHarga, @Param("produkId") Integer idProduk, @Param("kelasId") Integer idKelas); + + @Query("select hnd from HargaNettoProdukByKelasD hnd " + "where hnd.reportDisplay = 'tarif_2022_Nov' " + + "and concat(hnd.produkId,'',hnd.kelasId) in (:concatProdukKelas)") + List findByConcateProdukKelas(@Param("concatProdukKelas") List concatProdukKelas); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/HargaNettoProdukByKelasDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/HargaNettoProdukByKelasDao.java index 57255bfb..50132db7 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/HargaNettoProdukByKelasDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/HargaNettoProdukByKelasDao.java @@ -41,6 +41,8 @@ public interface HargaNettoProdukByKelasDao extends JpaRepository> findTarifTindakan(@Param("produkId") Integer idProduk, @Param("listKelasId") List listIdKelas); - - List findAllByProdukIdAndKelasId(Integer produkId, Integer kelasId); + + @Query("select hnk from HargaNettoProdukByKelas hnk " + "where hnk.reportDisplay = 'tarif_2022_Nov' " + + "and concat(hnk.produkId,'',hnk.kelasId) in (:concatProdukKelas)") + List findByConcateProdukKelas(@Param("concatProdukKelas") List concatProdukKelas); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/OrderProdukServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/OrderProdukServiceImpl.java index 60bbf472..6a51df19 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/OrderProdukServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/OrderProdukServiceImpl.java @@ -720,8 +720,8 @@ public class OrderProdukServiceImpl extends BaseVoServiceImpl implements OrderPr if(CommonUtil.isNotNullOrEmpty(harga.get("hargaPiutangRumahSakit"))) { pelayananPasienDetail.setPiutangRumahSakit((Double) harga.get("hargaPiutangRumahSakit")); } - if(CommonUtil.isNotNullOrEmpty(hargaNetto.getqtyCurrentStok())) { - pelayananPasienDetail.setStock(hargaNetto.getqtyCurrentStok().intValue()); + if(CommonUtil.isNotNullOrEmpty(hargaNetto.getQtyCurrentStok())) { + pelayananPasienDetail.setStock(hargaNetto.getQtyCurrentStok().intValue()); } if(CommonUtil.isNotNullOrEmpty(harga.get("jumlah"))) { pelayananPasienDetail.setJumlah((Double) harga.get("jumlah")); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananHargaStokDiskonServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananHargaStokDiskonServiceImpl.java index b6e9b4c8..d2b26208 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananHargaStokDiskonServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananHargaStokDiskonServiceImpl.java @@ -268,7 +268,7 @@ public class PelayananHargaStokDiskonServiceImpl implements PelayananHargaStokDi for (HargaNettoProdukByKelasD abc : listHargaNettoProdukByKelasD) { hargaNetto1 = String.valueOf(abc.getHargaNetto1()); hargaNetto2 = String.valueOf(abc.getHargaNetto2()); - stok = String.valueOf(abc.getqtyCurrentStok()); + stok = String.valueOf(abc.getQtyCurrentStok()); factorRate = String.valueOf(abc.getFactorRate()); persenDiskon = String.valueOf(abc.getPersenDiscount()); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java index f43bee80..c2ce4b7b 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java @@ -40,6 +40,7 @@ import static com.jasamedika.medifirst2000.constants.Master.KONSUL_VISIT; import static com.jasamedika.medifirst2000.constants.Master.KategoryPegawai.DOKTER_LUAR; import static com.jasamedika.medifirst2000.constants.Master.KelompokPasien.KELOMPOK_BPJS; import static com.jasamedika.medifirst2000.constants.Master.KelompokUser.TATA_REKENING; +import static com.jasamedika.medifirst2000.constants.Master.KomponenHarga.JASA_DOKTER_OBGYN; import static com.jasamedika.medifirst2000.constants.Master.Ruangan.*; import static com.jasamedika.medifirst2000.constants.Master.SubUnitKerja.*; import static com.jasamedika.medifirst2000.constants.Master.TipePegawai.PURNA_WAKTU; @@ -127,6 +128,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel @Autowired private HargaNettoProdukByKelasDao hargaNettoProdukByKelasDao; + @Autowired + private HargaNettoProdukByKelasDDao hargaNettoProdukByKelasDDao; + @Autowired private PelayananPasienPetugasDao pelayananPasienPetugasDao; @@ -1504,7 +1508,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel private List> setPelayananPaket(List> listData) { /* - * Transformasi data paket menggunakan mapprodukpaket dan mapprodukpakettoproduk + * Transformasi data paket menggunakan mapprodukpaket dan + * mapprodukpakettoproduk */ List> listFixedPay = transformPelayananPaket(listData); /* @@ -1514,7 +1519,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel /* * Pengelompokkan produk layanan */ - List> result = groupingKategoriFfs(dataTanggal); + List> result = groupingKategoriFixedPay(dataTanggal); /* * Final sorting */ @@ -1550,7 +1555,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel private List> groupingTanggalPaket(List> listFixedPay) { List listIdProduk = new ArrayList<>(); - List listPersenJasa = new ArrayList<>(); List listHargaJasa = new ArrayList<>(); List listHargaJual = new ArrayList<>(); List listIdKelompokPasien = new ArrayList<>(); @@ -1559,8 +1563,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel listFixedPay.forEach(d -> { if (!listIdProduk.contains(Integer.parseInt(d.get("idProduk").toString()))) listIdProduk.add(Integer.valueOf(d.get("idProduk").toString())); - if (!listPersenJasa.contains(d.get("persenJasa").toString())) - listPersenJasa.add(d.get("persenJasa").toString()); if (!listHargaJasa.contains(Double.parseDouble(d.get("hargaJasa").toString()))) listHargaJasa.add(Double.valueOf(d.get("hargaJasa").toString())); if (!listHargaJual.contains(Double.parseDouble(d.get("hargaJual").toString()))) @@ -1575,7 +1577,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel /* * Pengelompokkan tanggal pelayanan */ - return groupingTanggalFfs(listFixedPay); + return groupingTanggalFixedPay(listFixedPay); } private List> transformPelayananPaket(List> listData) { @@ -1640,7 +1642,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel .collect(Collectors.toList()); Set setIdPelayanan = listDataUndone.stream().map(d -> d.get("idPelayananPasien").toString()) .collect(Collectors.toSet()); - dataExcludeUndone = listData.stream().filter(d -> !setIdPelayanan.contains(d.get("idPelayananPasien").toString())) + dataExcludeUndone = listData.stream() + .filter(d -> !setIdPelayanan.contains(d.get("idPelayananPasien").toString())) .collect(Collectors.toList()); } Set setIdVoucherExcludeUndone = dataExcludeUndone.stream().map(d -> d.get("idVoucherDaftar").toString()) @@ -1653,8 +1656,43 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel /* * Transformasi data tindakan utama dan reduce visite utama */ - List> layananKepalaPaket = pelayananPasienDao.findPelayananPasienByPaket(setIdVoucherExcludeUndone, - listIdPaketExcludeUndone); + List> layananKepalaPaket = pelayananPasienDao + .findPelayananPasienByPaket(setIdVoucherExcludeUndone, listIdPaketExcludeUndone); + List concatIdProdukKelas = layananKepalaPaket.stream() + .map(l -> l.get("idProduk").toString() + l.get("idKelas").toString()).collect(Collectors.toList()); + List listTarif = hargaNettoProdukByKelasDao + .findByConcateProdukKelas(concatIdProdukKelas); + layananKepalaPaket.forEach(l -> { + Optional first = listTarif.stream().filter( + t -> t.getProdukId().equals(l.get("idProduk")) && t.getKelasId().equals(l.get("idKelas"))) + .findFirst(); + if (first.isPresent()) + if (CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1()) + && first.get().getHargaNetto1() > 0.0) { + l.put("hargaJual", first.get().getHargaNetto1()); + } else if (CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan()) + && first.get().getHargaSatuan() > 0.0) { + l.put("hargaJual", first.get().getHargaSatuan()); + } + }); + List listDetailTarif = hargaNettoProdukByKelasDDao + .findByConcateProdukKelas(concatIdProdukKelas); + layananKepalaPaket.forEach(l -> { + Optional first = listDetailTarif.stream() + .filter(t -> t.getProdukId().equals(l.get("idProduk")) + && t.getKelasId().equals(l.get("idKelas")) + && JASA_DOKTER_OBGYN.equals(t.getKomponenHargaId())) + .findFirst(); + if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1()) + && first.get().getHargaNetto1() > 0.0) { + l.put("hargaJasa", first.get().getHargaNetto1()); + } else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan()) + && first.get().getHargaSatuan() > 0.0) { + l.put("hargaJasa", first.get().getHargaSatuan()); + } else { + l.put("hargaJasa", 0.0); + } + }); result.addAll(layananKepalaPaket); } { @@ -1678,9 +1716,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel .collect(Collectors.toList()); Set setIdPelayananUtama = listDataUtama.stream().map(d -> d.get("idPelayananPasien").toString()) .collect(Collectors.toSet()); - result.addAll( - dataExcludeUndone.stream().filter(d -> !setIdPelayananUtama.contains(d.get("idPelayananPasien").toString())) - .collect(Collectors.toList())); + List> layananBadanPaket = dataExcludeUndone.stream() + .filter(d -> !setIdPelayananUtama.contains(d.get("idPelayananPasien").toString())) + .collect(Collectors.toList()); + layananBadanPaket.forEach(l -> l.put("hargaJasa", 0.0)); + result.addAll(layananBadanPaket); } return result; } @@ -2586,6 +2626,94 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel return listData; } + private List> groupingTanggalFixedPay(List> listData) { + Map>>>>>>>> collectTanggal = listData + .stream() + .collect(Collectors.groupingBy(o1 -> Integer.parseInt(o1.get("idProduk").toString()), Collectors + .groupingBy(o2 -> Double.parseDouble(o2.get("hargaJasa").toString()), Collectors.groupingBy( + o3 -> Double.parseDouble(o3.get("hargaJual").toString()), + Collectors.groupingBy(o4 -> Integer.parseInt(o4.get("idKelompokPasien").toString()), + Collectors.groupingBy(o5 -> o5.get("jenisRuangan").toString(), + Collectors.groupingBy(o6 -> o6.get("keterangan").toString(), Collectors + .groupingBy(o7 -> o7.get("tanggal").toString())))))))); + List> result = new ArrayList<>(); + collectTanggal.forEach((k1, v1) -> v1.forEach((k2, v2) -> v2.forEach((k3, v3) -> v3 + .forEach((k4, v4) -> v4.forEach((k5, v5) -> v5.forEach((k6, v6) -> v6.forEach((k7, v7) -> { + HashMap map = new HashMap<>(); + map.put("idProduk", k1); + map.put("hargaJasa", k2); + map.put("hargaJual", k3); + map.put("idKelompokPasien", k4); + map.put("jenisRuangan", k5); + map.put("keterangan", k6); + map.put("tanggal", k7); + List norecs = v7.stream().map(e -> e.get("idPelayananPasienPetugas").toString()) + .collect(Collectors.toList()); + map.put("norecs", norecs); + double jumlah = v7.stream().mapToDouble(e -> Double.parseDouble(e.get("jumlah").toString())).sum(); + map.put("jumlah", jumlah); + Optional> first = v7.stream().findFirst(); + first.ifPresent(e -> { + map.put("namaProduk", e.get("namaProduk").toString()); + map.put("kelompokPasien", e.get("kelompokPasien").toString()); + map.put("tglPelayanan", e.get("tglPelayanan")); + map.put("sortIdKelompokPasien", Integer.parseInt(e.get("sortIdKelompokPasien").toString())); + map.put("sortIdKelas", Integer.parseInt(e.get("sortIdKelas").toString())); + map.put("jenisRuangan", e.get("jenisRuangan").toString()); + map.put("keterangan", e.get("keterangan").toString()); + }); + result.add(map); + }))))))); + return result; + } + + private List> groupingKategoriFixedPay(List> data) { + Map>>>>>>> collected = data + .stream() + .collect(Collectors.groupingBy(o1 -> Integer.parseInt(o1.get("idProduk").toString()), Collectors + .groupingBy(o2 -> Double.parseDouble(o2.get("hargaJasa").toString()), Collectors.groupingBy( + o3 -> Double.parseDouble(o3.get("hargaJual").toString()), + Collectors.groupingBy(o4 -> Integer.parseInt(o4.get("idKelompokPasien").toString()), + Collectors.groupingBy(o5 -> o5.get("jenisRuangan").toString(), + Collectors.groupingBy(o6 -> o6.get("keterangan").toString()))))))); + List> result = new ArrayList<>(); + collected.forEach((k1, v1) -> v1.forEach((k2, v2) -> v2 + .forEach((k3, v3) -> v3.forEach((k4, v4) -> v4.forEach((k5, v5) -> v5.forEach((k6, v6) -> { + HashMap map = new HashMap<>(); + map.put("idProduk", k1); + map.put("hargaJasa", k2); + map.put("hargaJual", k3); + map.put("idKelompokPasien", k4); + map.put("jenisRuangan", k5); + map.put("keterangan", k6); + List> detail = new ArrayList<>(); + v6.forEach(d -> { + Map mapCount = new HashMap<>(); + mapCount.put("jumlah", d.get("jumlah")); + mapCount.put("norecs", d.get("norecs")); + mapCount.put("tanggal", d.get("tanggal")); + detail.add(mapCount); + }); + map.put("detail", detail); + double jumlah = v6.stream().mapToDouble(e -> Double.parseDouble(e.get("jumlah").toString())).sum(); + map.put("jumlah", jumlah); + double jumlahHargaJasa = jumlah * Double.parseDouble(map.get("hargaJasa").toString()); + map.put("jumlahHargaJasa", jumlahHargaJasa); + Optional> first = v6.stream().findFirst(); + first.ifPresent(e -> { + map.put("namaProduk", e.get("namaProduk").toString()); + map.put("kelompokPasien", e.get("kelompokPasien").toString()); + map.put("tglPelayanan", e.get("tglPelayanan")); + map.put("sortIdKelompokPasien", Integer.parseInt(e.get("sortIdKelompokPasien").toString())); + map.put("sortIdKelas", Integer.parseInt(e.get("sortIdKelas").toString())); + map.put("jenisRuangan", e.get("jenisRuangan").toString()); + map.put("keterangan", e.get("keterangan").toString()); + }); + result.add(map); + })))))); + return result; + } + @Override public List> detailLogbookTarifDokter(Integer idPegawai, List norecs) { return pelayananPasienDao.findPelayananPasienByPetugasAndPelayananPasien(idPegawai, norecs); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RadiologiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RadiologiServiceImpl.java index a75664f4..ed09e01a 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RadiologiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RadiologiServiceImpl.java @@ -323,8 +323,8 @@ public class RadiologiServiceImpl implements RadiologiService{ if(CommonUtil.isNotNullOrEmpty(harga.get("hargaPiutangRumahSakit"))) { pelayananPasienDetail.setPiutangRumahSakit((Double) harga.get("hargaPiutangRumahSakit")); } - if(CommonUtil.isNotNullOrEmpty(hargaNetto.getqtyCurrentStok())) { - pelayananPasienDetail.setStock(hargaNetto.getqtyCurrentStok().intValue()); + if(CommonUtil.isNotNullOrEmpty(hargaNetto.getQtyCurrentStok())) { + pelayananPasienDetail.setStock(hargaNetto.getQtyCurrentStok().intValue()); } if(CommonUtil.isNotNullOrEmpty(harga.get("jumlah"))) { pelayananPasienDetail.setJumlah((Double) harga.get("jumlah")); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RegistrasiPelayananServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RegistrasiPelayananServiceImpl.java index bcd8d6b4..ed6689d2 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RegistrasiPelayananServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RegistrasiPelayananServiceImpl.java @@ -5306,8 +5306,8 @@ public class RegistrasiPelayananServiceImpl extends BaseVoServiceImpl if (CommonUtil.isNotNullOrEmpty(hargaNetto.getHargaNetto1())) { pelayananPasienDetail.setHargaNetto(hargaNetto.getHargaNetto1()); } - if (CommonUtil.isNotNullOrEmpty(hargaNetto.getqtyCurrentStok())) { - pelayananPasienDetail.setStock(hargaNetto.getqtyCurrentStok().intValue()); + if (CommonUtil.isNotNullOrEmpty(hargaNetto.getQtyCurrentStok())) { + pelayananPasienDetail.setStock(hargaNetto.getQtyCurrentStok().intValue()); } if (CommonUtil.isNotNullOrEmpty(pelayanan.getJumlah())) { pelayananPasienDetail.setJumlah(pelayanan.getJumlah()); diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/HargaNettoProdukByKelasD.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/HargaNettoProdukByKelasD.java index 2be320f8..86465307 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/HargaNettoProdukByKelasD.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/HargaNettoProdukByKelasD.java @@ -1,208 +1,102 @@ package com.jasamedika.medifirst2000.entities; -import java.util.Date; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; - 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 java.util.Date; + +import static javax.persistence.FetchType.LAZY; +import static javax.persistence.GenerationType.SEQUENCE; /** * class HargaNettoProdukByKelasD * * @author Generator */ +@Getter +@Setter @Entity @Table(name = "HargaNettoProdukByKelasD_M") public class HargaNettoProdukByKelasD extends BaseMaster { - - private static final long serialVersionUID = -2040691507588284089L; - @NotNull(message = "Factor Rate tidak boleh kosong") @Column(name = "FactorRate", nullable = false) @Caption(value = "Factor Rate") private Double factorRate; - public void setFactorRate(Double factorRate) { - this.factorRate = factorRate; - } - - public Double getFactorRate() { - return this.factorRate; - } - @NotNull(message = "Harga Discount tidak boleh kosong") @Column(name = "HargaDiscount", nullable = false) @Caption(value = "Harga Discount") private Double hargaDiscount; - public void setHargaDiscount(Double hargaDiscount) { - this.hargaDiscount = hargaDiscount; - } - - public Double getHargaDiscount() { - return this.hargaDiscount; - } - @NotNull(message = "Harga Netto1 tidak boleh kosong") @Column(name = "HargaNetto1", nullable = false) @Caption(value = "Harga Netto1") private Double hargaNetto1; - public void setHargaNetto1(Double hargaNetto1) { - this.hargaNetto1 = hargaNetto1; - } - - public Double getHargaNetto1() { - return this.hargaNetto1; - } - @NotNull(message = "Harga Netto2 tidak boleh kosong") @Column(name = "HargaNetto2", nullable = false) @Caption(value = "Harga Netto2") private Double hargaNetto2; - public void setHargaNetto2(Double hargaNetto2) { - this.hargaNetto2 = hargaNetto2; - } - - public Double getHargaNetto2() { - return this.hargaNetto2; - } - @NotNull(message = "Harga Satuan tidak boleh kosong") @Column(name = "HargaSatuan", nullable = false) @Caption(value = "Harga Satuan") private Double hargaSatuan; - public void setHargaSatuan(Double hargaSatuan) { - this.hargaSatuan = hargaSatuan; - } - - public Double getHargaSatuan() { - return this.hargaSatuan; - } - - @ManyToOne + @ManyToOne(fetch = LAZY) @JoinColumn(name = "ObjectAsalProdukFk") @NotNull(message = "Kd Asal Produk tidak boleh kosong") - @Caption(value = "Object Asal Produk") private AsalProduk asalProduk; - public void setAsalProduk(AsalProduk asalProduk) { - this.asalProduk = asalProduk; - } - - public AsalProduk getAsalProduk() { - return this.asalProduk; - } - @Column(name = "ObjectAsalProdukFk", insertable = false, updatable = false) private Integer asalProdukId; - @ManyToOne + @ManyToOne(fetch = LAZY) @JoinColumn(name = "ObjectJenisTarifFk") @NotNull(message = "Kd Jenis Tarif tidak boleh kosong") - @Caption(value = "Object Jenis Tarif") private JenisTarif jenisTarif; - public void setJenisTarif(JenisTarif jenisTarif) { - this.jenisTarif = jenisTarif; - } - - public JenisTarif getJenisTarif() { - return this.jenisTarif; - } - @Column(name = "ObjectJenisTarifFk", insertable = false, updatable = false, nullable = false) private Integer jenisTarifId; - @ManyToOne + @ManyToOne(fetch = LAZY) @JoinColumn(name = "ObjectKelasFk") @NotNull(message = "Kd Kelas tidak boleh kosong") - @Caption(value = "Object Kelas") private Kelas kelas; - public Kelas getKelas() { - return kelas; - } - - public void setKelas(Kelas kelas) { - this.kelas = kelas; - } - - public Integer getKelasId() { - return kelasId; - } - - public void setKelasId(Integer kelasId) { - this.kelasId = kelasId; - } - @Column(name = "ObjectKelasFk", insertable = false, updatable = false, nullable = false) private Integer kelasId; - @ManyToOne + @ManyToOne(fetch = LAZY) @JoinColumn(name = "ObjectKomponenHargaFk") @NotNull(message = "Kd Komponen Harga tidak boleh kosong") - @Caption(value = "Object Komponen Harga") private KomponenHarga komponenHarga; - public void setKomponenHarga(KomponenHarga komponenHarga) { - this.komponenHarga = komponenHarga; - } - - public KomponenHarga getKomponenHarga() { - return this.komponenHarga; - } - @Column(name = "ObjectKomponenHargaFk", insertable = false, updatable = false, nullable = false) private Integer komponenHargaId; - @ManyToOne + @ManyToOne(fetch = LAZY) @JoinColumn(name = "ObjectMataUangFk") - @Caption(value = "Object Mata Uang") private MataUang mataUang; - public void setMataUang(MataUang mataUang) { - this.mataUang = mataUang; - } - - public MataUang getMataUang() { - return this.mataUang; - } - @Column(name = "ObjectMataUangFk", insertable = false, updatable = false, nullable = false) private Integer mataUangId; - @ManyToOne + @ManyToOne(fetch = LAZY) @JoinColumn(name = "ObjectProdukFk") @NotNull(message = "Kd Produk tidak boleh kosong") - @Caption(value = "Object Produk") private Produk produk; - public void setProduk(Produk produk) { - this.produk = produk; - } - - public Produk getProduk() { - return this.produk; - } - @Column(name = "ObjectProdukFk", insertable = false, updatable = false) private Integer produkId; @@ -211,76 +105,26 @@ public class HargaNettoProdukByKelasD extends BaseMaster { @Caption(value = "Persen Discount") private Double persenDiscount; - public void setPersenDiscount(Double persenDiscount) { - this.persenDiscount = persenDiscount; - } - - public Double getPersenDiscount() { - return this.persenDiscount; - } - @Column(name = "QtyCurrentStok") @Caption(value = "Qty Current Stok") private Double qtyCurrentStok; - public void setqtyCurrentStok(Double qtyCurrentStok) { - this.qtyCurrentStok = qtyCurrentStok; - } - - public Double getqtyCurrentStok() { - return this.qtyCurrentStok; - } - @Column(name = "TglBerlakuAkhir") @Caption(value = "Tanggal Berlaku Akhir") private Date tglBerlakuAkhir; - public void setTglBerlakuAkhir(Date tglBerlakuAkhir) { - this.tglBerlakuAkhir = tglBerlakuAkhir; - } - - public Date getTglBerlakuAkhir() { - return this.tglBerlakuAkhir; - } - @NotNull(message = "Tgl Berlaku Awal tidak boleh kosong") @Column(name = "TglBerlakuAwal") @Caption(value = "Tanggal Berlaku Awal") private Date tglBerlakuAwal; - public void setTglBerlakuAwal(Date tglBerlakuAwal) { - this.tglBerlakuAwal = tglBerlakuAwal; - } - - public Date getTglBerlakuAwal() { - return this.tglBerlakuAwal; - } - @Column(name = "TglKadaluarsaLast") @Caption(value = "Tanggal Kadaluarsa Last") private Date tglKadaluarsaLast; - public void setTglKadaluarsaLast(Date tglKadaluarsaLast) { - this.tglKadaluarsaLast = tglKadaluarsaLast; - } - - public Date getTglKadaluarsaLast() { - return this.tglKadaluarsaLast; - } - @Id - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.harganettoprodukbykelasd_m_id_seq") - @javax.persistence.SequenceGenerator(name = "public.harganettoprodukbykelasd_m_id_seq", sequenceName = "public.harganettoprodukbykelasd_m_id_seq", allocationSize = 1) + @GeneratedValue(strategy = SEQUENCE, generator = "public.harganettoprodukbykelasd_m_id_seq") + @SequenceGenerator(name = "public.harganettoprodukbykelasd_m_id_seq", sequenceName = "public.harganettoprodukbykelasd_m_id_seq", allocationSize = 1) @Column(name = "id") protected Integer id; - - public Integer getId() { - - return id; - } - - public void setId(Integer id) { - this.id = id; - } - } \ No newline at end of file diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/HargaNettoProdukByKelasDVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/HargaNettoProdukByKelasDVO.java index 866696ed..4bc65663 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/HargaNettoProdukByKelasDVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/HargaNettoProdukByKelasDVO.java @@ -1,254 +1,83 @@ package com.jasamedika.medifirst2000.vo; -import java.io.Serializable; -import javax.persistence.*; -import java.util.Date; -import org.hibernate.validator.constraints.NotEmpty; - -import com.jasamedika.medifirst2000.base.vo.BaseMasterVO; -import javax.validation.constraints.NotNull; -import org.hibernate.validator.constraints.Length; -import org.hibernate.validator.internal.util.logging.Messages; - -import com.fasterxml.jackson.annotation.JsonManagedReference; import com.jasamedika.medifirst2000.base.vo.BaseMasterVO; import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotNull; +import java.util.Date; /** - * class HargaNettoProdukByKelasD + * class HargaNettoProdukByKelasD * * @author Generator */ -//@Entity -//@Table(name = "HargaNettoProdukByKelasD_M") +@Getter +@Setter public class HargaNettoProdukByKelasDVO extends BaseMasterVO { - @Caption(value="Factor Rate") + @Caption(value = "Factor Rate") private Double factorRate; - public void setFactorRate(Double factorRate) { - this.factorRate = factorRate; - } - - @Column(name = "FactorRate", nullable = false ) - public Double getFactorRate(){ - return this.factorRate; - } - - @Caption(value="Harga Discount") + @Caption(value = "Harga Discount") private Double hargaDiscount; - public void setHargaDiscount(Double hargaDiscount) { - this.hargaDiscount = hargaDiscount; - } - - @Column(name = "HargaDiscount", nullable = false ) - public Double getHargaDiscount(){ - return this.hargaDiscount; - } - - @Caption(value="Harga Netto1") + @Caption(value = "Harga Netto1") private Double hargaNetto1; - public void setHargaNetto1(Double hargaNetto1) { - this.hargaNetto1 = hargaNetto1; - } - - @Column(name = "HargaNetto1", nullable = false ) - public Double getHargaNetto1(){ - return this.hargaNetto1; - } - - @Caption(value="Harga Netto2") + @Caption(value = "Harga Netto2") private Double hargaNetto2; - public void setHargaNetto2(Double hargaNetto2) { - this.hargaNetto2 = hargaNetto2; - } - - @Column(name = "HargaNetto2", nullable = false ) - public Double getHargaNetto2(){ - return this.hargaNetto2; - } - - @Caption(value="Harga Satuan") + @Caption(value = "Harga Satuan") private Double hargaSatuan; - public void setHargaSatuan(Double hargaSatuan) { - this.hargaSatuan = hargaSatuan; - } - - @Column(name = "HargaSatuan", nullable = false ) - public Double getHargaSatuan(){ - return this.hargaSatuan; - } - - @ManyToOne - @JoinColumn(name = "ObjectAsalProdukFk") - @NotNull(message="Object Asal ProdukVO Harus Diisi") - @Caption(value="Object Asal Produk") + @NotNull(message = "Object Asal ProdukVO Harus Diisi") + @Caption(value = "Object Asal Produk") private AsalProdukVO asalProduk; - public void setAsalProduk(AsalProdukVO asalProduk) { - this.asalProduk = asalProduk; - } - - @Column(name = "KdAsalProduk", nullable = false ) - public AsalProdukVO getAsalProduk(){ - return this.asalProduk; - } - - @Column(name = "ObjectAsalProdukFk", insertable=false,updatable=false) private Integer asalProdukId; - @ManyToOne - @JoinColumn(name = "ObjectJenisTarifFk") - @NotNull(message="Object Jenis Tarif Harus Diisi") - @Caption(value="Object Jenis Tarif") + @NotNull(message = "Object Jenis Tarif Harus Diisi") + @Caption(value = "Object Jenis Tarif") private JenisTarifVO jenisTarif; - public void setJenisTarif(JenisTarifVO jenisTarif) { - this.jenisTarif = jenisTarif; - } - - @Column(name = "KdJenisTarif", nullable = false ) - public JenisTarifVO getJenisTarif(){ - return this.jenisTarif; - } - - @Column(name = "ObjectJenisTarifFk", insertable=false,updatable=false) private Integer jenisTarifId; - @ManyToOne - @JoinColumn(name = "ObjectKelasFk") - @NotNull(message="Object KelasVO Harus Diisi") - @Caption(value="Object Kelas") + @NotNull(message = "Object KelasVO Harus Diisi") + @Caption(value = "Object Kelas") private DetailKamarVO kelas; - public void setKelas(DetailKamarVO kelas) { - this.kelas = kelas; - } - - @Column(name = "KdKelas", nullable = false , length = 2) - public DetailKamarVO getKelas(){ - return this.kelas; - } - - @Column(name = "ObjectKelasFk", insertable=false,updatable=false) private Integer kelasId; - @ManyToOne - @JoinColumn(name = "ObjectKomponenHargaFk") - @NotNull(message="Object Komponen Harga Harus Diisi") - @Caption(value="Object Komponen Harga") + @NotNull(message = "Object Komponen Harga Harus Diisi") + @Caption(value = "Object Komponen Harga") private KomponenHargaVO komponenHarga; - public void setKomponenHarga(KomponenHargaVO komponenHarga) { - this.komponenHarga = komponenHarga; - } - - @Column(name = "KdKomponenHarga", nullable = false ) - public KomponenHargaVO getKomponenHarga(){ - return this.komponenHarga; - } - - @Column(name = "ObjectKomponenHargaFk", insertable=false,updatable=false) private Integer komponenHargaId; - @ManyToOne - @JoinColumn(name = "ObjectMataUangFk") - @Caption(value="Object Mata Uang") + @Caption(value = "Object Mata Uang") private MataUangVO mataUang; - public void setMataUang(MataUangVO mataUang) { - this.mataUang = mataUang; - } - - @Column(name = "KdMataUang", nullable = true ) - public MataUangVO getMataUang(){ - return this.mataUang; - } - - @Column(name = "ObjectMataUangFk", insertable=false,updatable=false) private Integer mataUangId; - @ManyToOne - @JoinColumn(name = "ObjectProdukFk") - @NotNull(message="Object ProdukVO Harus Diisi") - @Caption(value="Object Produk") + @NotNull(message = "Object ProdukVO Harus Diisi") + @Caption(value = "Object Produk") private ProdukVO produk; - public void setProduk(ProdukVO produk) { - this.produk = produk; - } - - @Column(name = "KdProduk", nullable = false , length = 6) - public ProdukVO getProduk(){ - return this.produk; - } - - @Column(name = "ObjectProdukFk", insertable=false,updatable=false) private Integer produkId; - @Caption(value="Persen Discount") + @Caption(value = "Persen Discount") private Double persenDiscount; - public void setPersenDiscount(Double persenDiscount) { - this.persenDiscount = persenDiscount; - } - - @Column(name = "PersenDiscount", nullable = false ) - public Double getPersenDiscount(){ - return this.persenDiscount; - } - - @Caption(value="Qty Current Stok") + @Caption(value = "Qty Current Stok") private Double qtyCurrentStok; - public void setqtyCurrentStok(Double qtyCurrentStok) { - this.qtyCurrentStok = qtyCurrentStok; - } - - @Column(name = "QtyCurrentStok", nullable = true ) - public Double getqtyCurrentStok(){ - return this.qtyCurrentStok; - } - - @Caption(value="Tanggal Berlaku Akhir") + @Caption(value = "Tanggal Berlaku Akhir") private Date tglBerlakuAkhir; - public void setTglBerlakuAkhir(Date tglBerlakuAkhir) { - this.tglBerlakuAkhir = tglBerlakuAkhir; - } - - @Column(name = "TglBerlakuAkhir", nullable = true ) - public Date getTglBerlakuAkhir(){ - return this.tglBerlakuAkhir; - } - - @Caption(value="Tanggal Berlaku Awal") + @Caption(value = "Tanggal Berlaku Awal") private Date tglBerlakuAwal; - public void setTglBerlakuAwal(Date tglBerlakuAwal) { - this.tglBerlakuAwal = tglBerlakuAwal; - } - - @Column(name = "TglBerlakuAwal", nullable = false ) - public Date getTglBerlakuAwal(){ - return this.tglBerlakuAwal; - } - - @Caption(value="Tanggal Kadaluarsa Last") + @Caption(value = "Tanggal Kadaluarsa Last") private Date tglKadaluarsaLast; - - public void setTglKadaluarsaLast(Date tglKadaluarsaLast) { - this.tglKadaluarsaLast = tglKadaluarsaLast; - } - - @Column(name = "TglKadaluarsaLast", nullable = true ) - public Date getTglKadaluarsaLast(){ - return this.tglKadaluarsaLast; - } - - } -