From b6c7be2e089902745826b4ba4ff930c97e2b6fbc Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Mon, 21 Oct 2024 10:30:38 +0700 Subject: [PATCH] Update RemunerasiServiceImpl.java Penyesuaian persentase terapis mulai tanggal pelayanan 1 November 2024 --- .../service/impl/RemunerasiServiceImpl.java | 45 ++++++++++++++++--- 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RemunerasiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RemunerasiServiceImpl.java index cdccdb60..2e20c481 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RemunerasiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RemunerasiServiceImpl.java @@ -2319,6 +2319,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera double persenJasaDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenJasaDokterUmumHD")); double persenJasaLabGenetika = Double.parseDouble(GetSettingDataFixed("persenJasaLabGenetika")); double persenJasaTerapis = Double.parseDouble(GetSettingDataFixed("persenJasaTerapis")); + double persenJasaTerapis24 = Double.parseDouble(GetSettingDataFixed("persenFfsTerapisTmt21Okt24")); + // Custom rule persentase jasa terapis 21 Oktober 2024 + LocalDateTime tmtJasaTerapis24 = LocalDateTime.of(2024, 11, 1, 0, 0, 0, 0); /* * Persiapan filter logic remunerasi */ @@ -2353,8 +2356,16 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (terapisRehabMedik.contains(idPegawai)) { - RemunHargaJasa hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true); - d.put("persenJasa", persenJasaTerapis + "%"); + LocalDateTime tglJamPelayanan = ((Date) d.get("tglPelayanan")).toInstant() + .atZone(ZoneId.systemDefault()).toLocalDateTime(); + RemunHargaJasa hargaJasa; + if (tglJamPelayanan.isBefore(tmtJasaTerapis24)) { + hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true); + d.put("persenJasa", persenJasaTerapis + "%"); + } else { + hargaJasa = hargaJasa(persenJasaTerapis24 / 100, hargaJual, d, true); + d.put("persenJasa", persenJasaTerapis24 + "%"); + } d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) @@ -2687,7 +2698,10 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera double persenJasaDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenJasaDokterUmumHD")); double persenJasaLabGenetika = Double.parseDouble(GetSettingDataFixed("persenJasaLabGenetika")); double persenJasaTerapis = Double.parseDouble(GetSettingDataFixed("persenJasaTerapis")); + double persenJasaTerapis24 = Double.parseDouble(GetSettingDataFixed("persenFfsTerapisTmt21Okt24")); double persenJasaLuarTerapis = Double.parseDouble(GetSettingDataFixed("persenJasaLuarTerapis")); + // Custom rule persentase jasa terapis 21 Oktober 2024 + LocalDateTime tmtJasaTerapis24 = LocalDateTime.of(2024, 11, 1, 0, 0, 0, 0); /* * Persiapan filter logic remunerasi */ @@ -2728,8 +2742,16 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (terapisRehabMedik.contains(idPegawai)) { - RemunHargaJasa hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true); - d.put("persenJasa", persenJasaTerapis + "%"); + LocalDateTime tglJamPelayanan = ((Date) d.get("tglPelayanan")).toInstant() + .atZone(ZoneId.systemDefault()).toLocalDateTime(); + RemunHargaJasa hargaJasa; + if (tglJamPelayanan.isBefore(tmtJasaTerapis24)) { + hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true); + d.put("persenJasa", persenJasaTerapis + "%"); + } else { + hargaJasa = hargaJasa(persenJasaTerapis24 / 100, hargaJual, d, true); + d.put("persenJasa", persenJasaTerapis24 + "%"); + } d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) @@ -2957,6 +2979,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera double persenJasaDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenJasaDokterUmumHD")); double persenJasaLabGenetika = Double.parseDouble(GetSettingDataFixed("persenJasaLabGenetika")); double persenJasaTerapis = Double.parseDouble(GetSettingDataFixed("persenJasaTerapis")); + double persenJasaTerapis24 = Double.parseDouble(GetSettingDataFixed("persenFfsTerapisTmt21Okt24")); + // Custom rule persentase jasa terapis 21 Oktober 2024 + LocalDateTime tmtJasaTerapis24 = LocalDateTime.of(2024, 11, 1, 0, 0, 0, 0); /* * Persiapan filter logic remunerasi */ @@ -3068,8 +3093,16 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera d.put("hargaJasa", hargaJasa.getNilai()); } else if (terapisRehabMedik.contains(idPegawai) && REHAB_MEDIK.equals(d.get("idDepartemen")) && "Eksekutif".equals(d.get("jenisRuangan"))) { - RemunHargaJasa hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true); - d.put("persenJasa", persenJasaTerapis + "%"); + LocalDateTime tglJamPelayanan = ((Date) d.get("tglPelayanan")).toInstant() + .atZone(ZoneId.systemDefault()).toLocalDateTime(); + RemunHargaJasa hargaJasa; + if (tglJamPelayanan.isBefore(tmtJasaTerapis24)) { + hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true); + d.put("persenJasa", persenJasaTerapis + "%"); + } else { + hargaJasa = hargaJasa(persenJasaTerapis24 / 100, hargaJual, d, true); + d.put("persenJasa", persenJasaTerapis24 + "%"); + } d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {