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 6ca057c1..936c6283 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 @@ -1,6 +1,5 @@ package com.jasamedika.medifirst2000.service.impl; -import com.jasamedika.medifirst2000.constants.Master; import com.jasamedika.medifirst2000.converter.BaseConverterImpl; import com.jasamedika.medifirst2000.dao.*; import com.jasamedika.medifirst2000.dto.TagihanPendaftaranDto; @@ -23,6 +22,23 @@ import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; +import static com.jasamedika.medifirst2000.constants.Master.Departemen.*; +import static com.jasamedika.medifirst2000.constants.Master.Departemen.RADIOLOGI; +import static com.jasamedika.medifirst2000.constants.Master.FeeForService.HK_02_04_III_558_2015_4_B_1; +import static com.jasamedika.medifirst2000.constants.Master.FeeForService.HK_02_04_III_558_2015_5_B_C_D; +import static com.jasamedika.medifirst2000.constants.Master.GolonganProduk.KONSULTASI; +import static com.jasamedika.medifirst2000.constants.Master.GolonganProduk.VISIT; +import static com.jasamedika.medifirst2000.constants.Master.JenisPegawai.DOKTER; +import static com.jasamedika.medifirst2000.constants.Master.JenisPetugasPelaksana.*; +import static com.jasamedika.medifirst2000.constants.Master.JenisProduk.NONLOGBOOK; +import static com.jasamedika.medifirst2000.constants.Master.JenisProduk.OBAT_ALKES; +import static com.jasamedika.medifirst2000.constants.Master.KONSUL_VISIT; +import static com.jasamedika.medifirst2000.constants.Master.KategoryPegawai.DOKTER_LUAR; +import static com.jasamedika.medifirst2000.constants.Master.KelompokPasien.KELOMPOK_BPJS; +import static com.jasamedika.medifirst2000.constants.Master.Ruangan.*; +import static com.jasamedika.medifirst2000.constants.Master.SubUnitKerja.*; +import static com.jasamedika.medifirst2000.constants.Master.TipePegawai.PURNA_WAKTU; + /** * Implement class for PelayananPasienService * @@ -149,38 +165,36 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List idsKonsultasiDokterJaga = splitDataSettingDatafixed("pr_konsultasi_dokter_jaga"); - if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(idKelPasien)) { - if (idDepartemen.equals(Master.Departemen.IGD)) { + if (Arrays.asList(KELOMPOK_BPJS).contains(idKelPasien)) { + if (idDepartemen.equals(IGD)) { if (idsKonsultasiDokterJaga.contains(idLayanan)) { result = 30000.0; } else { - result = (hargaJual - hargaDiskon) * jumlahLayanan - * Master.FeeForService.HK_02_04_III_558_2015_5_B_C_D; + result = (hargaJual - hargaDiskon) * jumlahLayanan * HK_02_04_III_558_2015_5_B_C_D; } - } else if (idDepartemen.equals(Master.Departemen.RAWAT_INAP)) { - if (tipePegawai.equals(Master.TipePegawai.PURNA_WAKTU)) { - result = (hargaJual - hargaDiskon) * jumlahLayanan - * Master.FeeForService.HK_02_04_III_558_2015_5_B_C_D; + } else if (idDepartemen.equals(RAWAT_INAP)) { + if (tipePegawai.equals(PURNA_WAKTU)) { + result = (hargaJual - hargaDiskon) * jumlahLayanan * HK_02_04_III_558_2015_5_B_C_D; } else { result = 0.0; } } else { - result = (hargaJual - hargaDiskon) * jumlahLayanan * Master.FeeForService.HK_02_04_III_558_2015_5_B_C_D; + result = (hargaJual - hargaDiskon) * jumlahLayanan * HK_02_04_III_558_2015_5_B_C_D; } } else { - if (idDepartemen.equals(Master.Departemen.IGD)) { + if (idDepartemen.equals(IGD)) { if (idsKonsultasiDokterJaga.contains(idLayanan)) { result = 30000.0; } else { result = (hargaJual - hargaDiskon) * jumlahLayanan; } - } else if (idDepartemen.equals(Master.Departemen.RAWAT_INAP)) { - if (Arrays.stream(Master.KONSUL_VISIT).anyMatch(namaLayanan.toLowerCase()::contains)) { - if (tipePegawai.equals(Master.TipePegawai.PURNA_WAKTU)) { - if ((hargaJual - hargaDiskon) < Master.FeeForService.HK_02_04_III_558_2015_4_B_1) { + } else if (idDepartemen.equals(RAWAT_INAP)) { + if (Arrays.stream(KONSUL_VISIT).anyMatch(namaLayanan.toLowerCase()::contains)) { + if (tipePegawai.equals(PURNA_WAKTU)) { + if ((hargaJual - hargaDiskon) < HK_02_04_III_558_2015_4_B_1) { result = (hargaJual - hargaDiskon) * jumlahLayanan; } else { - result = Master.FeeForService.HK_02_04_III_558_2015_4_B_1 * jumlahLayanan; + result = HK_02_04_III_558_2015_4_B_1 * jumlahLayanan; } } else { result = (hargaJual - hargaDiskon) * jumlahLayanan; @@ -220,8 +234,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel System.out.println(e.getMessage()); } - List> data = pelayananPasienDao.getDataPendapatan(Master.JenisPegawai.DOKTER, dateAwal, - dateAkhir); + List> data = pelayananPasienDao.getDataPendapatan(DOKTER, dateAwal, dateAkhir); for (Map map : data) { if (!listIdPegawai.contains(Integer.parseInt(map.get("idPegawai").toString())) @@ -244,7 +257,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel Double hargaDiskon = Double.parseDouble(map.get("hargaDiskon").toString()); Double jumlahLayanan = Double.parseDouble(map.get("jumlahLayanan").toString()); - if (!map.get("idJenisProduk").equals(Master.JenisProduk.OBAT_ALKES)) { + if (!map.get("idJenisProduk").equals(OBAT_ALKES)) { remun += calculateRemunWithFfs(idKelPasien, idDepartemen, idLayanan, namaLayanan, tipePegawai, hargaJual, hargaDiskon, jumlahLayanan); } @@ -267,9 +280,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List result = new ArrayList<>(); List labRadiologi = new ArrayList<>(); - labRadiologi.add(Master.Ruangan.LABORATORIUM_PATOLOGI_ANATOMI); - labRadiologi.add(Master.Ruangan.LABORATORIUM_PATOLOGI_KLINIK); - labRadiologi.add(Master.Ruangan.RADIOLOGI); + labRadiologi.add(LABORATORIUM_PATOLOGI_ANATOMI); + labRadiologi.add(LABORATORIUM_PATOLOGI_KLINIK); + labRadiologi.add(RADIOLOGI); List listProdukKlinik = splitDataSettingDatafixed("listProdukDiskonPegawai"); List listProdukTht = splitDataSettingDatafixed("listProdukDiskonThtPegawai"); @@ -280,9 +293,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List listProdukMpp = splitDataSettingDatafixed("listProdukDiskonPasien"); List> data = pelayananPasienDao.findLayananTagihan(noRegistrasi, jenisDiskon, - Master.Ruangan.KLINIK_KARYAWAN, listProdukKlinik, Master.Ruangan.POLI_THT, listProdukTht, - Master.Ruangan.POLI_MATA, listProdukMata, Master.Ruangan.KLINIK_GIGI_KARYAWAN, listProdukGigi, - labRadiologi, listProdukLabRadiologi, listProdukFarmasi, listProdukMpp); + KLINIK_KARYAWAN, listProdukKlinik, POLI_THT, listProdukTht, POLI_MATA, listProdukMata, + KLINIK_GIGI_KARYAWAN, listProdukGigi, labRadiologi, listProdukLabRadiologi, listProdukFarmasi, + listProdukMpp); List models = new ArrayList<>(); for (Map map : data) { @@ -428,7 +441,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ double persenOperatorIBS = Double.parseDouble(GetSettingDataFixed("persenRemunOperatorIBS")); double persenAsistenIBS = Double.parseDouble(GetSettingDataFixed("persenRemunAsistenIBS")); - double persenAnestesiIBS = Double.parseDouble(GetSettingDataFixed("persenRemunAnestesiIBS")); + double persenAnestesi = Double.parseDouble(GetSettingDataFixed("persenRemunAnestesiIBS")); double persenRadiologi = Double.parseDouble(GetSettingDataFixed("persenRemunRadiologi")); double persenLaboratorium = Double.parseDouble(GetSettingDataFixed("persenRemunLaboratorium")); double persenRehabMedik = Double.parseDouble(GetSettingDataFixed("persenRemunRehabMedik")); @@ -445,13 +458,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ List listDetailJenisProduk; List listDetailJenisProdukException = new ArrayList<>(); - List drKkPediatrikGDList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PEDIATRIK_GD); - List drAnastesiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_ANESTESI); - List drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM); - List drKkPerinatologiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PERINATOLOGI); - List drKkPatologiAnatomiList = pegawaiDao - .getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI); - List drKkGenetika = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_GENETIKA); + 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 laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog(); List idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk"); List idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama"); @@ -467,11 +479,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List idsMonitoringHemodinamikGagalOrgan = splitDataSettingDatafixed( "idMonitoringHemodinamikGagalOrgan"); List idProdukLabGenetikaLuarRuangan = splitDataSettingDatafixed("idProdukLabGenetikaLuarRuangan"); - if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) { + if (pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_ANATOMI).contains(idPegawai)) { listDetailJenisProduk = idsRegDJPPenunjangPA; - } else if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_KLINIK).contains(idPegawai)) { + } else if (pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_KLINIK).contains(idPegawai)) { listDetailJenisProduk = idsRegDJPPenunjangPK; - } else if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_RADIOLOGI).contains(idPegawai)) { + } else if (pegawaiDao.getDokterByKelompokKerja(KK_RADIOLOGI).contains(idPegawai)) { listDetailJenisProduk = idsRegDJPPenunjangRad; } else { listDetailJenisProduk = idsRegDJPMedisUtama; @@ -500,64 +512,64 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel * Untuk diskon jasa medis oleh dpjp */ d.put("hargaJasa", 0.0); - } else if (Master.Ruangan.KLINIK_KARYAWAN.equals(d.get("idRuangan")) - || Master.Ruangan.KLINIK_GIGI_KARYAWAN.equals(d.get("idRuangan"))) { + } else if (KLINIK_KARYAWAN.equals(d.get("idRuangan")) || KLINIK_GIGI_KARYAWAN.equals(d.get("idRuangan"))) { /* * Untuk semua klaim di ruangan klinik karyawan */ d.put("hargaJasa", 0.0); - } else if (drKsmUmumList.contains(idPegawai) - && Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { + } else if (drKsmUmumList.contains(idPegawai) && 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")) + } else if (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"))) { + && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())) + && 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")) + } else if (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"))) { + && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())) + && 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")) + } else if (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"))) { - double persenJasa = persenAnestesiIBS / 100; + && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())) + && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { + double persenJasa = persenAnestesi / 100; d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) - && Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { + } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { d.put("hargaJasa", persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) - && Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { + } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { d.put("hargaJasa", persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) - && Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("hargaJasa", persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.RADIOLOGI.equals(d.get("idDepartemen"))) { + } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { + d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (RADIOLOGI.equals(d.get("idDepartemen"))) { d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.REHAB_MEDIK.equals(d.get("idDepartemen"))) { + } else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) { d.put("hargaJasa", persenRehabMedik / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.GolonganProduk.KONSULTASI.equals(d.get("idGolonganProduk"))) { + } else if (KONSULTASI.equals(d.get("idGolonganProduk"))) { d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) { + } else if (VISIT.equals(d.get("idGolonganProduk"))) { d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (drKkGenetika.contains(idPegawai) && idProdukLabGenetikaLuarRuangan.contains(d.get("idProduk")) + } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { + d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { + d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (drKkGenetika.contains(idPegawai) + && idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { d.put("hargaJasa", persenRemunLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Arrays.asList(Master.Ruangan.GENETIKA).contains(d.get("idRuangan"))) { + } else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) { d.put("hargaJasa", persenRemunLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString())); } else if (drKkPatologiAnatomiList.contains(idPegawai)) { d.put("hargaJasa", persenRemunDokterPA / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.LABORATORIUM.equals(d.get("idDepartemen"))) { + } else if (LABORATORIUM.equals(d.get("idDepartemen"))) { d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && Arrays.asList(Master.Ruangan.ICU_NICU) - .contains(Integer.parseInt(d.get("idRuangan").toString()))) { + } else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) + && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) { double persenJasa = persenTindakan / 100; d.put("hargaJasa", persenJasa * persenTarifICU * Double.parseDouble(d.get("hargaJual").toString())); } else { @@ -570,8 +582,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List> rawDataBpjs0 = new ArrayList<>(); for (Map d : listData) if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) - && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) - .contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) + && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) rawDataBpjs0.add(d); /* * Filter tindakan operasi untuk pasien BPJS hanya diambil tarif @@ -580,7 +591,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List> rawDataBpjs1 = new ArrayList<>(); { List> bpjsBedahSentral = rawDataBpjs0.stream() - .filter(d -> Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) + .filter(d -> BEDAH_SENTRAL.equals(d.get("idDepartemen"))) .sorted(Comparator.comparing(o -> Double.parseDouble(o.get("jumlah").toString()), Comparator.reverseOrder())) .sorted(Comparator.comparing(o -> Double.parseDouble(o.get("hargaJual").toString()), @@ -594,10 +605,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel listIdPelayananPasien.add(b.get("idPelayananPasien").toString()); } for (Map d : rawDataBpjs0) - if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) + if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && listIdPelayananPasien.contains(d.get("idPelayananPasien").toString())) { rawDataBpjs1.add(d); - } else if (!Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) { + } else if (!BEDAH_SENTRAL.equals(d.get("idDepartemen"))) { rawDataBpjs1.add(d); } } @@ -613,7 +624,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ List> listEpisode = new ArrayList<>(); for (Map d : rawDataBpjs1) { - if (Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) { + if (VISIT.equals(d.get("idGolonganProduk"))) { boolean existEpisode = false; for (Map e : listEpisode) if (e.get("id").toString().equals(d.get("idPasienDaftar")) @@ -637,7 +648,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel for (Map d : rawDataBpjs1) { int count = 1; for (Map e : listEpisode) - if (Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) { + if (VISIT.equals(d.get("idGolonganProduk"))) { if (d.get("idPasienDaftar").toString().equals(e.get("id")) && Integer.valueOf(d.get("idProduk").toString()).equals(e.get("idProduk")) && d.get("tanggal").toString().equals(e.get("tanggal")) @@ -651,7 +662,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } else { break; } - if (!Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk")) && count == 1) + if (!VISIT.equals(d.get("idGolonganProduk")) && count == 1) rawDataBpjs2.add(d); } } else { @@ -670,9 +681,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List> listEpisode = new ArrayList<>(); for (Map d : rawDataBpjs2) { 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"))) { + && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())) + && VISIT.equals(d.get("idGolonganProduk"))) { boolean existEpisode = false; for (Map e : listEpisode) if (e.get("id").toString().equals(d.get("idPasienDaftar")) @@ -697,9 +707,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel int count = 1; for (Map e : listEpisode) 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"))) { + && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())) + && VISIT.equals(d.get("idGolonganProduk"))) { if (d.get("idPasienDaftar").toString().equals(e.get("id")) && Integer.valueOf(d.get("idProduk").toString()).equals(e.get("idProduk")) && d.get("tanggal").toString().equals(e.get("tanggal")) @@ -713,10 +722,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } else { break; } - 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) + if ((CommonUtil.isNullOrEmpty(d.get("idRuangan")) || (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) + && !Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())))) + || !VISIT.equals(d.get("idGolonganProduk")) && count == 1) rawDataBpjs3.add(d); } } else { @@ -735,8 +743,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List> listEpisode = new ArrayList<>(); for (Map d : rawDataBpjs3) { if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) - && Arrays.asList(Master.Ruangan.ICU_NICU) - .contains(Integer.parseInt(d.get("idRuangan").toString())) + && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())) && idsMonitoringHemodinamikGagalOrgan .contains(Integer.parseInt(d.get("idProduk").toString()))) { boolean existEpisode = false; @@ -763,8 +770,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel int count = 1; for (Map e : listEpisode) if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) - && Arrays.asList(Master.Ruangan.ICU_NICU) - .contains(Integer.parseInt(d.get("idRuangan").toString())) + && Arrays.asList(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")) @@ -780,9 +786,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } else { break; } - if ((CommonUtil.isNullOrEmpty(d.get("idRuangan")) - || (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && !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(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())))) || !idsMonitoringHemodinamikGagalOrgan.contains(Integer.parseInt(d.get("idProduk").toString())) && count == 1) rawDataBpjs4.add(d); @@ -802,8 +807,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ List> listEpisode = new ArrayList<>(); for (Map d : rawDataBpjs4) { - if ((Master.Ruangan.NICU.equals(d.get("idRuangan")) - || Master.Ruangan.NICU_COVID.equals(d.get("idRuangan"))) + if ((NICU.equals(d.get("idRuangan")) || NICU_COVID.equals(d.get("idRuangan"))) && idsMonitoringIntervensi.contains(Integer.parseInt(d.get("idProduk").toString()))) { boolean existEpisode = false; for (Map e : listEpisode) @@ -828,8 +832,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel for (Map d : rawDataBpjs4) { int count = 1; for (Map e : listEpisode) - if ((Master.Ruangan.NICU.equals(d.get("idRuangan")) - || Master.Ruangan.NICU_COVID.equals(d.get("idRuangan"))) + if ((NICU.equals(d.get("idRuangan")) || NICU_COVID.equals(d.get("idRuangan"))) && idsMonitoringIntervensi.contains(Integer.parseInt(d.get("idProduk").toString()))) { if (d.get("idPasienDaftar").toString().equals(e.get("id")) && Integer.valueOf(d.get("idProduk").toString()).equals(e.get("idProduk")) @@ -844,8 +847,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } else { break; } - if (((!Master.Ruangan.NICU.equals(d.get("idRuangan")) - && !Master.Ruangan.NICU_COVID.equals(d.get("idRuangan"))) + if (((!NICU.equals(d.get("idRuangan")) && !NICU_COVID.equals(d.get("idRuangan"))) || !idsMonitoringIntervensi.contains(Integer.parseInt(d.get("idProduk").toString()))) && count == 1) rawDataBpjs5.add(d); @@ -866,9 +868,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel .atZone(ZoneId.systemDefault()).toLocalDateTime(); for (Map j : listJadwalKerja) { 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(d.get("idKelompokPasien")) && !Arrays.asList(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(); @@ -901,9 +902,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel LocalDate tglMasuk = ((Date) j.get("tanggal")).toInstant().atZone(ZoneId.systemDefault()) .toLocalDate(); 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(d.get("idKelompokPasien")) && !Arrays.asList(KELOMPOK_BPJS) + .contains(Integer.parseInt(d.get("idKelompokPasien").toString())))) if (CommonUtil.isNullOrEmpty(j.get("jamMasuk"))) { if (tglPelayanan.isEqual(tglMasuk)) { listDataLuarJamKerja.add(d); @@ -941,14 +941,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List> listPelayananRemun = new ArrayList<>(); List> listPelayananFfs = new ArrayList<>(); double capaianRemun = 0.0; - if (pegawaiDao.getPegawaiByKategoryPegawai(Arrays.asList(Master.KategoryPegawai.DOKTER_LUAR)) - .contains(idPegawai)) { + if (pegawaiDao.getPegawaiByKategoryPegawai(Arrays.asList(DOKTER_LUAR)).contains(idPegawai)) { /* * Dokter luar hanya mendapatkan ffs */ for (Map next = queuePelayanan.poll(); next != null; next = queuePelayanan.poll()) if (CommonUtil.isNotNullOrEmpty(next.get("idKelompokPasien")) - && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) + && Arrays.asList(KELOMPOK_BPJS) .contains(Integer.parseInt(next.get("idKelompokPasien").toString())) && idsDokterBPJSffs.contains(idPegawai)) { /* @@ -956,16 +955,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ listPelayananFfs.add(next); } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) - || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(Master.JenisProduk.NONLOGBOOK) - .contains(Integer.parseInt(next.get("idJenisProduk").toString())))) { + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) && !Arrays.asList(NONLOGBOOK) + .contains(Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananFfs.add(next); } } else { for (Map next = queuePelayanan.poll(); next != null; next = queuePelayanan.poll()) - if (CommonUtil.isNotNullOrEmpty(next.get("idKelompokPasien")) - && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) - .contains(Integer.parseInt(next.get("idKelompokPasien").toString()))) { + if (CommonUtil.isNotNullOrEmpty(next.get("idKelompokPasien")) && Arrays.asList(KELOMPOK_BPJS) + .contains(Integer.parseInt(next.get("idKelompokPasien").toString()))) { /* * Urutan alokasi bpjs sebagai urutan prioritas */ @@ -980,12 +977,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } else if (((CommonUtil.isNotNullOrEmpty(next.get("idDepartemen")) - && Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA) + && Arrays.asList(GRUP_RAWAT_JALAN_UTAMA) .contains(Integer.parseInt(next.get("idDepartemen").toString()))) - || Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk"))) + || VISIT.equals(next.get("idGolonganProduk"))) && (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + && !Arrays.asList(NONLOGBOOK).contains( Integer.parseInt(next.get("idJenisProduk").toString()))))) { /* * Dibatasi hanya di rawat jalan atau visite saja @@ -1014,7 +1011,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + && !Arrays.asList(NONLOGBOOK).contains( Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); @@ -1023,8 +1020,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && !listDetailJenisProduk.contains( Integer.parseInt(next.get("idDetailJenisProduk").toString())))) - && Master.Departemen.IGD.equals(next.get("idDepartemen")) - && drKsmUmumList.contains(idPegawai) + && IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) { /* * Aturan dokter ksm umum di igd @@ -1051,9 +1047,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); - } else if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA - .equals(next.get("idJenisPelaksana")) - && Master.Departemen.RADIOLOGI.equals(next.get("idDepartemen"))) { + } else if (DOKTER_PEMERIKSA.equals(next.get("idJenisPelaksana")) + && RADIOLOGI.equals(next.get("idDepartemen"))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } @@ -1076,7 +1071,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + && !Arrays.asList(NONLOGBOOK).contains( Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); @@ -1099,12 +1094,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } else if ((CommonUtil.isNotNullOrEmpty(next.get("idDepartemen")) - && Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA) + && Arrays.asList(GRUP_RAWAT_JALAN_UTAMA) .contains(Integer.parseInt(next.get("idDepartemen").toString()))) - || Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk")) && (CommonUtil + || VISIT.equals(next.get("idGolonganProduk")) && (CommonUtil .isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + && !Arrays.asList(NONLOGBOOK).contains( Integer.parseInt(next.get("idJenisProduk").toString()))))) { /* * Dibatasi hanya di rawat jalan atau visite saja @@ -1133,7 +1128,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + && !Arrays.asList(NONLOGBOOK).contains( Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); @@ -1142,8 +1137,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && !listDetailJenisProduk.contains( Integer.parseInt(next.get("idDetailJenisProduk").toString())))) - && Master.Departemen.IGD.equals(next.get("idDepartemen")) - && drKsmUmumList.contains(idPegawai) + && IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) { /* * Aturan dokter ksm umum di igd @@ -1170,9 +1164,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); - } else if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA - .equals(next.get("idJenisPelaksana")) - && Master.Departemen.RADIOLOGI.equals(next.get("idDepartemen"))) { + } else if (DOKTER_PEMERIKSA.equals(next.get("idJenisPelaksana")) + && RADIOLOGI.equals(next.get("idDepartemen"))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } @@ -1195,7 +1188,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + && !Arrays.asList(NONLOGBOOK).contains( Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); @@ -1216,12 +1209,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ listPelayananFfs.add(next); } else if ((CommonUtil.isNotNullOrEmpty(next.get("idDepartemen")) - && Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA) + && Arrays.asList(GRUP_RAWAT_JALAN_UTAMA) .contains(Integer.parseInt(next.get("idDepartemen").toString()))) - || Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk")) && (CommonUtil + || VISIT.equals(next.get("idGolonganProduk")) && (CommonUtil .isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + && !Arrays.asList(NONLOGBOOK).contains( Integer.parseInt(next.get("idJenisProduk").toString()))))) { /* * Dibatasi hanya di rawat jalan atau visite saja @@ -1248,7 +1241,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel listPelayananFfs.add(next); } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + && !Arrays.asList(NONLOGBOOK).contains( Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananFfs.add(next); } @@ -1256,8 +1249,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && !listDetailJenisProduk.contains( Integer.parseInt(next.get("idDetailJenisProduk").toString())))) - && Master.Departemen.IGD.equals(next.get("idDepartemen")) - && drKsmUmumList.contains(idPegawai) + && IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) { /* * Aturan dokter ksm umum di igd @@ -1282,9 +1274,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); - } else if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA - .equals(next.get("idJenisPelaksana")) - && Master.Departemen.RADIOLOGI.equals(next.get("idDepartemen"))) { + } else if (DOKTER_PEMERIKSA.equals(next.get("idJenisPelaksana")) + && RADIOLOGI.equals(next.get("idDepartemen"))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } @@ -1306,7 +1297,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel listPelayananFfs.add(next); } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains( + && !Arrays.asList(NONLOGBOOK).contains( Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananFfs.add(next); } @@ -1364,6 +1355,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel return null; } Map remunFfs = this.splitRemunFfs(idPegawai, bulan); + @SuppressWarnings("unchecked") List> listData = (List>) remunFfs.get("remun"); Double target = Double.parseDouble(remunFfs.get("targetRemun").toString()); String targetFormatted = remunFfs.get("targetRemunFormatted").toString(); @@ -1372,7 +1364,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ double persenOperatorIBS = Double.parseDouble(GetSettingDataFixed("persenRemunOperatorIBS")); double persenAsistenIBS = Double.parseDouble(GetSettingDataFixed("persenRemunAsistenIBS")); - double persenAnestesiIBS = Double.parseDouble(GetSettingDataFixed("persenRemunAnestesiIBS")); + double persenAnestesi = Double.parseDouble(GetSettingDataFixed("persenRemunAnestesiIBS")); double persenRadiologi = Double.parseDouble(GetSettingDataFixed("persenRemunRadiologi")); double persenLaboratorium = Double.parseDouble(GetSettingDataFixed("persenRemunLaboratorium")); double persenRehabMedik = Double.parseDouble(GetSettingDataFixed("persenRemunRehabMedik")); @@ -1387,10 +1379,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel /* * Persiapan filter logic remunerasi */ - List drKkPatologiAnatomiList = pegawaiDao - .getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI); - List drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM); - List drKkGenetika = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_GENETIKA); + List drKkPatologiAnatomiList = pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_ANATOMI); + List drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(KK_UMUM); + List drKkGenetika = pegawaiDao.getDokterByKelompokKerja(KK_GENETIKA); + List drAnastesiList = pegawaiDao.getDokterByKelompokKerja(KK_ANESTESI); List idProdukLabGenetikaLuarRuangan = splitDataSettingDatafixed("idProdukLabGenetikaLuarRuangan"); /* * Set persen jasa dan harga jasa pasien bpjs di ibs, icu @@ -1401,77 +1393,82 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel * Mapping persentase jasa remunerasi */ for (Map d : listData) { - if (drKsmUmumList.contains(idPegawai) - && Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { + if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { d.put("persenJasa", persenRemunDokterUmumHD + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenRemunDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) + } else if (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"))) { + && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())) + && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { double persenJasa = persenOperatorIBS / 100; d.put("persenJasa", persenTarifJasaBedah + "% + " + persenOperatorIBS + "%"); 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")) + } else if (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"))) { + && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())) + && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { double persenJasa = persenAsistenIBS / 100; d.put("persenJasa", persenTarifJasaBedah + "% + " + persenAsistenIBS + "%"); 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")) + } else if (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"))) { - double persenJasa = persenAnestesiIBS / 100; - d.put("persenJasa", persenTarifJasaBedah + "% + " + persenAnestesiIBS + "%"); + && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())) + && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { + double persenJasa = persenAnestesi / 100; + d.put("persenJasa", persenTarifJasaBedah + "% + " + persenAnestesi + "%"); 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")) - && Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { + } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { d.put("persenJasa", persenOperatorIBS + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) - && Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { + } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { d.put("persenJasa", persenAsistenIBS + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) - && Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("persenJasa", persenAnestesiIBS + "%"); + } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { + d.put("persenJasa", persenAnestesi + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) - d.put("hargaJasa", persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.RADIOLOGI.equals(d.get("idDepartemen"))) { + d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (RADIOLOGI.equals(d.get("idDepartemen"))) { d.put("persenJasa", persenRadiologi + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.REHAB_MEDIK.equals(d.get("idDepartemen"))) { + } else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) { d.put("persenJasa", persenRehabMedik + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenRehabMedik / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.GolonganProduk.KONSULTASI.equals(d.get("idGolonganProduk"))) { + } else if (KONSULTASI.equals(d.get("idGolonganProduk"))) { d.put("persenJasa", persenKonsultasi + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) { + } else if (VISIT.equals(d.get("idGolonganProduk"))) { d.put("persenJasa", persenVisite + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (drKkGenetika.contains(idPegawai) && idProdukLabGenetikaLuarRuangan.contains(d.get("idProduk")) + } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { + d.put("persenJasa", persenTindakan + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { + d.put("persenJasa", persenAnestesi + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (drKkGenetika.contains(idPegawai) + && idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { d.put("persenJasa", persenRemunLabGenetika + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenRemunLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Arrays.asList(Master.Ruangan.GENETIKA).contains(d.get("idRuangan"))) { + } else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) { d.put("persenJasa", persenRemunLabGenetika + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", @@ -1480,12 +1477,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel d.put("persenJasa", persenRemunDokterPA + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenRemunDokterPA / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.LABORATORIUM.equals(d.get("idDepartemen"))) { + } else if (LABORATORIUM.equals(d.get("idDepartemen"))) { 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 (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && Arrays.asList(Master.Ruangan.ICU_NICU) - .contains(Integer.parseInt(d.get("idRuangan").toString()))) { + } else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) + && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) { double persenJasa = persenTindakan / 100; d.put("persenJasa", persenTarifJasaICU + "% + " + persenTindakan + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) @@ -1658,6 +1655,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel return null; } Map remunFfs = this.splitRemunFfs(idPegawai, bulan); + @SuppressWarnings("unchecked") List> listData = (List>) remunFfs.get("ffs"); /* * Mendapatkan persentase jasa @@ -1665,7 +1663,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel double persenBPJS = Double.parseDouble(GetSettingDataFixed("persenJasaBPJS")); double persenOperatorIBS = Double.parseDouble(GetSettingDataFixed("persenJasaOperatorIBS")); double persenAsistenIBS = Double.parseDouble(GetSettingDataFixed("persenJasaAsistenIBS")); - double persenAnestesiIBS = Double.parseDouble(GetSettingDataFixed("persenJasaAnestesiIBS")); + double persenAnestesi = Double.parseDouble(GetSettingDataFixed("persenJasaAnestesiIBS")); double persenRadiologi = Double.parseDouble(GetSettingDataFixed("persenJasaRadiologi")); double persenLaboratorium = Double.parseDouble(GetSettingDataFixed("persenJasaLaboratorium")); double persenRehabMedik = Double.parseDouble(GetSettingDataFixed("persenJasaRehabMedik")); @@ -1678,18 +1676,17 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel /* * Persiapan filter logic remunerasi */ - List drKkPatologiAnatomiList = pegawaiDao - .getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI); - List drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM); - List drKkGenetika = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_GENETIKA); + List drKkPatologiAnatomiList = pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_ANATOMI); + List drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(KK_UMUM); + List drKkGenetika = pegawaiDao.getDokterByKelompokKerja(KK_GENETIKA); + List drAnastesiList = pegawaiDao.getDokterByKelompokKerja(KK_ANESTESI); List idProdukLabGenetikaLuarRuangan = splitDataSettingDatafixed("idProdukLabGenetikaLuarRuangan"); /* * Mapping persentase jasa remunerasi */ for (Map d : listData) { if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) - && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS) - .contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) { + && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) { /* * Set persen jasa dokter luar yang klaim ffs dengan persen jasa * dari tarif total @@ -1701,49 +1698,57 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenBPJS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (drKsmUmumList.contains(idPegawai) - && Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { + } else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { d.put("persenJasa", persenJasaDokterUmumHD + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenJasaDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) - && Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { + } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { d.put("persenJasa", persenOperatorIBS + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) - && Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { + } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { d.put("persenJasa", persenAsistenIBS + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) - && Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { - d.put("persenJasa", persenAnestesiIBS + "%"); + } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { + d.put("persenJasa", persenAnestesi + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) - d.put("hargaJasa", persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.RADIOLOGI.equals(d.get("idDepartemen"))) { + d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (RADIOLOGI.equals(d.get("idDepartemen"))) { d.put("persenJasa", persenRadiologi + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.REHAB_MEDIK.equals(d.get("idDepartemen"))) { + } else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) { d.put("persenJasa", persenRehabMedik + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenRehabMedik / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.GolonganProduk.KONSULTASI.equals(d.get("idGolonganProduk"))) { + } else if (KONSULTASI.equals(d.get("idGolonganProduk"))) { d.put("persenJasa", persenKonsultasi + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) { + } else if (VISIT.equals(d.get("idGolonganProduk"))) { d.put("persenJasa", persenVisite + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (drKkGenetika.contains(idPegawai) && idProdukLabGenetikaLuarRuangan.contains(d.get("idProduk")) + } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { + d.put("persenJasa", persenTindakan + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { + d.put("persenJasa", persenAnestesi + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (drKkGenetika.contains(idPegawai) + && idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { d.put("persenJasa", persenJasaLabGenetika + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenJasaLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Arrays.asList(Master.Ruangan.GENETIKA).contains(d.get("idRuangan"))) { + } else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) { d.put("persenJasa", persenJasaLabGenetika + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenJasaLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString())); @@ -1751,7 +1756,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel d.put("persenJasa", persenJasaDokterPA + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenJasaDokterPA / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.LABORATORIUM.equals(d.get("idDepartemen"))) { + } else if (LABORATORIUM.equals(d.get("idDepartemen"))) { d.put("persenJasa", persenLaboratorium + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString()));