Merge branch 'dev/remun/logbook-tarif' into prod/base

This commit is contained in:
Salman Manoe 2025-02-17 14:21:42 +07:00
commit b50c271d21

View File

@ -336,6 +336,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAkhir); List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAkhir);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAkhir); List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAkhir);
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAkhir); List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAkhir);
List<Integer> idsDokterUmumExclude = splitDataSettingDatafixed("pr_dokter_umum_exclude");
List<Integer> idsDokterPerinatologi = getNilaiDataFixByTMT("pr_dokter_perinatologi", tglAkhir); List<Integer> idsDokterPerinatologi = getNilaiDataFixByTMT("pr_dokter_perinatologi", tglAkhir);
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAkhir); List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAkhir);
List<Integer> idsDokterBPJSffs = splitDataSettingDatafixed("dokterBPJSffs"); List<Integer> idsDokterBPJSffs = splitDataSettingDatafixed("dokterBPJSffs");
@ -362,6 +363,10 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
listDetailJenisProdukException = idsRegDJPAdminNonPK; listDetailJenisProdukException = idsRegDJPAdminNonPK;
listDetailJenisProdukException.removeAll(listDetailJenisProduk); listDetailJenisProdukException.removeAll(listDetailJenisProduk);
} }
/*
* TMT KSM Umum mulai menggunakan pembatasan tindakan
*/
Date tmtTindakanKSMUmum = new Date(1738342800000L);
/* /*
* Mendapatkan data mentah pelayanan pasien * Mendapatkan data mentah pelayanan pasien
*/ */
@ -1027,38 +1032,54 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|| CATHLAB.equals(next.get("idRuangan")))) { || CATHLAB.equals(next.get("idRuangan")))) {
listPelayananRemun.add(next); listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
&& (tglAwal.equals(tmtTindakanKSMUmum) || tglAwal.after(tmtTindakanKSMUmum))) {
/*
* Aturan dokter ksm umum
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else { } else {
/* /*
* Selain dokter-dokter kk pediatrik gawat darurat * Selain dokter-dokter kk pediatrik gawat darurat
*/ */
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
&& listDetailJenisProduk .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
&& !drKsmUmumList.contains(idPegawai)) { .contains(Integer.parseInt(next.get("idProduk").toString()))
/* && tglAwal.before(tmtTindakanKSMUmum))) {
* 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 * Dibatasi oleh daftar jenis tindakan tertentu
* bebas klaim
*/ */
listPelayananRemun.add(next); if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); && (idsRegDJPPenunjangPA
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) || idsRegDJPPenunjangPK.contains(Integer
&& !idsJenisProdukNonLogbook.contains( .parseInt(next.get("idDetailJenisProduk").toString())))) {
Integer.parseInt(next.get("idJenisProduk").toString())))) { /*
listPelayananRemun.add(next); * Pengecualian daftar tindakan penunjang
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); * 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"))
&& !idsJenisProdukNonLogbook.contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
}
} }
} else if (drKsmUmumList.contains(idPegawai) } else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk"))
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) { || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTindakanKSMUmum)) {
/* /*
* Aturan dokter ksm umum * Aturan dokter ksm umum di igd
*/ */
listPelayananRemun.add(next); listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
@ -1095,7 +1116,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/* /*
* Diluar pembatasan jenis produk * Diluar pembatasan jenis produk
*/ */
if (!drKsmUmumList.contains(idPegawai)) { if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTindakanKSMUmum))) {
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& (idsRegDJPPenunjangPA && (idsRegDJPPenunjangPA
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
@ -1165,36 +1188,52 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|| CATHLAB.equals(next.get("idRuangan")))) { || CATHLAB.equals(next.get("idRuangan")))) {
listPelayananRemun.add(next); listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
&& (tglAwal.equals(tmtTindakanKSMUmum) || tglAwal.after(tmtTindakanKSMUmum))) {
/*
* Aturan dokter ksm umum
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else { } else {
/* /*
* Selain dokter-dokter kk pediatrik gawat darurat * Selain dokter-dokter kk pediatrik gawat darurat
*/ */
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
&& listDetailJenisProduk .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
&& !drKsmUmumList.contains(idPegawai)) { .contains(Integer.parseInt(next.get("idProduk").toString()))
/* && tglAwal.before(tmtTindakanKSMUmum))) {
* 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 * Dibatasi oleh daftar jenis tindakan tertentu
* bebas klaim
*/ */
listPelayananRemun.add(next); if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); && (idsRegDJPPenunjangPA
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) || idsRegDJPPenunjangPK.contains(Integer
&& !idsJenisProdukNonLogbook.contains( .parseInt(next.get("idDetailJenisProduk").toString())))) {
Integer.parseInt(next.get("idJenisProduk").toString())))) { /*
listPelayananRemun.add(next); * Pengecualian daftar tindakan penunjang
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); * 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"))
&& !idsJenisProdukNonLogbook.contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
}
} }
} else if (drKsmUmumList.contains(idPegawai) } else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk"))
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) { || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTindakanKSMUmum)) {
/* /*
* Aturan dokter ksm umum di igd * Aturan dokter ksm umum di igd
*/ */
@ -1233,7 +1272,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/* /*
* Diluar pembatasan jenis produk * Diluar pembatasan jenis produk
*/ */
if (!drKsmUmumList.contains(idPegawai)) { if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTindakanKSMUmum))) {
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& (idsRegDJPPenunjangPA && (idsRegDJPPenunjangPA
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
@ -1314,42 +1355,61 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
} else { } else {
listPelayananNonJknLuarJamKerja.add(next); listPelayananNonJknLuarJamKerja.add(next);
} }
} else if (drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
&& (tglAwal.equals(tmtTindakanKSMUmum) || tglAwal.after(tmtTindakanKSMUmum))) {
/*
* Aturan dokter ksm umum
*/
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
listPelayananFfs.add(next);
} else {
listPelayananNonJknLuarJamKerja.add(next);
}
} else { } else {
/* /*
* Selain dokter-dokter kk pediatrik gawat darurat * Selain dokter-dokter kk pediatrik gawat darurat
*/ */
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
&& listDetailJenisProduk .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
&& !drKsmUmumList.contains(idPegawai)) { .contains(Integer.parseInt(next.get("idProduk").toString()))
/* && tglAwal.before(tmtTindakanKSMUmum))) {
* 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 * Dibatasi oleh daftar jenis tindakan tertentu
* bebas klaim
*/ */
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
listPelayananFfs.add(next); && (idsRegDJPPenunjangPA
} else { .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
listPelayananNonJknLuarJamKerja.add(next); || idsRegDJPPenunjangPK.contains(Integer
} .parseInt(next.get("idDetailJenisProduk").toString())))) {
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) /*
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) * Pengecualian daftar tindakan penunjang
&& !idsJenisProdukNonLogbook.contains( * yang bebas klaim
Integer.parseInt(next.get("idJenisProduk").toString())))) { */
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) { if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
listPelayananFfs.add(next); listPelayananFfs.add(next);
} else { } else {
listPelayananNonJknLuarJamKerja.add(next); listPelayananNonJknLuarJamKerja.add(next);
}
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !idsJenisProdukNonLogbook.contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
listPelayananFfs.add(next);
} else {
listPelayananNonJknLuarJamKerja.add(next);
}
} }
} }
} else if (drKsmUmumList.contains(idPegawai) } else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk"))
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) { || (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTindakanKSMUmum)) {
/* /*
* Aturan dokter ksm umum di igd * Aturan dokter ksm umum di igd
*/ */
@ -1400,7 +1460,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/* /*
* Diluar pembatasan jenis produk * Diluar pembatasan jenis produk
*/ */
if (!drKsmUmumList.contains(idPegawai)) { if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTindakanKSMUmum))) {
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& (idsRegDJPPenunjangPA && (idsRegDJPPenunjangPA
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())) .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))