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 ddda44de..af31355e 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 @@ -464,6 +464,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel Double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenRemunTindakanDokter").toString()); Double persenTarifJasaBedah = Double.parseDouble(GetSettingDataFixed("persenTarifJasaBedah").toString()); Double persenTarifJasaICU = Double.parseDouble(GetSettingDataFixed("persenTarifJasaICU").toString()); + Double persenRemunDokterPA = Double.parseDouble(GetSettingDataFixed("persenRemunDokterPA").toString()); /* * Persiapan filter logic remunerasi */ @@ -473,6 +474,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel 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 laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog(); List idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk"); List idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama"); @@ -554,14 +557,16 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } } else if (Master.Departemen.RADIOLOGI.equals(d.get("idDepartemen"))) { d.put("hargaJasa", persenRadiologi / 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 (Master.Departemen.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"))) { d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString())); } else if (Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) { d.put("hargaJasa", persenVisite / 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"))) { + d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString())); } else if (Master.Ruangan.ICU_PICU.equals(d.get("idRuangan")) || Master.Ruangan.NICU.equals(d.get("idRuangan"))) { double persenJasa = persenTindakan / 100; @@ -1424,6 +1429,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel Double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenRemunTindakanDokter").toString()); Double persenTarifJasaBedah = Double.parseDouble(GetSettingDataFixed("persenTarifJasaBedah").toString()); Double persenTarifJasaICU = Double.parseDouble(GetSettingDataFixed("persenTarifJasaICU").toString()); + Double persenRemunDokterPA = Double.parseDouble(GetSettingDataFixed("persenRemunDokterPA").toString()); + /* + * Persiapan filter logic remunerasi + */ + List drKkPatologiAnatomiList = pegawaiDao + .getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI); /* * Set persen jasa dan harga jasa pasien bpjs di ibs, icu */ @@ -1437,19 +1448,19 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))) { if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { double persenJasa = persenOperatorIBS / 100; - d.put("persenJasa", persenOperatorIBS.toString() + "%"); + d.put("persenJasa", persenTarifJasaBedah.toString() + "% + " + persenOperatorIBS.toString() + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString())); } else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { double persenJasa = persenAsistenIBS / 100; - d.put("persenJasa", persenAsistenIBS.toString() + "%"); + d.put("persenJasa", persenTarifJasaBedah.toString() + "% + " + persenAsistenIBS.toString() + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString())); } else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { double persenJasa = persenAnestesiIBS / 100; - d.put("persenJasa", persenAnestesiIBS.toString() + "%"); + d.put("persenJasa", persenTarifJasaBedah.toString() + "% + " + persenAnestesiIBS.toString() + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString())); @@ -1475,10 +1486,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel d.put("persenJasa", persenRadiologi.toString() + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.LABORATORIUM.equals(d.get("idDepartemen"))) { - d.put("persenJasa", persenLaboratorium.toString() + "%"); - if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) - d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString())); } else if (Master.Departemen.REHAB_MEDIK.equals(d.get("idDepartemen"))) { d.put("persenJasa", persenRehabMedik.toString() + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) @@ -1491,10 +1498,18 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel d.put("persenJasa", persenVisite.toString() + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (drKkPatologiAnatomiList.contains(idPegawai)) { + d.put("persenJasa", persenRemunDokterPA.toString() + "%"); + 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"))) { + d.put("persenJasa", persenLaboratorium.toString() + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString())); } else if (Master.Ruangan.ICU_PICU.equals(d.get("idRuangan")) || Master.Ruangan.NICU.equals(d.get("idRuangan"))) { double persenJasa = persenTindakan / 100; - d.put("persenJasa", persenTindakan.toString() + "%"); + d.put("persenJasa", persenTarifJasaICU.toString() + "% + " + persenTindakan.toString() + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenJasa * persenTarifICU * Double.parseDouble(d.get("hargaJual").toString())); } else { @@ -1669,6 +1684,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel Double persenKonsultasi = Double.parseDouble(GetSettingDataFixed("persenJasaKonsultasiDokter").toString()); Double persenVisite = Double.parseDouble(GetSettingDataFixed("persenJasaVisiteDokter").toString()); Double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenJasaTindakanDokter").toString()); + Double persenJasaDokterPA = Double.parseDouble(GetSettingDataFixed("persenJasaDokterPA").toString()); + /* + * Persiapan filter logic remunerasi + */ + List drKkPatologiAnatomiList = pegawaiDao + .getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI); /* * Mapping persentase jasa remunerasi */ @@ -1704,10 +1725,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel d.put("persenJasa", persenRadiologi.toString() + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString())); - } else if (Master.Departemen.LABORATORIUM.equals(d.get("idDepartemen"))) { - d.put("persenJasa", persenLaboratorium.toString() + "%"); - if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) - d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString())); } else if (Master.Departemen.REHAB_MEDIK.equals(d.get("idDepartemen"))) { d.put("persenJasa", persenRehabMedik.toString() + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) @@ -1720,6 +1737,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel d.put("persenJasa", persenVisite.toString() + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (drKkPatologiAnatomiList.contains(idPegawai)) { + d.put("persenJasa", persenJasaDokterPA.toString() + "%"); + 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"))) { + d.put("persenJasa", persenLaboratorium.toString() + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString())); } else { d.put("persenJasa", persenTindakan.toString() + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)