Merge branch 'ade/logbook-tarif/penyesuainruangan70persen' into prod/no-cron

This commit is contained in:
adesyawal 2025-12-02 13:08:50 +07:00
commit 85bd2c95e7
3 changed files with 39 additions and 7 deletions

View File

@ -355,7 +355,8 @@ public final class Master {
public static final class Ruangan {
public static final Integer CATHLAB = 703;
public static final Integer[] GENETIKA = { 277, 563, 587 };
public static final Integer[] ICU_NICU = { 328, 75, 707, 708 };
public static final Integer[] ICU_NICU_V1 = { 328, 75, 707, 708 }; // Perubahan Regulasi Pada 02/12/2025, berlaku untuk data sebelum 1 november 2025
public static final Integer[] ICU_NICU_v2 = { 328,75,463,76,45,464,44,707,708 }; // Perubahan Regulasi Pada 02/12/2025, berlaku untuk data setelah atau sama dengan 1 november 2025
public static final int KLINIK_FALSE_EMERGENCY = 309;
public static final Integer KLINIK_GIGI_KARYAWAN = 702;
public static final Integer KLINIK_KARYAWAN = 70;

View File

@ -693,6 +693,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
double persenRemunDokterUmumHD = toDoubleSettingFix("persenRemunDokterUmumHD", tglAkhir);
double persenRemunLabGenetika = toDoubleSettingFix("persenRemunLabGenetika", tglAkhir);
double persenRemunTerapis = toDoubleSettingFix("persenRemunTerapis", tglAkhir);
Integer[] ICU_NICU;
if((date.before(new Date(1761929999000L)) || date.equals(new Date(1761929999000L)))){
ICU_NICU = ICU_NICU_V1;
}else{
ICU_NICU = ICU_NICU_v2;
}
/*
* Persiapan filter logic remunerasi
*/
@ -2218,6 +2225,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
double persenRemunDokterUmumHD = toDoubleSettingFix("persenRemunDokterUmumHD", tglAkhir);
double persenRemunLabGenetika = toDoubleSettingFix("persenRemunLabGenetika", tglAkhir);
double persenRemunTerapis = toDoubleSettingFix("persenRemunTerapis", tglAkhir);
Integer[] ICU_NICU;
if((date.before(new Date(1761929999000L)) || date.equals(new Date(1761929999000L)))){
ICU_NICU = ICU_NICU_V1;
}else{
ICU_NICU = ICU_NICU_v2;
}
/*
* Persiapan filter logic remunerasi
*/

View File

@ -281,6 +281,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
} catch (ParseException e) {
return null;
}
/*
* Mendapatkan kelompok kerja dokter
*/
@ -296,6 +297,14 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/*
* Mendapatkan nominal target remunerasi untuk simulasi
*/
Integer[] ICU_NICU;
if((date.before(new Date(1761929999000L)) || date.equals(new Date(1761929999000L)))){
ICU_NICU = ICU_NICU_V1;
}else{
ICU_NICU = ICU_NICU_v2;
}
Double targetRemun = 0.0;
String sdTarget = getSettingDataFixed("targetRemunJasaDokter");
if (CommonUtil.isNotNullOrEmpty(sdTarget))
@ -571,8 +580,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
d.put("hargaJasa", hargaJasa.getNilai());
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
} else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
} else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
double persenJasa = persenTindakan / 100;
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
@ -2267,6 +2275,14 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
double persenRemunVisiteDokterKelompokBudiRahmat = toDoubleSettingFix(
"persenRemunVisiteDokterKelompokBudiRahmat", tglAkhir);
long millisPersenJasa2024 = Long.parseLong(getSettingDataFixed("tmtPersenJasa2024"));
Integer[] ICU_NICU;
if((date.before(new Date(1761929999000L)) || date.equals(new Date(1761929999000L)))){
ICU_NICU = ICU_NICU_V1;
}else{
ICU_NICU = ICU_NICU_v2;
}
/*
* TMT persentase jasa tahun 2024
*/
@ -2337,7 +2353,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
double persenJasa = persenOperatorAkumulatif / 100;
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d);
d.put("persenJasa", persenOperatorAkumulatif + "%");
d.put("keterangan", "Tarif Jasa Bedah (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan());
d.put("keterangan", "Tarif Jasa (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2347,7 +2363,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
double persenJasa = persenAsisten / 100;
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d);
d.put("persenJasa", persenAsisten + "%");
d.put("keterangan", "Tarif Jasa Bedah (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan());
d.put("keterangan", "Tarif Jasa (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2357,7 +2373,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
double persenJasa = persenAnestesi / 100;
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d);
d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", "Tarif Jasa Bedah (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan());
d.put("keterangan", "Tarif Jasa (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2464,7 +2480,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
double persenJasa = persenTindakan / 100;
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d);
d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", "Tarif Jasa ICU (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan());
d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else {
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d);