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") + "and mj.unitKerjaPegawaiId in (:listUnitKerjaId) " + "and pg.jenisPegawaiId = 1")
Set<Integer> findDokterByUnitKerja(@Param("listUnitKerjaId") List<Integer> listIdUnitKerja); 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 @Autowired
private MapJabatanProfesiDao mapJabatanProfesiDao; private MapJabatanProfesiDao mapJabatanProfesiDao;
@Autowired
private MapPegawaiJabatanToUnitKerjaDao mapPegawaiJabatanToUnitKerjaDao;
@Override @Override
public Map<String, Object> saveProgramKegiatan(ProgramKegiatanVO vo) { public Map<String, Object> saveProgramKegiatan(ProgramKegiatanVO vo) {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
@ -275,6 +278,11 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
} catch (ParseException e) { } catch (ParseException e) {
return null; 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 * Mendapatkan daftar jadwal kerja, tanggal dan jam kerja
*/ */
@ -320,13 +328,6 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
*/ */
List<Integer> listDetailJenisProduk; List<Integer> listDetailJenisProduk;
List<Integer> listDetailJenisProdukException = new ArrayList<>(); 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> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> terapisRehabMedik = mapJabatanProfesiDao.findIdPegawaiByProfesiIn(Arrays.asList(TERAPI)); List<Integer> terapisRehabMedik = mapJabatanProfesiDao.findIdPegawaiByProfesiIn(Arrays.asList(TERAPI));
List<Integer> idsJenisProdukNonLogbook = getNilaiDataFixByTMT("listJenisProdukNonLogbook", tglAkhir); 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> idsKepalaPaketFixedPay = getNilaiDataFixByTMT("idProdukKepalaPaketFixedPay", tglAkhir);
List<Integer> paketBukanFixedPay = getNilaiDataFixByTMT("produkPaketBukanFixedPay", tglAkhir); List<Integer> paketBukanFixedPay = getNilaiDataFixByTMT("produkPaketBukanFixedPay", tglAkhir);
List<Integer> idsKarcis = getNilaiDataFixByTMT("listKarcisIdProduk", tglAkhir); List<Integer> idsKarcis = getNilaiDataFixByTMT("listKarcisIdProduk", tglAkhir);
if (drKkPatologiAnatomiList.contains(idPegawai)) { if (KK_PATOLOGI_ANATOMI.equals(idKKDokter)) {
listDetailJenisProduk = idsRegDJPPenunjangPA; listDetailJenisProduk = idsRegDJPPenunjangPA;
} else if (pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_KLINIK).contains(idPegawai)) { } else if (KK_PATOLOGI_KLINIK.equals(idKKDokter)) {
listDetailJenisProduk = idsRegDJPPenunjangPK; listDetailJenisProduk = idsRegDJPPenunjangPK;
} else if (drKkRadiologi.contains(idPegawai)) { } else if (KK_RADIOLOGI.equals(idKKDokter)) {
listDetailJenisProduk = idsRegDJPPenunjangRad; listDetailJenisProduk = idsRegDJPPenunjangRad;
} else { } else {
listDetailJenisProduk = idsRegDJPMedisUtama; listDetailJenisProduk = idsRegDJPMedisUtama;
@ -409,7 +410,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
d.put("hargaJual", d.get("komponenTotalTarif")); d.put("hargaJual", d.get("komponenTotalTarif"));
d.put("isTermasukProporsi", true); d.put("isTermasukProporsi", true);
double hargaJual = Double.parseDouble(d.get("hargaJual").toString()); 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); RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (terapisRehabMedik.contains(idPegawai)) { } else if (terapisRehabMedik.contains(idPegawai)) {
@ -497,13 +498,13 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false); 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); RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai()); 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); RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkGenetika.contains(idPegawai) } else if (KK_GENETIKA.equals(idKKDokter)
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { && (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()); d.put("hargaJasa", hargaJasa.getNilai());
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false); d.put("isTermasukProporsi", false);
} else if (drKkPatologiAnatomiList.contains(idPegawai)) { } else if (KK_PATOLOGI_ANATOMI.equals(idKKDokter)) {
RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterPA / 100, hargaJual, d); RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterPA / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) 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 * pasien di luar dokter-dokter kk eria
*/ */
List<Map<String, Object>> rawDataBpjs2 = new ArrayList<>(); 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 * Dapatkan semua pendaftaran BPJS untuk visite di luar
* dokter-dokter kk eria * dokter-dokter kk eria
@ -651,7 +652,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
* hari per dokter per pasien kk eria * hari per dokter per pasien kk eria
*/ */
List<Map<String, Object>> rawDataBpjs3 = new ArrayList<>(); 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 * Dapatkan semua pendaftaran BPJS untuk visite dokter-dokter kk
* eria * eria
@ -718,7 +719,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
* diambil maksimal 2 kali per hari per pasien per dokter kk eria * diambil maksimal 2 kali per hari per pasien per dokter kk eria
*/ */
List<Map<String, Object>> rawDataBpjs4 = new ArrayList<>(); List<Map<String, Object>> rawDataBpjs4 = new ArrayList<>();
if (drKkPediatrikGDList.contains(idPegawai)) { if (KK_PEDIATRIK_GD.equals(idKKDokter)) {
/* /*
* Dapatkan semua pendaftaran BPJS untuk monitoring hemodinamik * Dapatkan semua pendaftaran BPJS untuk monitoring hemodinamik
* gagal organ dokter-dokter kk eria * 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 * 2 kali per hari per pasien per dokter kk perinatologi
*/ */
List<Map<String, Object>> rawDataBpjs5 = new ArrayList<>(); List<Map<String, Object>> rawDataBpjs5 = new ArrayList<>();
if (drKkPerinatologiList.contains(idPegawai)) { if (KK_PERINATOLOGI.equals(idKKDokter)) {
/* /*
* Dapatkan semua pendaftaran BPJS untuk monitoring intervensi * Dapatkan semua pendaftaran BPJS untuk monitoring intervensi
* dokter-dokter kk perinatologi * dokter-dokter kk perinatologi
@ -989,7 +990,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/* /*
* Urutan alokasi bpjs sebagai urutan prioritas * Urutan alokasi bpjs sebagai urutan prioritas
*/ */
if (drKkPediatrikGDList.contains(idPegawai)) { if (KK_PEDIATRIK_GD.equals(idKKDokter)) {
if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) { if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) {
if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(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()); 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")))) { || CATHLAB.equals(next.get("idRuangan")))) {
listPelayananRemun.add(next); listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); 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())) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
/* /*
@ -1040,7 +1041,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
*/ */
listPelayananRemun.add(next); listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); 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())) && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
/* /*
@ -1054,7 +1055,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
*/ */
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { .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())) .contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTarif2024))) { && tglAwal.before(tmtTarif2024))) {
/* /*
@ -1083,7 +1084,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains( && !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString())))) 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())) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTarif2024)) { && tglAwal.before(tmtTarif2024)) {
/* /*
@ -1095,7 +1096,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains( && !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString())))) Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& drKkPerinatologiList.contains(idPegawai) && KK_PERINATOLOGI.equals(idKKDokter)
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString())) && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTarif2024)) { && tglAwal.before(tmtTarif2024)) {
/* /*
@ -1104,7 +1105,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
*/ */
listPelayananRemun.add(next); listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); 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()))) { if (idsPenunjangBukanAnestesi.contains(Integer.parseInt(next.get("idProduk").toString()))) {
/* /*
* Aturan dokter kk anestesi dengan pembatasan * Aturan dokter kk anestesi dengan pembatasan
@ -1125,7 +1126,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/* /*
* Diluar pembatasan jenis produk * Diluar pembatasan jenis produk
*/ */
if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude if (!KK_UMUM.equals(idKKDokter) || (!idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString())) .contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTarif2024))) { && tglAwal.before(tmtTarif2024))) {
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
@ -1154,7 +1155,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
* Alokasi bagian remunerasi berdasarkan target rupiah * Alokasi bagian remunerasi berdasarkan target rupiah
* sesuai tanggal mulai berlaku * sesuai tanggal mulai berlaku
*/ */
if (drKkPediatrikGDList.contains(idPegawai)) { if (KK_PEDIATRIK_GD.equals(idKKDokter)) {
if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) { if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) {
if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(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()); 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")))) { || CATHLAB.equals(next.get("idRuangan")))) {
listPelayananRemun.add(next); listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); 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())) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
/* /*
@ -1205,7 +1206,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
*/ */
listPelayananRemun.add(next); listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); 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())) && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
/* /*
@ -1219,7 +1220,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
*/ */
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { .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())) .contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTarif2024))) { && tglAwal.before(tmtTarif2024))) {
/* /*
@ -1248,7 +1249,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains( && !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString())))) 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())) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTarif2024)) { && tglAwal.before(tmtTarif2024)) {
/* /*
@ -1260,7 +1261,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains( && !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString())))) Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& drKkPerinatologiList.contains(idPegawai) && KK_PERINATOLOGI.equals(idKKDokter)
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString())) && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTarif2024)) { && tglAwal.before(tmtTarif2024)) {
/* /*
@ -1269,7 +1270,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
*/ */
listPelayananRemun.add(next); listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); 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()))) { if (idsPenunjangBukanAnestesi.contains(Integer.parseInt(next.get("idProduk").toString()))) {
/* /*
* Aturan dokter kk anestesi dengan pembatasan * Aturan dokter kk anestesi dengan pembatasan
@ -1290,7 +1291,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/* /*
* Diluar pembatasan jenis produk * Diluar pembatasan jenis produk
*/ */
if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude if (!KK_UMUM.equals(idKKDokter) || (!idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString())) .contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTarif2024))) { && tglAwal.before(tmtTarif2024))) {
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
@ -1318,7 +1319,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/* /*
* Alokasi untuk bagian ffs * Alokasi untuk bagian ffs
*/ */
if (drKkPediatrikGDList.contains(idPegawai)) { if (KK_PEDIATRIK_GD.equals(idKKDokter)) {
if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) { if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) {
if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(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")))) { || CATHLAB.equals(next.get("idRuangan")))) {
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
listPelayananFfs.add(next); listPelayananFfs.add(next);
} else { } else {
listPelayananNonJknLuarJamKerja.add(next); listPelayananNonJknLuarJamKerja.add(next);
} }
} else if (drKsmUmumList.contains(idPegawai) } else if (KK_UMUM.equals(idKKDokter)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString())) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
/* /*
@ -1384,7 +1385,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
} else { } else {
listPelayananNonJknLuarJamKerja.add(next); listPelayananNonJknLuarJamKerja.add(next);
} }
} else if (drKkPerinatologiList.contains(idPegawai) } else if (KK_PERINATOLOGI.equals(idKKDokter)
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString())) && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) { && (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
/* /*
@ -1401,7 +1402,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
*/ */
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { .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())) .contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTarif2024))) { && tglAwal.before(tmtTarif2024))) {
/* /*
@ -1436,7 +1437,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains( && !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString())))) 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())) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTarif2024)) { && tglAwal.before(tmtTarif2024)) {
/* /*
@ -1451,7 +1452,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains( && !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString())))) Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& drKkPerinatologiList.contains(idPegawai) && KK_PERINATOLOGI.equals(idKKDokter)
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString())) && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTarif2024)) { && tglAwal.before(tmtTarif2024)) {
/* /*
@ -1463,7 +1464,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
} else { } else {
listPelayananNonJknLuarJamKerja.add(next); listPelayananNonJknLuarJamKerja.add(next);
} }
} else if (drAnastesiList.contains(idPegawai)) { } else if (KK_ANESTESI.equals(idKKDokter)) {
if (idsPenunjangBukanAnestesi.contains(Integer.parseInt(next.get("idProduk").toString()))) { if (idsPenunjangBukanAnestesi.contains(Integer.parseInt(next.get("idProduk").toString()))) {
/* /*
* Aturan dokter kk anestesi dengan pembatasan * Aturan dokter kk anestesi dengan pembatasan
@ -1490,7 +1491,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/* /*
* Diluar pembatasan jenis produk * Diluar pembatasan jenis produk
*/ */
if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude if (!KK_UMUM.equals(idKKDokter) || (!idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString())) .contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTarif2024))) { && tglAwal.before(tmtTarif2024))) {
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))