From a5d48e10f563dab461264372e4dcdddf1f43c0f4 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Fri, 14 Feb 2025 09:03:57 +0700 Subject: [PATCH] Update service remunerasi Penerapan filter untuk akomodasi dengan kptl tidak masuk logbook --- .../controller/base/LocaleController.java | 2 +- .../medifirst2000/constants/Master.java | 2 +- .../service/impl/RemunerasiServiceImpl.java | 71 +++++++++++-------- 3 files changed, 45 insertions(+), 30 deletions(-) diff --git a/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/controller/base/LocaleController.java b/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/controller/base/LocaleController.java index 293f6e66..6ccd4976 100644 --- a/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/controller/base/LocaleController.java +++ b/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/controller/base/LocaleController.java @@ -214,7 +214,7 @@ public abstract class LocaleController { // protected EntityManager em; public String GetSettingDataFixed(String prefix) { - return agamaService.GetSettingDataFixed(prefix); + return agamaService.getSettingDataFixed(prefix); // StringBuffer buffer = new StringBuffer(); // buffer.append("select model.nilaiField from SettingDataFixed ") // .append(" model where model.namaField ='" + prefix + "' "); 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 51fc8f91..0acac41e 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 @@ -140,7 +140,7 @@ public final class Master { public static final class JenisProduk { public static final Integer LAB_KLINIK = 36; // laboratorium_klinik public static final Integer[] NONKONSULTASI = { 116, 277 }; // reagensia,barang_umum - public static final Integer[] NONLOGBOOK = { 97, 277, 283 }; // barang_farmasi,barang_umum,vaksin + public static final Integer[] NONLOGBOOK = { 97, 99, 277, 283 }; // barang_farmasi,barang_umum,vaksin public static final Integer[] NONTINDAKAN = { 97, 283 }; // barang_farmasi,vaksin public static final Integer OBAT_ALKES = 97; // barang_farmasi } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RemunerasiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RemunerasiServiceImpl.java index 65c4bb27..59fccadb 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RemunerasiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RemunerasiServiceImpl.java @@ -30,7 +30,6 @@ import static com.jasamedika.medifirst2000.constants.Master.Departemen.*; 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.JenisPetugasPelaksana.*; -import static com.jasamedika.medifirst2000.constants.Master.JenisProduk.NONLOGBOOK; import static com.jasamedika.medifirst2000.constants.Master.KategoryPegawai.DOKTER_LUAR; import static com.jasamedika.medifirst2000.constants.Master.Kelas.NON_KELAS; import static com.jasamedika.medifirst2000.constants.Master.KelompokPasien.KELOMPOK_BPJS; @@ -330,6 +329,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera List drKkRadiologi = pegawaiDao.getDokterByKelompokKerja(KK_RADIOLOGI); List laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog(); List terapisRehabMedik = mapJabatanProfesiDao.findIdPegawaiByProfesiIn(Arrays.asList(TERAPI)); + List idsJenisProdukNonLogbook = getNilaiDataFixByTMT("listJenisProdukNonLogbook", tglAwal); List idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal); List idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal); List idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal); @@ -970,7 +970,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera listPelayananNonJknLuarJamKerja.add(next); } } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) - || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) && !Arrays.asList(NONLOGBOOK) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) && !idsJenisProdukNonLogbook .contains(Integer.parseInt(next.get("idJenisProduk").toString())))) { if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { listPelayananFfs.add(next); @@ -987,11 +987,16 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ if (drKkPediatrikGDList.contains(idPegawai)) { if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) { - /* - * Tarif baru dengan KPTL - */ - listPelayananRemun.add(next); - capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !idsJenisProdukNonLogbook.contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { + /* + * Tarif baru dengan KPTL + */ + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } } else { /* * Bpjs untuk dokter-dokter kk pediatrik gawat @@ -1009,7 +1014,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera || VISIT.equals(next.get("idGolonganProduk"))) && (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(NONLOGBOOK).contains( + && !idsJenisProdukNonLogbook.contains( Integer.parseInt(next.get("idJenisProduk").toString()))))) { /* * Dibatasi hanya di rawat jalan atau visite @@ -1047,7 +1052,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(NONLOGBOOK).contains( + && !idsJenisProdukNonLogbook.contains( Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); @@ -1112,7 +1117,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(NONLOGBOOK).contains( + && !idsJenisProdukNonLogbook.contains( Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); @@ -1127,11 +1132,16 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ if (drKkPediatrikGDList.contains(idPegawai)) { if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) { - /* - * Tarif baru dengan KPTL - */ - listPelayananRemun.add(next); - capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !idsJenisProdukNonLogbook.contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { + /* + * Tarif baru dengan KPTL + */ + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } } else { /* * Bpjs untuk dokter-dokter kk pediatrik gawat @@ -1149,7 +1159,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera || VISIT.equals(next.get("idGolonganProduk")) && (CommonUtil .isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(NONLOGBOOK).contains( + && !idsJenisProdukNonLogbook.contains( Integer.parseInt(next.get("idJenisProduk").toString()))))) { /* * Dibatasi hanya di rawat jalan atau visite @@ -1187,7 +1197,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(NONLOGBOOK).contains( + && !idsJenisProdukNonLogbook.contains( Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); @@ -1252,7 +1262,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(NONLOGBOOK).contains( + && !idsJenisProdukNonLogbook.contains( Integer.parseInt(next.get("idJenisProduk").toString())))) { listPelayananRemun.add(next); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); @@ -1266,13 +1276,18 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera */ if (drKkPediatrikGDList.contains(idPegawai)) { if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) { - /* - * Tarif baru dengan KPTL - */ - if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { - listPelayananFfs.add(next); - } else { - listPelayananNonJknLuarJamKerja.add(next); + if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !idsJenisProdukNonLogbook.contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { + /* + * Tarif baru dengan KPTL + */ + if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { + listPelayananFfs.add(next); + } else { + listPelayananNonJknLuarJamKerja.add(next); + } } } else { /* @@ -1294,7 +1309,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera || VISIT.equals(next.get("idGolonganProduk")) && (CommonUtil .isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(NONLOGBOOK).contains( + && !idsJenisProdukNonLogbook.contains( Integer.parseInt(next.get("idJenisProduk").toString()))))) { /* * Dibatasi hanya di rawat jalan atau visite @@ -1341,7 +1356,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera } } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(NONLOGBOOK).contains( + && !idsJenisProdukNonLogbook.contains( Integer.parseInt(next.get("idJenisProduk").toString())))) { if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { listPelayananFfs.add(next); @@ -1424,7 +1439,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera } } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(NONLOGBOOK).contains( + && !idsJenisProdukNonLogbook.contains( Integer.parseInt(next.get("idJenisProduk").toString())))) { if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { listPelayananFfs.add(next);