From e9f255ee90c9aa7f8fb3834072ee876ba7f93f08 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Mon, 24 Feb 2025 10:19:28 +0700 Subject: [PATCH 1/5] Update RemunerasiServiceImpl.java Penerapan tmt data cleansing tarif 2024 untuk dokter kk perinatologi --- .../service/impl/RemunerasiServiceImpl.java | 70 +++++++++++++------ 1 file changed, 50 insertions(+), 20 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 210b5dc6..b941df65 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 @@ -364,9 +364,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera listDetailJenisProdukException.removeAll(listDetailJenisProduk); } /* - * TMT KSM Umum mulai menggunakan pembatasan tindakan + * TMT Tarif baru tahun 2024 */ - Date tmtTindakanKSMUmum = new Date(1738342800000L); + Date tmtTarif2024 = new Date(1738342800000L); /* * Mendapatkan data mentah pelayanan pasien */ @@ -1034,9 +1034,17 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } else if (drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString())) - && (tglAwal.equals(tmtTindakanKSMUmum) || tglAwal.after(tmtTindakanKSMUmum))) { + && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { /* - * Aturan dokter ksm umum + * Aturan dokter ksm umum tarif 2024 + */ + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } else if (drKkPerinatologiList.contains(idPegawai) + && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString())) + && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { + /* + * Aturan dokter kk perinatologi tarif 2024 */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); @@ -1048,7 +1056,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude .contains(Integer.parseInt(next.get("idProduk").toString())) - && tglAwal.before(tmtTindakanKSMUmum))) { + && tglAwal.before(tmtTarif2024))) { /* * Dibatasi oleh daftar jenis tindakan tertentu */ @@ -1077,7 +1085,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera Integer.parseInt(next.get("idDetailJenisProduk").toString())))) && IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString())) - && tglAwal.before(tmtTindakanKSMUmum)) { + && tglAwal.before(tmtTarif2024)) { /* * Aturan dokter ksm umum di igd */ @@ -1088,7 +1096,8 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera && !listDetailJenisProduk.contains( Integer.parseInt(next.get("idDetailJenisProduk").toString())))) && drKkPerinatologiList.contains(idPegawai) - && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))) { + && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString())) + && tglAwal.before(tmtTarif2024)) { /* * Aturan dokter kk perinatologi dengan pembatasan * tindakan tertentu @@ -1118,7 +1127,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude .contains(Integer.parseInt(next.get("idProduk").toString())) - && tglAwal.before(tmtTindakanKSMUmum))) { + && tglAwal.before(tmtTarif2024))) { if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) @@ -1190,9 +1199,17 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } else if (drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString())) - && (tglAwal.equals(tmtTindakanKSMUmum) || tglAwal.after(tmtTindakanKSMUmum))) { + && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { /* - * Aturan dokter ksm umum + * Aturan dokter ksm umum tarif 2024 + */ + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } else if (drKkPerinatologiList.contains(idPegawai) + && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString())) + && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { + /* + * Aturan dokter kk perinatologi tarif 2024 */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); @@ -1204,7 +1221,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude .contains(Integer.parseInt(next.get("idProduk").toString())) - && tglAwal.before(tmtTindakanKSMUmum))) { + && tglAwal.before(tmtTarif2024))) { /* * Dibatasi oleh daftar jenis tindakan tertentu */ @@ -1233,7 +1250,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera Integer.parseInt(next.get("idDetailJenisProduk").toString())))) && IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString())) - && tglAwal.before(tmtTindakanKSMUmum)) { + && tglAwal.before(tmtTarif2024)) { /* * Aturan dokter ksm umum di igd */ @@ -1244,7 +1261,8 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera && !listDetailJenisProduk.contains( Integer.parseInt(next.get("idDetailJenisProduk").toString())))) && drKkPerinatologiList.contains(idPegawai) - && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))) { + && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString())) + && tglAwal.before(tmtTarif2024)) { /* * Aturan dokter kk perinatologi dengan pembatasan * tindakan tertentu @@ -1274,7 +1292,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude .contains(Integer.parseInt(next.get("idProduk").toString())) - && tglAwal.before(tmtTindakanKSMUmum))) { + && tglAwal.before(tmtTarif2024))) { if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) @@ -1357,9 +1375,20 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera } } else if (drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString())) - && (tglAwal.equals(tmtTindakanKSMUmum) || tglAwal.after(tmtTindakanKSMUmum))) { + && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { /* - * Aturan dokter ksm umum + * Aturan dokter ksm umum tarif 2024 + */ + if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { + listPelayananFfs.add(next); + } else { + listPelayananNonJknLuarJamKerja.add(next); + } + } else if (drKkPerinatologiList.contains(idPegawai) + && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString())) + && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { + /* + * Aturan dokter kk perinatologi tarif 2024 */ if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { listPelayananFfs.add(next); @@ -1374,7 +1403,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude .contains(Integer.parseInt(next.get("idProduk").toString())) - && tglAwal.before(tmtTindakanKSMUmum))) { + && tglAwal.before(tmtTarif2024))) { /* * Dibatasi oleh daftar jenis tindakan tertentu */ @@ -1409,7 +1438,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera Integer.parseInt(next.get("idDetailJenisProduk").toString())))) && IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString())) - && tglAwal.before(tmtTindakanKSMUmum)) { + && tglAwal.before(tmtTarif2024)) { /* * Aturan dokter ksm umum di igd */ @@ -1423,7 +1452,8 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera && !listDetailJenisProduk.contains( Integer.parseInt(next.get("idDetailJenisProduk").toString())))) && drKkPerinatologiList.contains(idPegawai) - && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))) { + && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString())) + && tglAwal.before(tmtTarif2024)) { /* * Aturan dokter kk perinatologi dengan pembatasan * tindakan tertentu @@ -1462,7 +1492,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude .contains(Integer.parseInt(next.get("idProduk").toString())) - && tglAwal.before(tmtTindakanKSMUmum))) { + && tglAwal.before(tmtTarif2024))) { if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) From d126ed5b3821284b3f4cfcfc25573cc6ebcdc7a8 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Mon, 24 Feb 2025 11:45:58 +0700 Subject: [PATCH 2/5] Update service remunerasi Perbaikan validasi kelompok kerja dokter di logbook tarif --- .../dao/MapPegawaiJabatanToUnitKerjaDao.java | 4 + .../service/impl/RemunerasiServiceImpl.java | 93 ++++++++++--------- 2 files changed, 51 insertions(+), 46 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPegawaiJabatanToUnitKerjaDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPegawaiJabatanToUnitKerjaDao.java index 9f58ab2d..a0fc2213 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPegawaiJabatanToUnitKerjaDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPegawaiJabatanToUnitKerjaDao.java @@ -497,4 +497,8 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends JpaRepository findDokterByUnitKerja(@Param("listUnitKerjaId") List listIdUnitKerja); + @Query("select skj.id from MapPegawaiJabatanToUnitKerja mj " + "inner join mj.subUnitKerjaPegawai skj " + + "where mj.statusEnabled is true " + "and skj.statusEnabled is true " + "and lower(skj.name) like 'kk%' " + + "and mj.pegawaiId = :pegawaiId") + List findKelompokKerjaByDokter(@Param("pegawaiId") Integer idPegawai); } 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 b941df65..6a14c9ef 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 @@ -110,6 +110,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera @Autowired private MapJabatanProfesiDao mapJabatanProfesiDao; + @Autowired + private MapPegawaiJabatanToUnitKerjaDao mapPegawaiJabatanToUnitKerjaDao; + @Override public Map saveProgramKegiatan(ProgramKegiatanVO vo) { Map result = new HashMap<>(); @@ -275,6 +278,11 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera } catch (ParseException e) { return null; } + /* + * Mendapatkan kelompok kerja dokter + */ + List kelompokKerjaByDokter = mapPegawaiJabatanToUnitKerjaDao.findKelompokKerjaByDokter(idPegawai); + Integer idKKDokter = kelompokKerjaByDokter.stream().findFirst().orElse(-1); /* * Mendapatkan daftar jadwal kerja, tanggal dan jam kerja */ @@ -320,13 +328,6 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ List listDetailJenisProduk; List listDetailJenisProdukException = new ArrayList<>(); - List drKkPediatrikGDList = pegawaiDao.getDokterByKelompokKerja(KK_PEDIATRIK_GD); - List drAnastesiList = pegawaiDao.getDokterByKelompokKerja(KK_ANESTESI); - List drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(KK_UMUM); - List drKkPerinatologiList = pegawaiDao.getDokterByKelompokKerja(KK_PERINATOLOGI); - List drKkPatologiAnatomiList = pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_ANATOMI); - List drKkGenetika = pegawaiDao.getDokterByKelompokKerja(KK_GENETIKA); - List drKkRadiologi = pegawaiDao.getDokterByKelompokKerja(KK_RADIOLOGI); List laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog(); List terapisRehabMedik = mapJabatanProfesiDao.findIdPegawaiByProfesiIn(Arrays.asList(TERAPI)); List idsJenisProdukNonLogbook = getNilaiDataFixByTMT("listJenisProdukNonLogbook", tglAkhir); @@ -350,11 +351,11 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera List idsKepalaPaketFixedPay = getNilaiDataFixByTMT("idProdukKepalaPaketFixedPay", tglAkhir); List paketBukanFixedPay = getNilaiDataFixByTMT("produkPaketBukanFixedPay", tglAkhir); List idsKarcis = getNilaiDataFixByTMT("listKarcisIdProduk", tglAkhir); - if (drKkPatologiAnatomiList.contains(idPegawai)) { + if (KK_PATOLOGI_ANATOMI.equals(idKKDokter)) { listDetailJenisProduk = idsRegDJPPenunjangPA; - } else if (pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_KLINIK).contains(idPegawai)) { + } else if (KK_PATOLOGI_KLINIK.equals(idKKDokter)) { listDetailJenisProduk = idsRegDJPPenunjangPK; - } else if (drKkRadiologi.contains(idPegawai)) { + } else if (KK_RADIOLOGI.equals(idKKDokter)) { listDetailJenisProduk = idsRegDJPPenunjangRad; } else { listDetailJenisProduk = idsRegDJPMedisUtama; @@ -409,7 +410,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera d.put("hargaJual", d.get("komponenTotalTarif")); d.put("isTermasukProporsi", true); double hargaJual = Double.parseDouble(d.get("hargaJual").toString()); - if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { + if (KK_UMUM.equals(idKKDokter) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d); d.put("hargaJasa", hargaJasa.getNilai()); } else if (terapisRehabMedik.contains(idPegawai)) { @@ -497,13 +498,13 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera d.put("hargaJasa", hargaJasa.getNilai()); if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) d.put("isTermasukProporsi", false); - } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { + } else if (KK_ANESTESI.equals(idKKDokter) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d); d.put("hargaJasa", hargaJasa.getNilai()); - } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { + } else if (KK_ANESTESI.equals(idKKDokter) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d); d.put("hargaJasa", hargaJasa.getNilai()); - } else if (drKkGenetika.contains(idPegawai) + } else if (KK_GENETIKA.equals(idKKDokter) && idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { /* @@ -518,7 +519,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera d.put("hargaJasa", hargaJasa.getNilai()); if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) d.put("isTermasukProporsi", false); - } else if (drKkPatologiAnatomiList.contains(idPegawai)) { + } else if (KK_PATOLOGI_ANATOMI.equals(idKKDokter)) { RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterPA / 100, hargaJual, d); d.put("hargaJasa", hargaJasa.getNilai()); if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) @@ -590,7 +591,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera * pasien di luar dokter-dokter kk eria */ List> rawDataBpjs2 = new ArrayList<>(); - if (!drKkPediatrikGDList.contains(idPegawai)) { + if (!KK_PEDIATRIK_GD.equals(idKKDokter)) { /* * Dapatkan semua pendaftaran BPJS untuk visite di luar * dokter-dokter kk eria @@ -651,7 +652,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera * hari per dokter per pasien kk eria */ List> rawDataBpjs3 = new ArrayList<>(); - if (drKkPediatrikGDList.contains(idPegawai)) { + if (KK_PEDIATRIK_GD.equals(idKKDokter)) { /* * Dapatkan semua pendaftaran BPJS untuk visite dokter-dokter kk * eria @@ -718,7 +719,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera * diambil maksimal 2 kali per hari per pasien per dokter kk eria */ List> rawDataBpjs4 = new ArrayList<>(); - if (drKkPediatrikGDList.contains(idPegawai)) { + if (KK_PEDIATRIK_GD.equals(idKKDokter)) { /* * Dapatkan semua pendaftaran BPJS untuk monitoring hemodinamik * gagal organ dokter-dokter kk eria @@ -795,7 +796,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera * 2 kali per hari per pasien per dokter kk perinatologi */ List> rawDataBpjs5 = new ArrayList<>(); - if (drKkPerinatologiList.contains(idPegawai)) { + if (KK_PERINATOLOGI.equals(idKKDokter)) { /* * Dapatkan semua pendaftaran BPJS untuk monitoring intervensi * dokter-dokter kk perinatologi @@ -989,7 +990,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Urutan alokasi bpjs sebagai urutan prioritas */ - if (drKkPediatrikGDList.contains(idPegawai)) { + if (KK_PEDIATRIK_GD.equals(idKKDokter)) { if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) { if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) @@ -1028,11 +1029,11 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } } - } else if (drKkRadiologi.contains(idPegawai) && (BEDAH_SENTRAL.equals(next.get("idDepartemen")) + } else if (KK_RADIOLOGI.equals(idKKDokter) && (BEDAH_SENTRAL.equals(next.get("idDepartemen")) || CATHLAB.equals(next.get("idRuangan")))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); - } else if (drKsmUmumList.contains(idPegawai) + } else if (KK_UMUM.equals(idKKDokter) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString())) && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { /* @@ -1040,7 +1041,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); - } else if (drKkPerinatologiList.contains(idPegawai) + } else if (KK_PERINATOLOGI.equals(idKKDokter) && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString())) && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { /* @@ -1054,7 +1055,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { - if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude + if (!KK_UMUM.equals(idKKDokter) || (!idsDokterUmumExclude .contains(Integer.parseInt(next.get("idProduk").toString())) && tglAwal.before(tmtTarif2024))) { /* @@ -1083,7 +1084,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && !listDetailJenisProduk.contains( Integer.parseInt(next.get("idDetailJenisProduk").toString())))) - && IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) + && IGD.equals(next.get("idDepartemen")) && KK_UMUM.equals(idKKDokter) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString())) && tglAwal.before(tmtTarif2024)) { /* @@ -1095,7 +1096,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && !listDetailJenisProduk.contains( Integer.parseInt(next.get("idDetailJenisProduk").toString())))) - && drKkPerinatologiList.contains(idPegawai) + && KK_PERINATOLOGI.equals(idKKDokter) && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString())) && tglAwal.before(tmtTarif2024)) { /* @@ -1104,7 +1105,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); - } else if (drAnastesiList.contains(idPegawai)) { + } else if (KK_ANESTESI.equals(idKKDokter)) { if (idsPenunjangBukanAnestesi.contains(Integer.parseInt(next.get("idProduk").toString()))) { /* * Aturan dokter kk anestesi dengan pembatasan @@ -1125,7 +1126,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Diluar pembatasan jenis produk */ - if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude + if (!KK_UMUM.equals(idKKDokter) || (!idsDokterUmumExclude .contains(Integer.parseInt(next.get("idProduk").toString())) && tglAwal.before(tmtTarif2024))) { if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) @@ -1154,7 +1155,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera * Alokasi bagian remunerasi berdasarkan target rupiah * sesuai tanggal mulai berlaku */ - if (drKkPediatrikGDList.contains(idPegawai)) { + if (KK_PEDIATRIK_GD.equals(idKKDokter)) { if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) { if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) @@ -1193,11 +1194,11 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } } - } else if (drKkRadiologi.contains(idPegawai) && (BEDAH_SENTRAL.equals(next.get("idDepartemen")) + } else if (KK_RADIOLOGI.equals(idKKDokter) && (BEDAH_SENTRAL.equals(next.get("idDepartemen")) || CATHLAB.equals(next.get("idRuangan")))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); - } else if (drKsmUmumList.contains(idPegawai) + } else if (KK_UMUM.equals(idKKDokter) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString())) && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { /* @@ -1205,7 +1206,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); - } else if (drKkPerinatologiList.contains(idPegawai) + } else if (KK_PERINATOLOGI.equals(idKKDokter) && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString())) && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { /* @@ -1219,7 +1220,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { - if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude + if (!KK_UMUM.equals(idKKDokter) || (!idsDokterUmumExclude .contains(Integer.parseInt(next.get("idProduk").toString())) && tglAwal.before(tmtTarif2024))) { /* @@ -1248,7 +1249,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && !listDetailJenisProduk.contains( Integer.parseInt(next.get("idDetailJenisProduk").toString())))) - && IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) + && IGD.equals(next.get("idDepartemen")) && KK_UMUM.equals(idKKDokter) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString())) && tglAwal.before(tmtTarif2024)) { /* @@ -1260,7 +1261,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && !listDetailJenisProduk.contains( Integer.parseInt(next.get("idDetailJenisProduk").toString())))) - && drKkPerinatologiList.contains(idPegawai) + && KK_PERINATOLOGI.equals(idKKDokter) && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString())) && tglAwal.before(tmtTarif2024)) { /* @@ -1269,7 +1270,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); - } else if (drAnastesiList.contains(idPegawai)) { + } else if (KK_ANESTESI.equals(idKKDokter)) { if (idsPenunjangBukanAnestesi.contains(Integer.parseInt(next.get("idProduk").toString()))) { /* * Aturan dokter kk anestesi dengan pembatasan @@ -1290,7 +1291,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Diluar pembatasan jenis produk */ - if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude + if (!KK_UMUM.equals(idKKDokter) || (!idsDokterUmumExclude .contains(Integer.parseInt(next.get("idProduk").toString())) && tglAwal.before(tmtTarif2024))) { if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) @@ -1318,7 +1319,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Alokasi untuk bagian ffs */ - if (drKkPediatrikGDList.contains(idPegawai)) { + if (KK_PEDIATRIK_GD.equals(idKKDokter)) { if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) { if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) @@ -1366,14 +1367,14 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera } } } - } else if (drKkRadiologi.contains(idPegawai) && (BEDAH_SENTRAL.equals(next.get("idDepartemen")) + } else if (KK_RADIOLOGI.equals(idKKDokter) && (BEDAH_SENTRAL.equals(next.get("idDepartemen")) || CATHLAB.equals(next.get("idRuangan")))) { if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { listPelayananFfs.add(next); } else { listPelayananNonJknLuarJamKerja.add(next); } - } else if (drKsmUmumList.contains(idPegawai) + } else if (KK_UMUM.equals(idKKDokter) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString())) && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { /* @@ -1384,7 +1385,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera } else { listPelayananNonJknLuarJamKerja.add(next); } - } else if (drKkPerinatologiList.contains(idPegawai) + } else if (KK_PERINATOLOGI.equals(idKKDokter) && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString())) && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { /* @@ -1401,7 +1402,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { - if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude + if (!KK_UMUM.equals(idKKDokter) || (!idsDokterUmumExclude .contains(Integer.parseInt(next.get("idProduk").toString())) && tglAwal.before(tmtTarif2024))) { /* @@ -1436,7 +1437,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && !listDetailJenisProduk.contains( Integer.parseInt(next.get("idDetailJenisProduk").toString())))) - && IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) + && IGD.equals(next.get("idDepartemen")) && KK_UMUM.equals(idKKDokter) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString())) && tglAwal.before(tmtTarif2024)) { /* @@ -1451,7 +1452,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && !listDetailJenisProduk.contains( Integer.parseInt(next.get("idDetailJenisProduk").toString())))) - && drKkPerinatologiList.contains(idPegawai) + && KK_PERINATOLOGI.equals(idKKDokter) && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString())) && tglAwal.before(tmtTarif2024)) { /* @@ -1463,7 +1464,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera } else { listPelayananNonJknLuarJamKerja.add(next); } - } else if (drAnastesiList.contains(idPegawai)) { + } else if (KK_ANESTESI.equals(idKKDokter)) { if (idsPenunjangBukanAnestesi.contains(Integer.parseInt(next.get("idProduk").toString()))) { /* * Aturan dokter kk anestesi dengan pembatasan @@ -1490,7 +1491,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Diluar pembatasan jenis produk */ - if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude + if (!KK_UMUM.equals(idKKDokter) || (!idsDokterUmumExclude .contains(Integer.parseInt(next.get("idProduk").toString())) && tglAwal.before(tmtTarif2024))) { if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) From ac66e37571a6f89a422404eda2a1848383a6ce31 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Mon, 24 Feb 2025 13:31:50 +0700 Subject: [PATCH 3/5] Update service remunerasi Penerapan tmt data cleansing tarif 2024 untuk dokter kk hematologi dan onkologi anak --- .../medifirst2000/constants/Master.java | 1 + .../service/impl/RemunerasiServiceImpl.java | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+) 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 0acac41e..1623da8c 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 @@ -417,6 +417,7 @@ public final class Master { public static final Integer KK_ANESTESI = 223; public static final Integer KK_FARMAKOLOGI = 205; public static final Integer KK_GENETIKA = 198; + public static final Integer KK_HEMATO_ONKO = 216; public static final Integer KK_PATOLOGI_ANATOMI = 197; public static final Integer KK_PATOLOGI_KLINIK = 199; public static final Integer KK_PEDIATRIK_GD = 244; 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 6a14c9ef..e191d7b9 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 @@ -342,6 +342,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera List idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAkhir); List idsDokterBPJSffs = splitDataSettingDatafixed("dokterBPJSffs"); List idsDokterPediatrikGD = getNilaiDataFixByTMT("pr_dokter_pediatrik_gd", tglAkhir); + List idsDokterHematoOnko = getNilaiDataFixByTMT("pr_dokter_hematoonko_anak", tglAkhir); List listIdPegawaiRemunKelompokBudiRahmat = splitDataSettingDatafixed( "listIdPegawaiRemunKelompokBudiRahmat"); List idsMonitoringIntervensi = getNilaiDataFixByTMT("idMonitoringIntervensi", tglAkhir); @@ -1049,6 +1050,14 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } else if (KK_HEMATO_ONKO.equals(idKKDokter) + && idsDokterHematoOnko.contains(Integer.parseInt(next.get("idProduk").toString())) + && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { + /* + * Aturan dokter kk hematologi dan onkologi anak tarif 2024 + */ + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } else { /* * Selain dokter-dokter kk pediatrik gawat darurat @@ -1214,6 +1223,14 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } else if (KK_HEMATO_ONKO.equals(idKKDokter) + && idsDokterHematoOnko.contains(Integer.parseInt(next.get("idProduk").toString())) + && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { + /* + * Aturan dokter kk hematologi dan onkologi anak tarif 2024 + */ + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } else { /* * Selain dokter-dokter kk pediatrik gawat darurat @@ -1396,6 +1413,17 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera } else { listPelayananNonJknLuarJamKerja.add(next); } + } else if (KK_HEMATO_ONKO.equals(idKKDokter) + && idsDokterHematoOnko.contains(Integer.parseInt(next.get("idProduk").toString())) + && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { + /* + * Aturan dokter kk hematologi dan onkologi tarif 2024 + */ + if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { + listPelayananFfs.add(next); + } else { + listPelayananNonJknLuarJamKerja.add(next); + } } else { /* * Selain dokter-dokter kk pediatrik gawat darurat From 7bcddf11296b13bda6779af0c7529a3cc8b02f92 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Mon, 24 Feb 2025 14:32:15 +0700 Subject: [PATCH 4/5] Update service remunerasi Penerapan tmt data cleansing tarif 2024 untuk dokter kk emergensi rawat intensif anak --- .../medifirst2000/constants/Master.java | 1 + .../service/impl/RemunerasiServiceImpl.java | 37 ++++++++++++++++++- 2 files changed, 36 insertions(+), 2 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 1623da8c..5bd3cb76 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 @@ -415,6 +415,7 @@ public final class Master { public static final class SubUnitKerja { public static final Integer KK_ANESTESI = 223; + public static final Integer KK_EMERGIC = 218; public static final Integer KK_FARMAKOLOGI = 205; public static final Integer KK_GENETIKA = 198; public static final Integer KK_HEMATO_ONKO = 216; 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 e191d7b9..9df93702 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 @@ -343,6 +343,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera List idsDokterBPJSffs = splitDataSettingDatafixed("dokterBPJSffs"); List idsDokterPediatrikGD = getNilaiDataFixByTMT("pr_dokter_pediatrik_gd", tglAkhir); List idsDokterHematoOnko = getNilaiDataFixByTMT("pr_dokter_hematoonko_anak", tglAkhir); + List idsDokterEmergic = getNilaiDataFixByTMT("pr_produk_emergic_anak", tglAkhir); List listIdPegawaiRemunKelompokBudiRahmat = splitDataSettingDatafixed( "listIdPegawaiRemunKelompokBudiRahmat"); List idsMonitoringIntervensi = getNilaiDataFixByTMT("idMonitoringIntervensi", tglAkhir); @@ -1054,7 +1055,17 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera && idsDokterHematoOnko.contains(Integer.parseInt(next.get("idProduk").toString())) && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { /* - * Aturan dokter kk hematologi dan onkologi anak tarif 2024 + * Aturan dokter kk hematologi dan onkologi anak tarif + * 2024 + */ + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } else if (KK_EMERGIC.equals(idKKDokter) + && idsDokterEmergic.contains(Integer.parseInt(next.get("idProduk").toString())) + && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { + /* + * Aturan dokter kk emergensi rawat intensif anak tarif + * 2024 */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); @@ -1227,7 +1238,17 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera && idsDokterHematoOnko.contains(Integer.parseInt(next.get("idProduk").toString())) && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { /* - * Aturan dokter kk hematologi dan onkologi anak tarif 2024 + * Aturan dokter kk hematologi dan onkologi anak tarif + * 2024 + */ + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } else if (KK_EMERGIC.equals(idKKDokter) + && idsDokterEmergic.contains(Integer.parseInt(next.get("idProduk").toString())) + && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { + /* + * Aturan dokter kk emergensi rawat intensif anak tarif + * 2024 */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); @@ -1424,6 +1445,18 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera } else { listPelayananNonJknLuarJamKerja.add(next); } + } else if (KK_EMERGIC.equals(idKKDokter) + && idsDokterEmergic.contains(Integer.parseInt(next.get("idProduk").toString())) + && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { + /* + * Aturan dokter kk emergensi rawat intensif anak tarif + * 2024 + */ + if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { + listPelayananFfs.add(next); + } else { + listPelayananNonJknLuarJamKerja.add(next); + } } else { /* * Selain dokter-dokter kk pediatrik gawat darurat From e1f8c37474a68eff817dc1634508e5c812995190 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Mon, 24 Feb 2025 14:35:13 +0700 Subject: [PATCH 5/5] Update RemunerasiServiceImpl.java Penerapan filter produk perawat tidak dapat diklaim dokter --- .../medifirst2000/service/impl/RemunerasiServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) 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 9df93702..42431138 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 @@ -344,6 +344,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera List idsDokterPediatrikGD = getNilaiDataFixByTMT("pr_dokter_pediatrik_gd", tglAkhir); List idsDokterHematoOnko = getNilaiDataFixByTMT("pr_dokter_hematoonko_anak", tglAkhir); List idsDokterEmergic = getNilaiDataFixByTMT("pr_produk_emergic_anak", tglAkhir); + List idsPerawat = getNilaiDataFixByTMT("pr_produk_perawat", tglAkhir); List listIdPegawaiRemunKelompokBudiRahmat = splitDataSettingDatafixed( "listIdPegawaiRemunKelompokBudiRahmat"); List idsMonitoringIntervensi = getNilaiDataFixByTMT("idMonitoringIntervensi", tglAkhir); @@ -383,6 +384,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera .collect(Collectors.toList()); listRatedPay = listRatedPay.stream() .filter(d -> !idsKepalaPaketFixedPay.contains(Integer.parseInt(d.get("idProduk").toString()))) + .filter(d -> !idsPerawat.contains(Integer.parseInt(d.get("idProduk").toString()))) .collect(Collectors.toList()); List allPaketId = mapProdukPaketDao.findProdukEntriId(); List revisedPaketId = allPaketId.stream().filter(p -> !paketBukanFixedPay.contains(p))