diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java index c2af06f4..1a21fa16 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java @@ -506,18 +506,21 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { d.put("hargaJasa", persenRemunDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString())); } else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) .contains(Integer.parseInt(d.get("idKelompokPasien").toString())) && Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { double persenJasa = persenOperatorIBS / 100; d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString())); } else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) .contains(Integer.parseInt(d.get("idKelompokPasien").toString())) && Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { double persenJasa = persenAsistenIBS / 100; d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString())); } else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) .contains(Integer.parseInt(d.get("idKelompokPasien").toString())) && Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { @@ -544,7 +547,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel d.put("hargaJasa", persenRemunDokterPA / 100 * Double.parseDouble(d.get("hargaJual").toString())); } else if (Master.Departemen.LABORATORIUM.equals(d.get("idDepartemen"))) { d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Arrays.asList(Master.Ruangan.ICU_NICU) + } else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && Arrays.asList(Master.Ruangan.ICU_NICU) .contains(Integer.parseInt(d.get("idRuangan").toString()))) { double persenJasa = persenTindakan / 100; d.put("hargaJasa", persenJasa * persenTarifICU * Double.parseDouble(d.get("hargaJual").toString())); @@ -557,8 +560,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ List> rawDataBpjs0 = new ArrayList<>(); for (Map d : listData) - if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) - .contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) + if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) + && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) + .contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) rawDataBpjs0.add(d); /* * Filter tindakan operasi untuk pasien BPJS hanya diambil tarif @@ -656,7 +660,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ List> listEpisode = new ArrayList<>(); for (Map d : rawDataBpjs2) { - if (Arrays.asList(Master.Ruangan.ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())) + if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) + && Arrays.asList(Master.Ruangan.ICU_NICU) + .contains(Integer.parseInt(d.get("idRuangan").toString())) && Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) { boolean existEpisode = false; for (Map e : listEpisode) @@ -681,7 +687,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel for (Map d : rawDataBpjs2) { int count = 1; for (Map e : listEpisode) - if (Arrays.asList(Master.Ruangan.ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())) + if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) + && Arrays.asList(Master.Ruangan.ICU_NICU) + .contains(Integer.parseInt(d.get("idRuangan").toString())) && Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) { if (d.get("idPasienDaftar").toString().equals(e.get("id")) && Integer.valueOf(d.get("idProduk").toString()).equals(e.get("idProduk")) @@ -696,7 +704,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } else { break; } - if (!Arrays.asList(Master.Ruangan.ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())) + if ((CommonUtil.isNullOrEmpty(d.get("idRuangan")) + || (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && !Arrays.asList(Master.Ruangan.ICU_NICU) + .contains(Integer.parseInt(d.get("idRuangan").toString())))) || !Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk")) && count == 1) rawDataBpjs3.add(d); } @@ -715,7 +725,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ List> listEpisode = new ArrayList<>(); for (Map d : rawDataBpjs3) { - if (Arrays.asList(Master.Ruangan.ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())) + if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) + && Arrays.asList(Master.Ruangan.ICU_NICU) + .contains(Integer.parseInt(d.get("idRuangan").toString())) && idsMonitoringHemodinamikGagalOrgan .contains(Integer.parseInt(d.get("idProduk").toString()))) { boolean existEpisode = false; @@ -741,7 +753,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel for (Map d : rawDataBpjs3) { int count = 1; for (Map e : listEpisode) - if (Arrays.asList(Master.Ruangan.ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())) + if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) + && Arrays.asList(Master.Ruangan.ICU_NICU) + .contains(Integer.parseInt(d.get("idRuangan").toString())) && idsMonitoringHemodinamikGagalOrgan .contains(Integer.parseInt(d.get("idProduk").toString()))) { if (d.get("idPasienDaftar").toString().equals(e.get("id")) @@ -757,7 +771,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } else { break; } - if (!Arrays.asList(Master.Ruangan.ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())) + if ((CommonUtil.isNullOrEmpty(d.get("idRuangan")) + || (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && !Arrays.asList(Master.Ruangan.ICU_NICU) + .contains(Integer.parseInt(d.get("idRuangan").toString())))) || !idsMonitoringHemodinamikGagalOrgan.contains(Integer.parseInt(d.get("idProduk").toString())) && count == 1) rawDataBpjs4.add(d); @@ -833,8 +849,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ List> listEpisode = new ArrayList<>(); for (Map d : listData) { - if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) - .contains(Integer.parseInt(d.get("idKelompokPasien").toString())) + if ((CommonUtil.isNullOrEmpty(d.get("idKelompokPasien")) + || (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) + && !Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) + .contains(Integer.parseInt(d.get("idKelompokPasien").toString())))) && Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) { boolean existEpisode = false; for (Map e : listEpisode) @@ -856,8 +874,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ for (Map d : listData) { for (Map e : listEpisode) { - if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) - .contains(Integer.parseInt(d.get("idKelompokPasien").toString())) + if ((CommonUtil.isNullOrEmpty(d.get("idKelompokPasien")) + || (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) + && !Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) + .contains(Integer.parseInt(d.get("idKelompokPasien").toString())))) && Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) && d.get("idPasienDaftar").toString().equals(e.get("id")) && Integer.valueOf(d.get("idProduk").toString()).equals(e.get("idProduk"))) { @@ -1017,8 +1037,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel LocalDateTime tglJamPelayanan = ((Date) d.get("tglPelayanan")).toInstant() .atZone(ZoneId.systemDefault()).toLocalDateTime(); for (Map j : listJadwalKerja) { - if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) - .contains(Integer.parseInt(d.get("idKelompokPasien").toString())) + if ((CommonUtil.isNullOrEmpty(d.get("idKelompokPasien")) + || (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) + && !Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) + .contains(Integer.parseInt(d.get("idKelompokPasien").toString())))) && CommonUtil.isNotNullOrEmpty(j.get("jamMasuk"))) { LocalDate tglMasuk = ((Date) j.get("tanggal")).toInstant().atZone(ZoneId.systemDefault()) .toLocalDate(); @@ -1050,8 +1072,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel for (Map j : listJadwalKerja) { LocalDate tglMasuk = ((Date) j.get("tanggal")).toInstant().atZone(ZoneId.systemDefault()) .toLocalDate(); - if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) - .contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) + if (CommonUtil.isNullOrEmpty(d.get("idKelompokPasien")) + || (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) + && !Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) + .contains(Integer.parseInt(d.get("idKelompokPasien").toString())))) if (CommonUtil.isNullOrEmpty(j.get("jamMasuk"))) { if (tglPelayanan.isEqual(tglMasuk)) { listDataLuarJamKerja.add(d); @@ -1095,21 +1119,25 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel * Dokter luar hanya mendapatkan ffs */ for (Map next = queuePelayanan.poll(); next != null; next = queuePelayanan.poll()) - if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) - .contains(Integer.parseInt(next.get("idKelompokPasien").toString())) + if (CommonUtil.isNotNullOrEmpty(next.get("idKelompokPasien")) + && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) + .contains(Integer.parseInt(next.get("idKelompokPasien").toString())) && idsDokterBPJSffs.contains(idPegawai)) { /* * dokter-dokter tertentu yang hanya dapat pasien bpjs */ listPelayananFfs.add(next); - } else if (!Arrays.asList(Master.JenisProduk.NONLOGBOOK) - .contains(Integer.parseInt(next.get("idJenisProduk").toString()))) { + } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !Arrays.asList(Master.JenisProduk.NONLOGBOOK) + .contains(Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananFfs.add(next); } } else { for (Map next = queuePelayanan.poll(); next != null; next = queuePelayanan.poll()) - if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) - .contains(Integer.parseInt(next.get("idKelompokPasien").toString()))) { + if (CommonUtil.isNotNullOrEmpty(next.get("idKelompokPasien")) + && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) + .contains(Integer.parseInt(next.get("idKelompokPasien").toString()))) { /* * Urutan alokasi bpjs sebagai urutan prioritas */ @@ -1123,11 +1151,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); - } else if ((Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA) - .contains(Integer.parseInt(next.get("idDepartemen").toString())) + } else if (((CommonUtil.isNotNullOrEmpty(next.get("idDepartemen")) + && Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA) + .contains(Integer.parseInt(next.get("idDepartemen").toString()))) || Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk"))) - && !Arrays.asList(Master.JenisProduk.NONLOGBOOK) - .contains(Integer.parseInt(next.get("idJenisProduk").toString()))) { + && (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + Integer.parseInt(next.get("idJenisProduk").toString()))))) { /* * Dibatasi hanya di rawat jalan atau visite saja */ @@ -1138,28 +1169,32 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel /* * Selain dokter-dokter kk pediatrik gawat darurat */ - if (listDetailJenisProduk + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { /* * Dibatasi oleh daftar jenis tindakan tertentu */ - if (idsRegDJPPenunjangPA + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) || idsRegDJPPenunjangPK - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { + .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 (!Arrays.asList(Master.JenisProduk.NONLOGBOOK) - .contains(Integer.parseInt(next.get("idJenisProduk").toString()))) { + } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } - } else if (!listDetailJenisProduk - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) + } else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && !listDetailJenisProduk.contains( + Integer.parseInt(next.get("idDetailJenisProduk").toString())))) && Master.Departemen.IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) { @@ -1168,8 +1203,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); - } else if (!listDetailJenisProduk - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) + } else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && !listDetailJenisProduk.contains( + Integer.parseInt(next.get("idDetailJenisProduk").toString())))) && drKkPerinatologiList.contains(idPegawai) && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))) { /* @@ -1193,23 +1230,26 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } } else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException) + && CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProdukException .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { /* * Diluar pembatasan jenis produk */ - if (idsRegDJPPenunjangPA + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) || idsRegDJPPenunjangPK - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { + .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 (!Arrays.asList(Master.JenisProduk.NONLOGBOOK) - .contains(Integer.parseInt(next.get("idJenisProduk").toString()))) { + } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } @@ -1230,11 +1270,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); - } else if ((Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA) - .contains(Integer.parseInt(next.get("idDepartemen").toString())) - || Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk"))) - && !Arrays.asList(Master.JenisProduk.NONLOGBOOK) - .contains(Integer.parseInt(next.get("idJenisProduk").toString()))) { + } else if ((CommonUtil.isNotNullOrEmpty(next.get("idDepartemen")) + && Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA) + .contains(Integer.parseInt(next.get("idDepartemen").toString()))) + || Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk")) && (CommonUtil + .isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + Integer.parseInt(next.get("idJenisProduk").toString()))))) { /* * Dibatasi hanya di rawat jalan atau visite saja */ @@ -1245,28 +1288,32 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel /* * Selain dokter-dokter kk pediatrik gawat darurat */ - if (listDetailJenisProduk + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { /* * Dibatasi oleh daftar jenis tindakan tertentu */ - if (idsRegDJPPenunjangPA + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) || idsRegDJPPenunjangPK - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { + .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 (!Arrays.asList(Master.JenisProduk.NONLOGBOOK) - .contains(Integer.parseInt(next.get("idJenisProduk").toString()))) { + } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } - } else if (!listDetailJenisProduk - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) + } else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && !listDetailJenisProduk.contains( + Integer.parseInt(next.get("idDetailJenisProduk").toString())))) && Master.Departemen.IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) { @@ -1275,8 +1322,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); - } else if (!listDetailJenisProduk - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) + } else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && !listDetailJenisProduk.contains( + Integer.parseInt(next.get("idDetailJenisProduk").toString())))) && drKkPerinatologiList.contains(idPegawai) && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))) { /* @@ -1300,23 +1349,26 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } } else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException) + && CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProdukException .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { /* * Diluar pembatasan jenis produk */ - if (idsRegDJPPenunjangPA + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) || idsRegDJPPenunjangPK - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { + .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 (!Arrays.asList(Master.JenisProduk.NONLOGBOOK) - .contains(Integer.parseInt(next.get("idJenisProduk").toString()))) { + } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } @@ -1335,11 +1387,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel * Dibatasi oleh daftar tindakan tertentu */ listPelayananFfs.add(next); - } else if ((Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA) - .contains(Integer.parseInt(next.get("idDepartemen").toString())) - || Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk"))) - && !Arrays.asList(Master.JenisProduk.NONLOGBOOK) - .contains(Integer.parseInt(next.get("idJenisProduk").toString()))) { + } else if ((CommonUtil.isNotNullOrEmpty(next.get("idDepartemen")) + && Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA) + .contains(Integer.parseInt(next.get("idDepartemen").toString()))) + || Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk")) && (CommonUtil + .isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + Integer.parseInt(next.get("idJenisProduk").toString()))))) { /* * Dibatasi hanya di rawat jalan atau visite saja */ @@ -1349,26 +1404,30 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel /* * Selain dokter-dokter kk pediatrik gawat darurat */ - if (listDetailJenisProduk + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { /* * Dibatasi oleh daftar jenis tindakan tertentu */ - if (idsRegDJPPenunjangPA + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) || idsRegDJPPenunjangPK - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { + .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())))) { /* * Pengecualian daftar tindakan penunjang yang * bebas klaim */ listPelayananFfs.add(next); - } else if (!Arrays.asList(Master.JenisProduk.NONLOGBOOK) - .contains(Integer.parseInt(next.get("idJenisProduk").toString()))) { + } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananFfs.add(next); } - } else if (!listDetailJenisProduk - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) + } else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && !listDetailJenisProduk.contains( + Integer.parseInt(next.get("idDetailJenisProduk").toString())))) && Master.Departemen.IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) { @@ -1376,8 +1435,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel * Aturan dokter ksm umum di igd */ listPelayananFfs.add(next); - } else if (!listDetailJenisProduk - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) + } else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && !listDetailJenisProduk.contains( + Integer.parseInt(next.get("idDetailJenisProduk").toString())))) && drKkPerinatologiList.contains(idPegawai) && idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))) { /* @@ -1400,22 +1461,25 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } } else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException) + && CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProdukException .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { /* * Diluar pembatasan jenis produk */ - if (idsRegDJPPenunjangPA + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) || idsRegDJPPenunjangPK - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { + .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())))) { /* * Pengecualian daftar tindakan penunjang yang * bebas klaim */ listPelayananFfs.add(next); - } else if (!Arrays.asList(Master.JenisProduk.NONLOGBOOK) - .contains(Integer.parseInt(next.get("idJenisProduk").toString()))) { + } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananFfs.add(next); } } @@ -1507,6 +1571,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel d.put("hargaJasa", persenRemunDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString())); } else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) .contains(Integer.parseInt(d.get("idKelompokPasien").toString())) && Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { @@ -1515,6 +1580,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString())); } else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) .contains(Integer.parseInt(d.get("idKelompokPasien").toString())) && Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { @@ -1523,6 +1589,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString())); } else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) .contains(Integer.parseInt(d.get("idKelompokPasien").toString())) && Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { @@ -1569,7 +1636,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel d.put("persenJasa", persenLaboratorium + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Arrays.asList(Master.Ruangan.ICU_NICU) + } else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && Arrays.asList(Master.Ruangan.ICU_NICU) .contains(Integer.parseInt(d.get("idRuangan").toString()))) { double persenJasa = persenTindakan / 100; d.put("persenJasa", persenTarifJasaICU + "% + " + persenTindakan + "%"); @@ -1725,8 +1792,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel * Mapping persentase jasa remunerasi */ for (Map d : listData) { - if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) - .contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) { + if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) + && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) + .contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) { /* * Set persen jasa dokter luar yang klaim ffs dengan persen jasa * dari tarif total @@ -1794,8 +1862,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ List> listEpisode = new ArrayList<>(); for (Map d : listData) { - if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) - .contains(Integer.parseInt(d.get("idKelompokPasien").toString())) + if ((CommonUtil.isNullOrEmpty(d.get("idKelompokPasien")) + || (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) + && !Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) + .contains(Integer.parseInt(d.get("idKelompokPasien").toString())))) && Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) { boolean existEpisode = false; for (Map e : listEpisode) @@ -1817,8 +1887,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ for (Map d : listData) { for (Map e : listEpisode) { - if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) - .contains(Integer.parseInt(d.get("idKelompokPasien").toString())) + if ((CommonUtil.isNullOrEmpty(d.get("idKelompokPasien")) + || (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) + && !Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) + .contains(Integer.parseInt(d.get("idKelompokPasien").toString())))) && Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) && d.get("idPasienDaftar").toString().equals(e.get("id")) && Integer.valueOf(d.get("idProduk").toString()).equals(e.get("idProduk"))) {