diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java index 5712afb5..5b0859e9 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java @@ -376,6 +376,7 @@ public class Master { public static final Integer ICU_PICU = 328; public static final Integer KLINIK_GIGI_KARYAWAN = 702; public static final Integer KLINIK_KARYAWAN = 70; + public static final Integer KLINIK_TERPADU_DIALISIS = 535; public static final Integer MICU = 464; public static final Integer NICU = 75; 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 af31355e..75c48c3a 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 @@ -465,6 +465,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel Double persenTarifJasaBedah = Double.parseDouble(GetSettingDataFixed("persenTarifJasaBedah").toString()); Double persenTarifJasaICU = Double.parseDouble(GetSettingDataFixed("persenTarifJasaICU").toString()); Double persenRemunDokterPA = Double.parseDouble(GetSettingDataFixed("persenRemunDokterPA").toString()); + Double persenRemunDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenRemunDokterUmumHD").toString()); /* * Persiapan filter logic remunerasi */ @@ -529,6 +530,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel * Untuk semua klaim di ruangan klinik karyawan */ d.put("hargaJasa", 0.0); + } else if (drKsmUmumList.contains(idPegawai) + && Master.Ruangan.KLINIK_TERPADU_DIALISIS.equals(d.get("idRuangan")) + && 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")) && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))) { /* @@ -1430,11 +1435,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel Double persenTarifJasaBedah = Double.parseDouble(GetSettingDataFixed("persenTarifJasaBedah").toString()); Double persenTarifJasaICU = Double.parseDouble(GetSettingDataFixed("persenTarifJasaICU").toString()); Double persenRemunDokterPA = Double.parseDouble(GetSettingDataFixed("persenRemunDokterPA").toString()); + Double persenRemunDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenRemunDokterUmumHD").toString()); /* * Persiapan filter logic remunerasi */ List drKkPatologiAnatomiList = pegawaiDao .getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI); + List drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM); /* * Set persen jasa dan harga jasa pasien bpjs di ibs, icu */ @@ -1444,7 +1451,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel * Mapping persentase jasa remunerasi */ for (Map d : listData) { - if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")) + if (drKsmUmumList.contains(idPegawai) && Master.Ruangan.KLINIK_TERPADU_DIALISIS.equals(d.get("idRuangan")) + && Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { + d.put("persenJasa", persenRemunDokterUmumHD.toString() + "%"); + 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")) && Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))) { if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { double persenJasa = persenOperatorIBS / 100; @@ -1685,11 +1698,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel Double persenVisite = Double.parseDouble(GetSettingDataFixed("persenJasaVisiteDokter").toString()); Double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenJasaTindakanDokter").toString()); Double persenJasaDokterPA = Double.parseDouble(GetSettingDataFixed("persenJasaDokterPA").toString()); + Double persenRemunDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenRemunDokterUmumHD").toString()); /* * Persiapan filter logic remunerasi */ List drKkPatologiAnatomiList = pegawaiDao .getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI); + List drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM); /* * Mapping persentase jasa remunerasi */ @@ -1706,6 +1721,13 @@ 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.Ruangan.KLINIK_TERPADU_DIALISIS.equals(d.get("idRuangan")) + && Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { + d.put("persenJasa", persenRemunDokterUmumHD.toString() + "%"); + 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")) && Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { d.put("persenJasa", persenOperatorIBS.toString() + "%");