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.removeAll(listDetailJenisProduk);
}
/*
* TMT KSM Umum mulai menggunakan pembatasan tindakan
*/
Date tmtTindakanKSMUmum = new Date(1738342800000L);
/*
* Mendapatkan data mentah pelayanan pasien
*/
@ -1028,14 +1032,23 @@ 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()))) {
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) {
if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTindakanKSMUmum))) {
/*
* Dibatasi oleh daftar jenis tindakan tertentu
*/
@ -1063,7 +1076,8 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& 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
*/
@ -1102,8 +1116,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/*
* Diluar pembatasan jenis produk
*/
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) {
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()))
@ -1173,14 +1188,23 @@ 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()))) {
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) {
if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTindakanKSMUmum))) {
/*
* Dibatasi oleh daftar jenis tindakan tertentu
*/
@ -1208,7 +1232,8 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& 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
*/
@ -1247,8 +1272,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/*
* Diluar pembatasan jenis produk
*/
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) {
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()))
@ -1329,14 +1355,26 @@ 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()))) {
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) {
if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))
&& tglAwal.before(tmtTindakanKSMUmum))) {
/*
* Dibatasi oleh daftar jenis tindakan tertentu
*/
@ -1370,7 +1408,8 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& 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
*/
@ -1421,8 +1460,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/*
* Diluar pembatasan jenis produk
*/
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) {
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()))