Merge branch 'dev/remun/proporsi-dokter' into dev/base

This commit is contained in:
Salman Manoe 2024-03-19 11:55:35 +07:00
commit a61c412e9c

View File

@ -594,6 +594,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* Mapping set awal persentase jasa remunerasi dan harga jasa remunerasi
*/
for (Map<String, Object> d : listRatedPay) {
d.put("isTermasukProporsi", true);
double hargaJual = Double.parseDouble(d.get("hargaJual").toString());
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString()))
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
@ -664,12 +665,20 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
d.put("hargaJasa", persenRadiologi / 100 * hargaJual);
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
d.put("hargaJasa", persenRehabMedik / 100 * hargaJual);
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
d.put("hargaJasa", persenKonsultasi / 100 * hargaJual);
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
d.put("hargaJasa", persenVisite / 100 * hargaJual);
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
@ -678,12 +687,20 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
d.put("hargaJasa", persenRemunLabGenetika / 100 * hargaJual);
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
d.put("hargaJasa", persenRemunLabGenetika / 100 * hargaJual);
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
d.put("hargaJasa", persenRemunDokterPA / 100 * hargaJual);
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
d.put("hargaJasa", persenLaboratorium / 100 * hargaJual);
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()))) {
double persenJasa = persenTindakan / 100;
@ -692,6 +709,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
}
}
/*
* Filtered by proporsi jasa layanan
*/
listRatedPay = listRatedPay.stream().filter(d -> Boolean.parseBoolean(d.get("isTermasukProporsi").toString()))
.collect(Collectors.toList());
/*
* Inisialisasi collect logbook klaim MPP
*/