Update RemunerasiServiceImpl.java

Penerapan pengecekan TMT pembatasan KSM umum
This commit is contained in:
Salman Manoe 2025-02-17 14:20:41 +07:00
parent c5218e73b6
commit 1180100381

View File

@ -363,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
*/ */
@ -1028,14 +1032,23 @@ 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")) && listDetailJenisProduk if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) { .contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTindakanKSMUmum))) {
/* /*
* Dibatasi oleh daftar jenis tindakan tertentu * Dibatasi oleh daftar jenis tindakan tertentu
*/ */
@ -1063,7 +1076,8 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
&& !listDetailJenisProduk.contains( && !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString())))) Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) && IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) { && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTindakanKSMUmum)) {
/* /*
* Aturan dokter ksm umum di igd * Aturan dokter ksm umum di igd
*/ */
@ -1102,8 +1116,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/* /*
* Diluar pembatasan jenis produk * Diluar pembatasan jenis produk
*/ */
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) { .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()))
@ -1173,14 +1188,23 @@ 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")) && listDetailJenisProduk if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) { .contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTindakanKSMUmum))) {
/* /*
* Dibatasi oleh daftar jenis tindakan tertentu * Dibatasi oleh daftar jenis tindakan tertentu
*/ */
@ -1208,7 +1232,8 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
&& !listDetailJenisProduk.contains( && !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString())))) Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) && IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) { && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTindakanKSMUmum)) {
/* /*
* Aturan dokter ksm umum di igd * Aturan dokter ksm umum di igd
*/ */
@ -1247,8 +1272,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/* /*
* Diluar pembatasan jenis produk * Diluar pembatasan jenis produk
*/ */
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) { .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()))
@ -1329,14 +1355,26 @@ 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")) && listDetailJenisProduk if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) { .contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) { .contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTindakanKSMUmum))) {
/* /*
* Dibatasi oleh daftar jenis tindakan tertentu * Dibatasi oleh daftar jenis tindakan tertentu
*/ */
@ -1370,7 +1408,8 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
&& !listDetailJenisProduk.contains( && !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString())))) Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai) && IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) { && idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTindakanKSMUmum)) {
/* /*
* Aturan dokter ksm umum di igd * Aturan dokter ksm umum di igd
*/ */
@ -1421,8 +1460,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/* /*
* Diluar pembatasan jenis produk * Diluar pembatasan jenis produk
*/ */
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) { .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()))