From 381e144a94b254575a1c0bb9a9e94f01124b7991 Mon Sep 17 00:00:00 2001 From: adesyawal <52590145+adesyawal@users.noreply.github.com> Date: Thu, 27 Aug 2026 13:19:00 +0700 Subject: [PATCH] Penyesuai Kepdirjen Agustus 2026 --- .../impl/PelayananPasienServiceImpl.java | 116 +++++++++++++++--- .../service/impl/RemunerasiServiceImpl.java | 86 ++++++++++--- 2 files changed, 168 insertions(+), 34 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 b9070cdc..d197440b 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 @@ -2234,6 +2234,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel double persenKonsultasi = toDoubleSettingFix("persenRemunKonsultasiDokter", tglAkhir); double persenVisite = toDoubleSettingFix("persenRemunVisiteDokter", tglAkhir); double persenTindakan = toDoubleSettingFix("persenRemunTindakanDokter", tglAkhir); + double persenTindakanRuangIntensif = toDoubleSettingFix("persenRemunTindakanDokterRuangIntensif", tglAkhir); + List listRuanganIntensifRemun = toListIntegerSettingFix("listRuanganIntensifRemun", tglAkhir); double persenTarifJasaBedah = toDoubleSettingFix("persenTarifJasaBedah", tglAkhir); double persenTarifJasaICU = toDoubleSettingFix("persenTarifJasaICU", tglAkhir); double persenRemunDokterPA = toDoubleSettingFix("persenRemunDokterPA", tglAkhir); @@ -2392,15 +2394,65 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (VISIT.equals(d.get("idGolonganProduk"))) { - RemunHargaJasaDto hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true); - d.put("persenJasa", persenVisite + "%"); - d.put("keterangan", hargaJasa.getKeterangan()); - d.put("hargaJasa", hargaJasa.getNilai()); + + if ( (date.before(new Date(1785542400000L)) || date.equals(new Date(1785542400000L))) && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())) ) { + /* + Perubahan Belaku Mulai Tangga 01-08-2026 00:00:00 + Perubahan Perihal Penyesuaian KepdirJen + */ + + if ( listRuanganIntensifRemun.contains(Integer.parseInt(d.get("idRuangan").toString())) ){ + double persenJasa = persenVisite / 100; + RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d, true); + d.put("persenJasa", persenVisite + "%"); + //d.put("persenJasa", persenVisite + "% (VISIT R ICU & R INTENSIF)"); + d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan()); + d.put("hargaJasa", hargaJasa.getNilai()); + } else { + double persenJasa = persenVisite / 100; + RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d, true); + d.put("persenJasa", persenVisite + "%"); + //d.put("persenJasa", persenVisite + "% (VISIT R ICU & NON INTENSIF)"); + d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan()); + d.put("hargaJasa", hargaJasa.getNilai()); + } + } else { + RemunHargaJasaDto hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true); + d.put("persenJasa", persenVisite + "% VISIT NON R ICU & NON R INTENSIF (SEBELUM AGUSTUS)"); + d.put("keterangan", hargaJasa.getKeterangan()); + d.put("hargaJasa", hargaJasa.getNilai()); + } + } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); - d.put("persenJasa", persenTindakan + "%"); - d.put("keterangan", hargaJasa.getKeterangan()); - d.put("hargaJasa", hargaJasa.getNilai()); + + if( (date.before(new Date(1785542400000L)) || date.equals(new Date(1785542400000L))) && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())) ) { + /* + Perubahan Belaku Mulai Tangga 01-08-2026 00:00:00 + Perubahan Perihal Penyesuaian KepdirJen + */ + + if( listRuanganIntensifRemun.contains(Integer.parseInt(d.get("idRuangan").toString())) ){ + double persenJasa = persenTindakanRuangIntensif / 100; + RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d, true); + d.put("persenJasa", persenTindakanRuangIntensif + "%"); + //d.put("persenJasa", persenTindakanRuangIntensif + "% ANASTESI R ICU & R INTENSIF"); + d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan()); + d.put("hargaJasa", hargaJasa.getNilai()); + }else{ + double persenJasa = persenTindakan / 100; + RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d, true); + d.put("persenJasa", persenTindakan + "%"); + d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "%" + hargaJasa.getKeterangan()); + //d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "% ANASTESI R ICU & NON R INTENSIF )" + hargaJasa.getKeterangan()); + d.put("hargaJasa", hargaJasa.getNilai()); + } + }else{ + RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); + d.put("persenJasa", persenTindakan + "%"); + //d.put("persenJasa", persenTindakan + "% ANASTESI NON R ICU & NON R INTENSIF (SEBELUM AGUSTUS)"); + d.put("keterangan", hargaJasa.getKeterangan()); + d.put("hargaJasa", hargaJasa.getNilai()); + } } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); d.put("persenJasa", persenAnestesi + "%"); @@ -2428,19 +2480,43 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel 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; - RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d, false); - d.put("persenJasa", persenTindakan + "%"); - d.put("keterangan", - "Dari " + persenTarifJasaICU + "% tarif" + hargaJasa.getKeterangan() + keteranganTambahan); - d.put("hargaJasa", hargaJasa.getNilai()); + } else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) { + + if ( (date.before(new Date(1785542400000L)) || date.equals(new Date(1785542400000L))) && listRuanganIntensifRemun.contains(Integer.parseInt(d.get("idRuangan").toString())) ) { + /* + Perubahan Belaku Mulai Tangga 01-08-2026 00:00:00 + Perubahan Perihal Penyesuaian KepdirJen + */ + + double persenJasa = persenTindakanRuangIntensif / 100; + RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d, false); + d.put("persenJasa", persenTindakanRuangIntensif + "%"); + //d.put("persenJasa", persenTindakanRuangIntensif + "% TINDAKAN R ICU & R INTENSIF"); + d.put("keterangan", "Dari " + persenTarifJasaICU + "% tarif" + hargaJasa.getKeterangan() + keteranganTambahan); + d.put("hargaJasa", hargaJasa.getNilai()); + + } else { + double persenJasa = persenTindakan / 100; + RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d, false); + d.put("persenJasa", persenTindakan + "%"); + d.put("keterangan", "Dari " + persenTarifJasaICU + "% tarif" + hargaJasa.getKeterangan() + keteranganTambahan); + d.put("hargaJasa", hargaJasa.getNilai()); + } + } else { - RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); - d.put("persenJasa", persenTindakan + "%"); - d.put("keterangan", hargaJasa.getKeterangan()); - d.put("hargaJasa", hargaJasa.getNilai()); + if ( (date.before(new Date(1785542400000L)) || date.equals(new Date(1785542400000L))) && listRuanganIntensifRemun.contains(Integer.parseInt(d.get("idRuangan").toString())) ) { + RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakanRuangIntensif / 100, hargaJual, d, true); + d.put("persenJasa", persenTindakanRuangIntensif + "%"); + //d.put("persenJasa", persenTindakanRuangIntensif + "% TINDAKAN NON R ICU & R INTENSIF"); + d.put("keterangan", hargaJasa.getKeterangan()); + d.put("hargaJasa", hargaJasa.getNilai()); + } else { + RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); + d.put("persenJasa", persenTindakan + "%"); + //d.put("persenJasa", persenTindakan + "% TINDAKAN NON R ICU & R INTENSIF (SEBELUM AGUSTUS)"); + d.put("keterangan", hargaJasa.getKeterangan()); + d.put("hargaJasa", hargaJasa.getNilai()); + } } } /* 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 f05dc6d3..4ede39bb 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 @@ -2473,15 +2473,64 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } else if (VISIT.equals(d.get("idGolonganProduk"))) { - RemunHargaJasaDto hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d); - d.put("persenJasa", persenVisite + "%"); - d.put("keterangan", hargaJasa.getKeterangan()); - d.put("hargaJasa", hargaJasa.getNilai()); + if ( (date.before(new Date(1785542400000L)) || date.equals(new Date(1785542400000L))) && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())) ) { + /* + Perubahan Belaku Mulai Tangga 01-08-2026 00:00:00 + Perubahan Perihal Penyesuaian KepdirJen + */ + + if ( listRuanganIntensifRemun.contains(Integer.parseInt(d.get("idRuangan").toString())) ){ + double persenJasa = persenVisite / 100; + RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d); + d.put("persenJasa", persenVisite + "%"); + //d.put("persenJasa", persenVisite + "% (VISIT R ICU & R INTENSIF)"); + d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan()); + d.put("hargaJasa", hargaJasa.getNilai()); + } else { + double persenJasa = persenVisite / 100; + RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d); + d.put("persenJasa", persenVisite + "%"); + //d.put("persenJasa", persenVisite + "% (VISIT R ICU & NON INTENSIF)"); + d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan()); + d.put("hargaJasa", hargaJasa.getNilai()); + } + } else { + RemunHargaJasaDto hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d); + d.put("persenJasa", persenVisite + "%"); + //d.put("persenJasa", persenVisite + "% VISIT NON R ICU & NON R INTENSIF (SEBELUM AGUSTUS)"); + d.put("keterangan", hargaJasa.getKeterangan()); + d.put("hargaJasa", hargaJasa.getNilai()); + } + } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { - RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d); - d.put("persenJasa", persenTindakan + "%"); - d.put("keterangan", hargaJasa.getKeterangan()); - d.put("hargaJasa", hargaJasa.getNilai()); + if( (date.before(new Date(1785542400000L)) || date.equals(new Date(1785542400000L))) && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())) ) { + /* + Perubahan Belaku Mulai Tangga 01-08-2026 00:00:00 + Perubahan Perihal Penyesuaian KepdirJen + */ + + if( listRuanganIntensifRemun.contains(Integer.parseInt(d.get("idRuangan").toString())) ){ + double persenJasa = persenTindakanRuangIntensif / 100; + RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d); + d.put("persenJasa", persenTindakanRuangIntensif + "%"); + //d.put("persenJasa", persenTindakanRuangIntensif + "% ANASTESI R ICU & R INTENSIF"); + d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan()); + d.put("hargaJasa", hargaJasa.getNilai()); + }else{ + double persenJasa = persenTindakan / 100; + RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d); + d.put("persenJasa", persenTindakan + "%"); + d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "%" + hargaJasa.getKeterangan()); + //d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "% ANASTESI R ICU & NON R INTENSIF )" + hargaJasa.getKeterangan()); + d.put("hargaJasa", hargaJasa.getNilai()); + } + }else{ + RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d); + d.put("persenJasa", persenTindakan + "%"); + //d.put("persenJasa", persenTindakan + "% ANASTESI NON R ICU & NON R INTENSIF (SEBELUM AGUSTUS)"); + d.put("keterangan", hargaJasa.getKeterangan()); + d.put("hargaJasa", hargaJasa.getNilai()); + } } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d); d.put("persenJasa", persenAnestesi + "%"); @@ -2510,29 +2559,38 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera 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()))) { - // Penyesuaian Perhitungan Remunerasi - if( listRuanganIntensifRemun.contains(Integer.parseInt(d.get("idRuangan").toString())) ){ + if ( (date.before(new Date(1785542400000L)) || date.equals(new Date(1785542400000L))) && listRuanganIntensifRemun.contains(Integer.parseInt(d.get("idRuangan").toString())) ) { + /* + Perubahan Belaku Mulai Tangga 01-08-2026 00:00:00 + Perubahan Perihal Penyesuaian KepdirJen + */ + double persenJasa = persenTindakanRuangIntensif / 100; RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d); d.put("persenJasa", persenTindakanRuangIntensif + "%"); + //d.put("persenJasa", persenTindakanRuangIntensif + "% TINDAKAN R ICU & R INTENSIF"); d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); - }else{ + + } else { double persenJasa = persenTindakan / 100; RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d); d.put("persenJasa", persenTindakan + "%"); - d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan()); + d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "%" + hargaJasa.getKeterangan()); + //d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "% TINDAKAN R ICU & NON R INTENSIF (SEBELUM AGUSTUS)" + hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); } } else { - if( listRuanganIntensifRemun.contains(Integer.parseInt(d.get("idRuangan").toString())) ){ + if ( (date.before(new Date(1785542400000L)) || date.equals(new Date(1785542400000L))) && listRuanganIntensifRemun.contains(Integer.parseInt(d.get("idRuangan").toString())) ) { RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakanRuangIntensif / 100, hargaJual, d); d.put("persenJasa", persenTindakanRuangIntensif + "%"); + //d.put("persenJasa", persenTindakanRuangIntensif + "% TINDAKAN NON R ICU & R INTENSIF"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); - }else{ + } else { RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d); d.put("persenJasa", persenTindakan + "%"); + //d.put("persenJasa", persenTindakan + "% TINDAKAN NON R ICU & R INTENSIF (SEBELUM AGUSTUS)"); d.put("keterangan", hargaJasa.getKeterangan()); d.put("hargaJasa", hargaJasa.getNilai()); }