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"))