Update service remunerasi

Perbaikan validasi kelompok kerja dokter di logbook tarif
This commit is contained in:
Salman Manoe 2025-02-24 11:45:58 +07:00
parent e9f255ee90
commit d126ed5b38
2 changed files with 51 additions and 46 deletions

View File

@ -497,4 +497,8 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends JpaRepository<MapPegawa
+ "and mj.unitKerjaPegawaiId in (:listUnitKerjaId) " + "and pg.jenisPegawaiId = 1")
Set<Integer> findDokterByUnitKerja(@Param("listUnitKerjaId") List<Integer> 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<Integer> findKelompokKerjaByDokter(@Param("pegawaiId") Integer idPegawai);
}

View File

@ -110,6 +110,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
@Autowired
private MapJabatanProfesiDao mapJabatanProfesiDao;
@Autowired
private MapPegawaiJabatanToUnitKerjaDao mapPegawaiJabatanToUnitKerjaDao;
@Override
public Map<String, Object> saveProgramKegiatan(ProgramKegiatanVO vo) {
Map<String, Object> result = new HashMap<>();
@ -275,6 +278,11 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
} catch (ParseException e) {
return null;
}
/*
* Mendapatkan kelompok kerja dokter
*/
List<Integer> 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<Integer> listDetailJenisProduk;
List<Integer> listDetailJenisProdukException = new ArrayList<>();
List<Integer> drKkPediatrikGDList = pegawaiDao.getDokterByKelompokKerja(KK_PEDIATRIK_GD);
List<Integer> drAnastesiList = pegawaiDao.getDokterByKelompokKerja(KK_ANESTESI);
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(KK_UMUM);
List<Integer> drKkPerinatologiList = pegawaiDao.getDokterByKelompokKerja(KK_PERINATOLOGI);
List<Integer> drKkPatologiAnatomiList = pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_ANATOMI);
List<Integer> drKkGenetika = pegawaiDao.getDokterByKelompokKerja(KK_GENETIKA);
List<Integer> drKkRadiologi = pegawaiDao.getDokterByKelompokKerja(KK_RADIOLOGI);
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> terapisRehabMedik = mapJabatanProfesiDao.findIdPegawaiByProfesiIn(Arrays.asList(TERAPI));
List<Integer> idsJenisProdukNonLogbook = getNilaiDataFixByTMT("listJenisProdukNonLogbook", tglAkhir);
@ -350,11 +351,11 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
List<Integer> idsKepalaPaketFixedPay = getNilaiDataFixByTMT("idProdukKepalaPaketFixedPay", tglAkhir);
List<Integer> paketBukanFixedPay = getNilaiDataFixByTMT("produkPaketBukanFixedPay", tglAkhir);
List<Integer> 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<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> 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"))