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 33bf0077..657a2937 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 @@ -336,6 +336,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera List idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAkhir); List idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAkhir); List idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAkhir); + List idsDokterUmumExclude = splitDataSettingDatafixed("pr_dokter_umum_exclude"); List idsDokterPerinatologi = getNilaiDataFixByTMT("pr_dokter_perinatologi", tglAkhir); List idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAkhir); List idsDokterBPJSffs = splitDataSettingDatafixed("dokterBPJSffs"); @@ -1031,34 +1032,40 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Selain dokter-dokter kk pediatrik gawat darurat */ - if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) - && listDetailJenisProduk - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) - && !drKsmUmumList.contains(idPegawai)) { - /* - * Dibatasi oleh daftar jenis tindakan tertentu - */ - if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) - || idsRegDJPPenunjangPK - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())))) { + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk + .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { + if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude + .contains(Integer.parseInt(next.get("idProduk").toString()))) { /* - * Pengecualian daftar tindakan penunjang yang - * bebas klaim + * Dibatasi oleh daftar jenis tindakan tertentu */ - listPelayananRemun.add(next); - capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); - } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) - || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !idsJenisProdukNonLogbook.contains( - Integer.parseInt(next.get("idJenisProduk").toString())))) { - listPelayananRemun.add(next); - capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && (idsRegDJPPenunjangPA + .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) + || idsRegDJPPenunjangPK.contains(Integer + .parseInt(next.get("idDetailJenisProduk").toString())))) { + /* + * Pengecualian daftar tindakan penunjang + * yang bebas klaim + */ + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !idsJenisProdukNonLogbook.contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } } - } else if (drKsmUmumList.contains(idPegawai) + } else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && !listDetailJenisProduk.contains( + Integer.parseInt(next.get("idDetailJenisProduk").toString())))) + && IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) { /* - * Aturan dokter ksm umum + * Aturan dokter ksm umum di igd */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); @@ -1095,7 +1102,8 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Diluar pembatasan jenis produk */ - if (!drKsmUmumList.contains(idPegawai)) { + if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude + .contains(Integer.parseInt(next.get("idProduk").toString()))) { if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) @@ -1169,31 +1177,37 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Selain dokter-dokter kk pediatrik gawat darurat */ - if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) - && listDetailJenisProduk - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) - && !drKsmUmumList.contains(idPegawai)) { - /* - * Dibatasi oleh daftar jenis tindakan tertentu - */ - if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) - || idsRegDJPPenunjangPK - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())))) { + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk + .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { + if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude + .contains(Integer.parseInt(next.get("idProduk").toString()))) { /* - * Pengecualian daftar tindakan penunjang yang - * bebas klaim + * Dibatasi oleh daftar jenis tindakan tertentu */ - listPelayananRemun.add(next); - capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); - } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) - || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !idsJenisProdukNonLogbook.contains( - Integer.parseInt(next.get("idJenisProduk").toString())))) { - listPelayananRemun.add(next); - capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && (idsRegDJPPenunjangPA + .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) + || idsRegDJPPenunjangPK.contains(Integer + .parseInt(next.get("idDetailJenisProduk").toString())))) { + /* + * Pengecualian daftar tindakan penunjang + * yang bebas klaim + */ + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !idsJenisProdukNonLogbook.contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } } - } else if (drKsmUmumList.contains(idPegawai) + } else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && !listDetailJenisProduk.contains( + Integer.parseInt(next.get("idDetailJenisProduk").toString())))) + && IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) { /* * Aturan dokter ksm umum di igd @@ -1233,7 +1247,8 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Diluar pembatasan jenis produk */ - if (!drKsmUmumList.contains(idPegawai)) { + if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude + .contains(Integer.parseInt(next.get("idProduk").toString()))) { if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) @@ -1318,37 +1333,43 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Selain dokter-dokter kk pediatrik gawat darurat */ - if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) - && listDetailJenisProduk - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) - && !drKsmUmumList.contains(idPegawai)) { - /* - * Dibatasi oleh daftar jenis tindakan tertentu - */ - if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) - || idsRegDJPPenunjangPK - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())))) { + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk + .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { + if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude + .contains(Integer.parseInt(next.get("idProduk").toString()))) { /* - * Pengecualian daftar tindakan penunjang yang - * bebas klaim + * Dibatasi oleh daftar jenis tindakan tertentu */ - if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { - listPelayananFfs.add(next); - } else { - listPelayananNonJknLuarJamKerja.add(next); - } - } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) - || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !idsJenisProdukNonLogbook.contains( - Integer.parseInt(next.get("idJenisProduk").toString())))) { - if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { - listPelayananFfs.add(next); - } else { - listPelayananNonJknLuarJamKerja.add(next); + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && (idsRegDJPPenunjangPA + .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) + || idsRegDJPPenunjangPK.contains(Integer + .parseInt(next.get("idDetailJenisProduk").toString())))) { + /* + * Pengecualian daftar tindakan penunjang + * yang bebas klaim + */ + if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { + listPelayananFfs.add(next); + } else { + listPelayananNonJknLuarJamKerja.add(next); + } + } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !idsJenisProdukNonLogbook.contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { + if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { + listPelayananFfs.add(next); + } else { + listPelayananNonJknLuarJamKerja.add(next); + } } } - } else if (drKsmUmumList.contains(idPegawai) + } else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && !listDetailJenisProduk.contains( + Integer.parseInt(next.get("idDetailJenisProduk").toString())))) + && IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) { /* * Aturan dokter ksm umum di igd @@ -1400,7 +1421,8 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Diluar pembatasan jenis produk */ - if (!drKsmUmumList.contains(idPegawai)) { + if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude + .contains(Integer.parseInt(next.get("idProduk").toString()))) { if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))