Merge branch 'dev/remun/logbook-tarif' into prod/no-cron

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

View File

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