From 3edd8aa1b5c9eaf1ef753d761c7f8ea0408fa034 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Tue, 4 Feb 2025 17:12:45 +0700 Subject: [PATCH] Update service remunerasi Penyesuaian keterangan perubahan billing terhadap status cito tindakan OK di logbook dokter --- .../medifirst2000/dao/PelayananPasienDao.java | 3 +- .../service/impl/RemunerasiServiceImpl.java | 382 +++++++----------- .../entities/PelayananPasien.java | 7 + .../medifirst2000/vo/PelayananPasienVO.java | 5 + 4 files changed, 165 insertions(+), 232 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java index 737e3672..7904a4f1 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java @@ -201,7 +201,8 @@ public interface PelayananPasienDao extends JpaRepository d : listData) { double hargaJual = Double.parseDouble(d.get("hargaJual").toString()); if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d); d.put("persenJasa", persenRemunDokterUmumHD + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (terapisRehabMedik.contains(idPegawai)) { - RemunHargaJasa hargaJasa = hargaJasa(persenRemunTerapis / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenRemunTerapis / 100, hargaJual, d); d.put("persenJasa", persenRemunTerapis + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); @@ -2049,7 +2046,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { double persenJasa = persenOperator / 100; - RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false); + RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d); d.put("persenJasa", persenOperator + "%"); d.put("keterangan", "Tarif Jasa Bedah (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); @@ -2059,7 +2056,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { double persenJasa = persenAsistenIBS / 100; - RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false); + RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d); d.put("persenJasa", persenAsistenIBS + "%"); d.put("keterangan", "Tarif Jasa Bedah (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); @@ -2069,7 +2066,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { double persenJasa = persenAnestesi / 100; - RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false); + RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d); d.put("persenJasa", persenAnestesi + "%"); d.put("keterangan", "Tarif Jasa Bedah (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); @@ -2078,131 +2075,110 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, - (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, - false); + (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d); d.put("persenJasa", persenOperator + "%"); - if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan")) - && Integer.parseInt(d.get("urutanSayatan").toString()) != 1) { - d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" - + Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan()); - } else { - d.put("keterangan", hargaJasa.getKeterangan()); - } + d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, - (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, - false); + (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d); d.put("persenJasa", persenAsistenIBS + "%"); - if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan")) - && Integer.parseInt(d.get("urutanSayatan").toString()) != 1) { - d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" - + Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan()); - } else { - d.put("keterangan", hargaJasa.getKeterangan()); - } + d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, - (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, - false); + (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d); d.put("persenJasa", persenAnestesi + "%"); - if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan")) - && Integer.parseInt(d.get("urutanSayatan").toString()) != 1) { - d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" - + Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan()); - } else { - d.put("keterangan", hargaJasa.getKeterangan()); - } + d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d); d.put("persenJasa", persenOperator + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d); d.put("persenJasa", persenAsistenIBS + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d); d.put("persenJasa", persenAnestesi + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (RADIOLOGI.equals(d.get("idDepartemen"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d); d.put("persenJasa", persenRadiologi + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d); d.put("persenJasa", persenRehabMedik + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (KONSULTASI.equals(d.get("idGolonganProduk"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d); d.put("persenJasa", persenKonsultasi + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (VISIT.equals(d.get("idGolonganProduk"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d); d.put("persenJasa", persenVisite + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d); d.put("persenJasa", persenTindakan + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d); d.put("persenJasa", persenAnestesi + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (drKkGenetika.contains(idPegawai) && idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { - RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d); d.put("persenJasa", persenRemunLabGenetika + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) { - RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d); d.put("persenJasa", persenRemunLabGenetika + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (drKkPatologiAnatomiList.contains(idPegawai)) { - RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterPA / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterPA / 100, hargaJual, d); d.put("persenJasa", persenRemunDokterPA + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (LABORATORIUM.equals(d.get("idDepartemen"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d); d.put("persenJasa", persenLaboratorium + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) { double persenJasa = persenTindakan / 100; - RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d, false); + RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d); d.put("persenJasa", persenTindakan + "%"); d.put("keterangan", "Tarif Jasa ICU (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else { - RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d); d.put("persenJasa", persenTindakan + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); @@ -2423,7 +2399,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera double hargaJual = Double.parseDouble(d.get("hargaJual").toString()); if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) { - RemunHargaJasa hargaJasa = hargaJasa(persenBPJS / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenBPJS / 100, hargaJual, d); /* * Set persen jasa dokter luar yang klaim ffs dengan persen jasa * dari tarif total @@ -2436,7 +2412,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ d.put("hargaJasa", hargaJasa.getNilai()); } else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d); d.put("persenJasa", persenJasaDokterUmumHD + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); @@ -2445,10 +2421,10 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera .atZone(ZoneId.systemDefault()).toLocalDateTime(); RemunHargaJasa hargaJasa; if (tglJamPelayanan.isBefore(tmtJasaTerapis24)) { - hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true); + hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d); d.put("persenJasa", persenJasaTerapis + "%"); } else { - hargaJasa = hargaJasa(persenJasaTerapis24 / 100, hargaJual, d, true); + hargaJasa = hargaJasa(persenJasaTerapis24 / 100, hargaJual, d); d.put("persenJasa", persenJasaTerapis24 + "%"); } d.put("keterangan", hargaJasa.getKeterangan()); @@ -2458,124 +2434,103 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, - (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, - false); + (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d); d.put("persenJasa", persenOperator + "%"); - if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan")) - && Integer.parseInt(d.get("urutanSayatan").toString()) != 1) { - d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" - + Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan()); - } else { - d.put("keterangan", hargaJasa.getKeterangan()); - } + d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, - (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, - false); + (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d); d.put("persenJasa", persenAsistenIBS + "%"); - if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan")) - && Integer.parseInt(d.get("urutanSayatan").toString()) != 1) { - d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" - + Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan()); - } else { - d.put("keterangan", hargaJasa.getKeterangan()); - } + d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, - (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, - false); + (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d); d.put("persenJasa", persenAnestesi + "%"); - if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan")) - && Integer.parseInt(d.get("urutanSayatan").toString()) != 1) { - d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" - + Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan()); - } else { - d.put("keterangan", hargaJasa.getKeterangan()); - } + d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d); d.put("persenJasa", persenOperator + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d); d.put("persenJasa", persenAsistenIBS + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d); d.put("persenJasa", persenAnestesi + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (RADIOLOGI.equals(d.get("idDepartemen"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d); d.put("persenJasa", persenRadiologi + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d); d.put("persenJasa", persenRehabMedik + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (KONSULTASI.equals(d.get("idGolonganProduk"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d); d.put("persenJasa", persenKonsultasi + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (VISIT.equals(d.get("idGolonganProduk"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d); d.put("persenJasa", persenVisite + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d); d.put("persenJasa", persenTindakan + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d); d.put("persenJasa", persenAnestesi + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (drKkGenetika.contains(idPegawai) && idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { - RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d); d.put("persenJasa", persenJasaLabGenetika + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) { - RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d); d.put("persenJasa", persenJasaLabGenetika + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (drKkPatologiAnatomiList.contains(idPegawai)) { - RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d); d.put("persenJasa", persenJasaDokterPA + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (LABORATORIUM.equals(d.get("idDepartemen"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d); d.put("persenJasa", persenLaboratorium + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else { - RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d); d.put("persenJasa", persenTindakan + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); @@ -2803,7 +2758,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera double hargaJual = Double.parseDouble(d.get("hargaJual").toString()); if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) { - RemunHargaJasa hargaJasa = hargaJasa(persenBPJS / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenBPJS / 100, hargaJual, d); /* * Set persen jasa dokter luar yang klaim ffs dengan persen jasa * dari tarif total @@ -2816,13 +2771,13 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ d.put("hargaJasa", hargaJasa.getNilai()); } else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d); d.put("persenJasa", persenJasaDokterUmumHD + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (terapisRehabMedik.contains(idPegawai) && REHAB_MEDIK.equals(d.get("idDepartemen")) && "Eksekutif".equals(d.get("jenisRuangan"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenJasaLuarTerapis / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenJasaLuarTerapis / 100, hargaJual, d); d.put("persenJasa", persenJasaLuarTerapis + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); @@ -2831,10 +2786,10 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera .atZone(ZoneId.systemDefault()).toLocalDateTime(); RemunHargaJasa hargaJasa; if (tglJamPelayanan.isBefore(tmtJasaTerapis24)) { - hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true); + hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d); d.put("persenJasa", persenJasaTerapis + "%"); } else { - hargaJasa = hargaJasa(persenJasaTerapis24 / 100, hargaJual, d, true); + hargaJasa = hargaJasa(persenJasaTerapis24 / 100, hargaJual, d); d.put("persenJasa", persenJasaTerapis24 + "%"); } d.put("keterangan", hargaJasa.getKeterangan()); @@ -2844,124 +2799,103 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, - (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, - false); + (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d); d.put("persenJasa", persenOperator + "%"); - if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan")) - && Integer.parseInt(d.get("urutanSayatan").toString()) != 1) { - d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" - + Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan()); - } else { - d.put("keterangan", hargaJasa.getKeterangan()); - } + d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, - (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, - false); + (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d); d.put("persenJasa", persenAsistenIBS + "%"); - if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan")) - && Integer.parseInt(d.get("urutanSayatan").toString()) != 1) { - d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" - + Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan()); - } else { - d.put("keterangan", hargaJasa.getKeterangan()); - } + d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, - (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, - false); + (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d); d.put("persenJasa", persenAnestesi + "%"); - if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan")) - && Integer.parseInt(d.get("urutanSayatan").toString()) != 1) { - d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" - + Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan()); - } else { - d.put("keterangan", hargaJasa.getKeterangan()); - } + d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d); d.put("persenJasa", persenOperator + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d); d.put("persenJasa", persenAsistenIBS + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d); d.put("persenJasa", persenAnestesi + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (RADIOLOGI.equals(d.get("idDepartemen"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d); d.put("persenJasa", persenRadiologi + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d); d.put("persenJasa", persenRehabMedik + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (KONSULTASI.equals(d.get("idGolonganProduk"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d); d.put("persenJasa", persenKonsultasi + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (VISIT.equals(d.get("idGolonganProduk"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d); d.put("persenJasa", persenVisite + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d); d.put("persenJasa", persenTindakan + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d); d.put("persenJasa", persenAnestesi + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (drKkGenetika.contains(idPegawai) && idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { - RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d); d.put("persenJasa", persenJasaLabGenetika + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) { - RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d); d.put("persenJasa", persenJasaLabGenetika + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (drKkPatologiAnatomiList.contains(idPegawai)) { - RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d); d.put("persenJasa", persenJasaDokterPA + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (LABORATORIUM.equals(d.get("idDepartemen"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d); d.put("persenJasa", persenLaboratorium + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else { - RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d); d.put("persenJasa", persenTindakan + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); @@ -3085,7 +3019,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera double hargaJual = Double.parseDouble(d.get("hargaJual").toString()); if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) { - RemunHargaJasa hargaJasa = hargaJasa(persenBPJS / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenBPJS / 100, hargaJual, d); /* * Set persen jasa dokter luar yang klaim ffs dengan persen jasa * dari tarif total @@ -3098,7 +3032,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ d.put("hargaJasa", hargaJasa.getNilai()); } else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d); d.put("persenJasa", persenJasaDokterUmumHD + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); @@ -3107,72 +3041,51 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { RemunHargaJasa hargaJasa = hargaJasa(persenOperatorIBS / 100, - (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, - false); + (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d); d.put("persenJasa", persenOperatorIBS + "%"); - if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan")) - && Integer.parseInt(d.get("urutanSayatan").toString()) != 1) { - d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" - + Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan()); - } else { - d.put("keterangan", hargaJasa.getKeterangan()); - } + d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, - (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, - false); + (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d); d.put("persenJasa", persenAsistenIBS + "%"); - if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan")) - && Integer.parseInt(d.get("urutanSayatan").toString()) != 1) { - d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" - + Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan()); - } else { - d.put("keterangan", hargaJasa.getKeterangan()); - } + d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, - (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, - false); + (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d); d.put("persenJasa", persenAnestesi + "%"); - if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan")) - && Integer.parseInt(d.get("urutanSayatan").toString()) != 1) { - d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" - + Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan()); - } else { - d.put("keterangan", hargaJasa.getKeterangan()); - } + d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenOperatorIBS / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenOperatorIBS / 100, hargaJual, d); d.put("persenJasa", persenOperatorIBS + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d); d.put("persenJasa", persenAsistenIBS + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d); d.put("persenJasa", persenAnestesi + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (RADIOLOGI.equals(d.get("idDepartemen"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d); d.put("persenJasa", persenRadiologi + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); @@ -3182,63 +3095,63 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera .atZone(ZoneId.systemDefault()).toLocalDateTime(); RemunHargaJasa hargaJasa; if (tglJamPelayanan.isBefore(tmtJasaTerapis24)) { - hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true); + hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d); d.put("persenJasa", persenJasaTerapis + "%"); } else { - hargaJasa = hargaJasa(persenJasaTerapis24 / 100, hargaJual, d, true); + hargaJasa = hargaJasa(persenJasaTerapis24 / 100, hargaJual, d); d.put("persenJasa", persenJasaTerapis24 + "%"); } d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d); d.put("persenJasa", persenRehabMedik + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (KONSULTASI.equals(d.get("idGolonganProduk"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d); d.put("persenJasa", persenKonsultasi + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (VISIT.equals(d.get("idGolonganProduk"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d); d.put("persenJasa", persenVisite + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d); d.put("persenJasa", persenTindakan + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d); d.put("persenJasa", persenAnestesi + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (drKkGenetika.contains(idPegawai) && idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { - RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d); d.put("persenJasa", persenJasaLabGenetika + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) { - RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d); d.put("persenJasa", persenJasaLabGenetika + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (drKkPatologiAnatomiList.contains(idPegawai)) { - RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d); d.put("persenJasa", persenJasaDokterPA + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (LABORATORIUM.equals(d.get("idDepartemen"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d); d.put("persenJasa", persenLaboratorium + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else { - RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); + RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d); d.put("persenJasa", persenTindakan + "%"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); @@ -3338,16 +3251,12 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera return result; } - private RemunHargaJasa hargaJasa(double persenRemunerasi, double hargaJual, Map d, - boolean isFrontNote) { + private RemunHargaJasa hargaJasa(double persenRemunerasi, double hargaJual, Map d) { + String keterangan = ""; RemunHargaJasa.RemunHargaJasaBuilder builder = RemunHargaJasa.builder(); if (KLINIK_KARYAWAN.equals(d.get("idRuangan")) || KLINIK_GIGI_KARYAWAN.equals(d.get("idRuangan"))) { builder.nilai(0.0); - if (isFrontNote) { - builder.keterangan("Diskon Klinik Karyawan (100%)"); - } else { - builder.keterangan(" + Diskon Klinik Karyawan (100%)"); - } + builder.keterangan("Diskon Klinik Karyawan (100%)"); return builder.build(); } double hargaDiskon = Double.parseDouble(d.get("hargaDiskon").toString()); @@ -3370,53 +3279,61 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera builder.nilai( persenRemunerasi * hargaJual * (1 - persenDiskonPegawai / 100) * (1 - persenDiskonJasa / 100)); } + if (Boolean.parseBoolean(d.get("isCito").toString())) { + keterangan = keterangan + "Cito (+" + Double.parseDouble(d.get("persenCito").toString()) + "%)"; + } + if (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")) && CommonUtil.isNotNullOrEmpty("urutanSayatan") + && Integer.parseInt(d.get("urutanSayatan").toString()) != 1) + keterangan = keterangan + "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" + + Double.parseDouble(d.get("persenSayatan").toString()) + "%)"; if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) { if (persenDiskonPegawai > 0.0 && persenDiskonJasa > 0.0) { - if (isFrontNote) { + if (keterangan.isEmpty()) { builder.keterangan("Selisih Paket + Diskon Pegawai (" + persenDiskonPegawai + "%) + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)"); } else { - builder.keterangan(" + Selisih Paket + Diskon Pegawai (" + persenDiskonPegawai + builder.keterangan(keterangan + " + Selisih Paket + Diskon Pegawai (" + persenDiskonPegawai + "%) + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)"); } } else if (persenDiskonPegawai > 0.0 && persenDiskonJasa <= 0.0) { - if (isFrontNote) { + if (keterangan.isEmpty()) { builder.keterangan("Selisih Paket + Diskon Pegawai (" + persenDiskonPegawai + "%)"); } else { - builder.keterangan(" + Selisih Paket + Diskon Pegawai (" + persenDiskonPegawai + "%)"); + builder.keterangan(keterangan + " + Selisih Paket + Diskon Pegawai (" + persenDiskonPegawai + "%)"); } } else if (persenDiskonPegawai <= 0.0 && persenDiskonJasa > 0.0) { - if (isFrontNote) { + if (keterangan.isEmpty()) { builder.keterangan("Selisih Paket + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)"); } else { - builder.keterangan(" + Selisih Paket + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)"); + builder.keterangan( + keterangan + " + Selisih Paket + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)"); } } else { builder.keterangan(""); } } else { if (persenDiskonPegawai > 0.0 && persenDiskonJasa > 0.0) { - if (isFrontNote) { + if (keterangan.isEmpty()) { builder.keterangan("Diskon Pegawai (" + persenDiskonPegawai + "%) + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)"); } else { - builder.keterangan(" + Diskon Pegawai (" + persenDiskonPegawai + "%) + Diskon Jasa Medis Dokter (" - + persenDiskonJasa + "%)"); + builder.keterangan(keterangan + " + Diskon Pegawai (" + persenDiskonPegawai + + "%) + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)"); } } else if (persenDiskonPegawai > 0.0 && persenDiskonJasa <= 0.0) { - if (isFrontNote) { + if (keterangan.isEmpty()) { builder.keterangan("Diskon Pegawai (" + persenDiskonPegawai + "%)"); } else { - builder.keterangan(" + Diskon Pegawai (" + persenDiskonPegawai + "%)"); + builder.keterangan(keterangan + " + Diskon Pegawai (" + persenDiskonPegawai + "%)"); } } else if (persenDiskonPegawai <= 0.0 && persenDiskonJasa > 0.0) { - if (isFrontNote) { + if (keterangan.isEmpty()) { builder.keterangan("Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)"); } else { - builder.keterangan(" + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)"); + builder.keterangan(keterangan + " + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)"); } } else { - builder.keterangan(""); + builder.keterangan(keterangan); } } return builder.build(); @@ -3452,10 +3369,13 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera } else { builder.nilai(hargaJasa * (1 - persenDiskonPegawai / 100) * (1 - persenDiskonJasa / 100)); } + if (Boolean.parseBoolean(d.get("isCito").toString())) { + keterangan = keterangan + "Cito (+" + Double.parseDouble(d.get("persenCito").toString()) + "%)"; + } if (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")) && CommonUtil.isNotNullOrEmpty("urutanSayatan") && Integer.parseInt(d.get("urutanSayatan").toString()) != 1) keterangan = keterangan + "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" - + Double.parseDouble(d.get("persenSayatan").toString() + "%"); + + Double.parseDouble(d.get("persenSayatan").toString()) + "%)"; if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) { if (persenDiskonPegawai > 0.0 && persenDiskonJasa > 0.0) { if (keterangan.isEmpty()) { 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 8252b653..e32e2c63 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 @@ -294,4 +294,11 @@ public class PelayananPasien extends MedicalRecordTransaction { @Column(name = "persendiskonpegawai") @Caption(value = "Persentase Diskon Pegawai") private Double persenDiskonPegawai; + + @Column(name = "iscito") + private Boolean isCito; + + @Column(name = "persencito") + private Double persenCito; + } \ No newline at end of file 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 4684dbc4..6d383bf5 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 @@ -165,4 +165,9 @@ public class PelayananPasienVO extends MedicalRecordTransactionVO { @Caption(value = "Persentase Diskon Pegawai") private Double persenDiskonPegawai; + + private Boolean isCito; + + private Double persenCito; + } \ No newline at end of file