From e1900ae6c2af5772799f24967f5bf9843832a0b7 Mon Sep 17 00:00:00 2001 From: salmanoe Date: Tue, 14 Jun 2022 08:33:48 +0700 Subject: [PATCH] Update PelayananPasienServiceImpl.java Perbaikan service reset klaim diskon --- .../impl/PelayananPasienServiceImpl.java | 90 ++++++++++--------- 1 file changed, 48 insertions(+), 42 deletions(-) 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 5e43302e..9632df6e 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 @@ -303,58 +303,23 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel public String resetKlaimDiskon(String noRegistrasi) { String result = ""; - /* - * Update Pelayanan Pasien - */ List detailLayanan = pelayananPasienDao.findDetail(noRegistrasi); List layanan = pelayananPasienDao.findAll(noRegistrasi); - - double jasaObat = 800.00; - for (PelayananPasien pp : layanan) { - /* - * Get diskon jasamedis - */ - double diskonJasamedis = 0.0; - for (PelayananPasienDetail ppd : detailLayanan) { - if (pp.getNoRec().equals(ppd.getPelayananPasienId()) - && CommonUtil.isNotNullOrEmpty(ppd.getHargaDiscount()) && ppd.getHargaDiscount() > 0.0) { - diskonJasamedis += ppd.getHargaDiscount(); - } - } - - /* - * Set diskon layanan - */ - if (CommonUtil.isNotNullOrEmpty(pp.getHargaDiscount()) && pp.getHargaDiscount() > 0.0) { - if (diskonJasamedis > 0.0 && pp.getHargaDiscount() >= diskonJasamedis) { - pp.setHargaDiscount(diskonJasamedis); - if (CommonUtil.isNotNullOrEmpty(pp.getStrukResepId())) { - pp.setJasa(jasaObat); - } - } else { - pp.setHargaDiscount(0.0); - } - } - } - - /* - * Update Flag Jenis Diskon Pasien Daftar - */ List pendaftaran = pasienDaftarDao.findAll(noRegistrasi); - for (PasienDaftar pd : pendaftaran) { - pd.setDiskonPegawai(0); - } boolean exception = false; for (PasienDaftar pd : pendaftaran) { - if (CommonUtil.isNotNullOrEmpty(pd.getStrukPelayananId()) - && CommonUtil.isNotNullOrEmpty(pd.getStrukBuktiPenerimaanId())) { + if (CommonUtil.isNotNullOrEmpty(pd.getStrukPelayanan()) + && CommonUtil.isNotNullOrEmpty(pd.getStrukPelayanan().getNoRec()) + && CommonUtil.isNotNullOrEmpty(pd.getStrukBuktiPenerimaan()) + && CommonUtil.isNotNullOrEmpty(pd.getStrukBuktiPenerimaan().getNoRec())) { exception = true; result = "Batal diskon gagal, tagihan layanan sudah lunas!"; break; - } else if (CommonUtil.isNotNullOrEmpty(pd.getStrukPelayananId()) - && CommonUtil.isNullOrEmpty(pd.getStrukBuktiPenerimaanId())) { + } else if (CommonUtil.isNotNullOrEmpty(pd.getStrukPelayanan()) + && CommonUtil.isNotNullOrEmpty(pd.getStrukPelayanan().getNoRec()) + && CommonUtil.isNullOrEmpty(pd.getStrukBuktiPenerimaan())) { exception = true; result = "Batal diskon gagal, pelayanan sudah terverifikasi!"; @@ -368,7 +333,48 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } if (!exception) { + /* + * Update Pelayanan Pasien + */ + double jasaObat = 800.00; + for (PelayananPasien pp : layanan) { + /* + * Get diskon jasamedis + */ + double diskonJasamedis = 0.0; + for (PelayananPasienDetail ppd : detailLayanan) { + if (pp.getNoRec().equals(ppd.getPelayananPasien().getNoRec()) + && CommonUtil.isNotNullOrEmpty(ppd.getHargaDiscount()) && ppd.getHargaDiscount() > 0.0) { + diskonJasamedis += ppd.getHargaDiscount(); + } + } + + if (CommonUtil.isNotNullOrEmpty(pp.getHargaDiscount()) && pp.getHargaDiscount() > 0.0) { + /* + * Set diskon layanan + */ + if (diskonJasamedis > 0.0 && pp.getHargaDiscount() >= diskonJasamedis) { + pp.setHargaDiscount(diskonJasamedis); + } else { + pp.setHargaDiscount(0.0); + } + /* + * Set diskon obat + */ + if (CommonUtil.isNotNullOrEmpty(pp.getStrukResep()) + && CommonUtil.isNotNullOrEmpty(pp.getStrukResep().getNoRec())) { + pp.setJasa(jasaObat); + } + } + } pelayananPasienDao.save(layanan); + + /* + * Update Flag Jenis Diskon Pasien Daftar + */ + for (PasienDaftar pd : pendaftaran) { + pd.setDiskonPegawai(0); + } pasienDaftarDao.save(pendaftaran); result = "Batal diskon berhasil!";