diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java index 8918049b..1e99a21c 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java @@ -184,7 +184,8 @@ public interface PelayananPasienDao extends JpaRepository findAll(@Param("listNoRec") List listNoRec); - String LOGBOOK_DOKTER = "select new Map(pr.id as idProduk,pr.namaProduk as namaProduk," + String LOGBOOK_DOKTER = "select new Map(pr.id as idProduk," + + "concat(case when pr.kptl is not null then concat(pr.kptl,' - ') else '' end) || pr.namaProduk as namaProduk," + "pr.detailJenisProdukId as idDetailJenisProduk,pr.golonganProdukId as idGolonganProduk," + "djp.jenisProdukId as idJenisProduk," + "pd.voucherPaketId as idVoucherDaftar," + "pd.kelompokPasienId as idKelompokPasien," + "case when pd.kelompokPasienId = 2 then 1 " @@ -256,10 +257,9 @@ public interface PelayananPasienDao extends JpaRepository idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk"); List idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi"); List idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd"); + List idsDokterUmumExclude = splitDataSettingDatafixed("pr_dokter_umum_exclude"); List idsDokterPerinatologi = splitDataSettingDatafixed("pr_dokter_perinatologi"); List idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi"); List idsDokterBPJSffs = splitDataSettingDatafixed("dokterBPJSffs"); @@ -1021,22 +1021,26 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Dibatasi oleh daftar jenis tindakan tertentu */ - if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) - || idsRegDJPPenunjangPK - .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 (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) - || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(NONLOGBOOK).contains( - Integer.parseInt(next.get("idJenisProduk").toString())))) { - listPelayananRemun.add(next); - capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude + .contains(Integer.parseInt(next.get("idProduk").toString()))) { + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && (idsRegDJPPenunjangPA + .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) + || idsRegDJPPenunjangPK.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 (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !Arrays.asList(NONLOGBOOK).contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } } } else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) @@ -1081,22 +1085,26 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Diluar pembatasan jenis produk */ - if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) - || idsRegDJPPenunjangPK - .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 (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) - || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(NONLOGBOOK).contains( - Integer.parseInt(next.get("idJenisProduk").toString())))) { - listPelayananRemun.add(next); - capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude + .contains(Integer.parseInt(next.get("idProduk").toString()))) { + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && (idsRegDJPPenunjangPA + .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) + || idsRegDJPPenunjangPK.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 (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !Arrays.asList(NONLOGBOOK).contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } } } } @@ -1142,22 +1150,26 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Dibatasi oleh daftar jenis tindakan tertentu */ - if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) - || idsRegDJPPenunjangPK - .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 (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) - || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(NONLOGBOOK).contains( - Integer.parseInt(next.get("idJenisProduk").toString())))) { - listPelayananRemun.add(next); - capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude + .contains(Integer.parseInt(next.get("idProduk").toString()))) { + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && (idsRegDJPPenunjangPA + .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) + || idsRegDJPPenunjangPK.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 (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !Arrays.asList(NONLOGBOOK).contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } } } else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) @@ -1202,22 +1214,26 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Diluar pembatasan jenis produk */ - if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) - || idsRegDJPPenunjangPK - .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 (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) - || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(NONLOGBOOK).contains( - Integer.parseInt(next.get("idJenisProduk").toString())))) { - listPelayananRemun.add(next); - capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude + .contains(Integer.parseInt(next.get("idProduk").toString()))) { + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && (idsRegDJPPenunjangPA + .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) + || idsRegDJPPenunjangPK.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 (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !Arrays.asList(NONLOGBOOK).contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } } } } @@ -1271,27 +1287,31 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Dibatasi oleh daftar jenis tindakan tertentu */ - if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) - || idsRegDJPPenunjangPK - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())))) { - /* - * Pengecualian daftar tindakan penunjang yang - * bebas klaim - */ - if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { - listPelayananFfs.add(next); - } else { - listPelayananNonJknLuarJamKerja.add(next); - } - } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) - || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(NONLOGBOOK).contains( - Integer.parseInt(next.get("idJenisProduk").toString())))) { - if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { - listPelayananFfs.add(next); - } else { - listPelayananNonJknLuarJamKerja.add(next); + if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude + .contains(Integer.parseInt(next.get("idProduk").toString()))) { + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && (idsRegDJPPenunjangPA + .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) + || idsRegDJPPenunjangPK.contains(Integer + .parseInt(next.get("idDetailJenisProduk").toString())))) { + /* + * Pengecualian daftar tindakan penunjang + * yang bebas klaim + */ + if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { + listPelayananFfs.add(next); + } else { + listPelayananNonJknLuarJamKerja.add(next); + } + } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !Arrays.asList(NONLOGBOOK).contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { + if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { + listPelayananFfs.add(next); + } else { + listPelayananNonJknLuarJamKerja.add(next); + } } } } else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk")) @@ -1349,27 +1369,31 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera /* * Diluar pembatasan jenis produk */ - if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) - || idsRegDJPPenunjangPK - .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())))) { - /* - * Pengecualian daftar tindakan penunjang yang - * bebas klaim - */ - if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { - listPelayananFfs.add(next); - } else { - listPelayananNonJknLuarJamKerja.add(next); - } - } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) - || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) - && !Arrays.asList(NONLOGBOOK).contains( - Integer.parseInt(next.get("idJenisProduk").toString())))) { - if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { - listPelayananFfs.add(next); - } else { - listPelayananNonJknLuarJamKerja.add(next); + if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude + .contains(Integer.parseInt(next.get("idProduk").toString()))) { + if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) + && (idsRegDJPPenunjangPA + .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) + || idsRegDJPPenunjangPK.contains(Integer + .parseInt(next.get("idDetailJenisProduk").toString())))) { + /* + * Pengecualian daftar tindakan penunjang + * yang bebas klaim + */ + if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { + listPelayananFfs.add(next); + } else { + listPelayananNonJknLuarJamKerja.add(next); + } + } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) + || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) + && !Arrays.asList(NONLOGBOOK).contains( + Integer.parseInt(next.get("idJenisProduk").toString())))) { + if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { + listPelayananFfs.add(next); + } else { + listPelayananNonJknLuarJamKerja.add(next); + } } } } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/Produk.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/Produk.java index ca371c4f..b1b730c0 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/Produk.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/Produk.java @@ -415,4 +415,7 @@ public class Produk extends BaseMasterProduk { @Column(name = "ispsikotropika") private Boolean isPsikotropika; + + @Column(name = "kode_kptl") + private String kptl; } \ No newline at end of file diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/ProdukVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/ProdukVO.java index 5b5bafbe..6a40159a 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/ProdukVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/ProdukVO.java @@ -246,4 +246,7 @@ public class ProdukVO extends BaseMasterVO { @Caption(value = "Status") @Column(name = "Status", nullable = true) private String status; + + @Caption(value = "KPTL") + private String kptl; }