|
|
|
|
@ -784,7 +784,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
d.put("hargaJual", d.get("komponenTotalTarif"));
|
|
|
|
|
d.put("isTermasukProporsi", true);
|
|
|
|
|
double hargaJual = Double.parseDouble(d.get("hargaJual").toString());
|
|
|
|
|
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString()))
|
|
|
|
|
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())
|
|
|
|
|
|| Double.parseDouble(d.get("persenDiskonPegawai").toString()) > 0.0)
|
|
|
|
|
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
|
|
|
|
|
if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d, false);
|
|
|
|
|
@ -1962,8 +1963,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
SimpleDateFormat month = new SimpleDateFormat("MMM-yyyy", new Locale("in", "ID"));
|
|
|
|
|
listData.forEach(d -> {
|
|
|
|
|
if (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")))
|
|
|
|
|
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
|
|
|
|
|
+ "% komponen tarif, sayatan ke-" + d.get("urutanSayatan").toString());
|
|
|
|
|
d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
|
|
|
|
|
+ d.get("persenSayatan").toString() + "%)");
|
|
|
|
|
});
|
|
|
|
|
List<MapProdukPaket> paketList = mapProdukPaketDao.findAll();
|
|
|
|
|
List<Integer> allProdukEntriId = paketList.stream().map(MapProdukPaket::getProdukEntriId)
|
|
|
|
|
@ -2162,8 +2163,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
private List<Map<String, Object>> transformPelayananKepalaPaketFixedPay(List<Map<String, Object>> listData) {
|
|
|
|
|
listData.forEach(d -> {
|
|
|
|
|
if (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")))
|
|
|
|
|
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
|
|
|
|
|
+ "% komponen tarif, sayatan ke-" + d.get("urutanSayatan").toString());
|
|
|
|
|
d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
|
|
|
|
|
+ d.get("persenSayatan").toString() + "%)");
|
|
|
|
|
});
|
|
|
|
|
listData.forEach(d -> {
|
|
|
|
|
double hargaJasa = Double.parseDouble(d.get("hargaJasaD").toString())
|
|
|
|
|
@ -2255,18 +2256,32 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
String keteranganTambahan = "";
|
|
|
|
|
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) {
|
|
|
|
|
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
|
|
|
|
|
keteranganTambahan = " dan selisih paket karena diskon "
|
|
|
|
|
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString()));
|
|
|
|
|
if ("".equals(d.get("keterangan").toString())) {
|
|
|
|
|
keteranganTambahan = " Diskon selisih paket ("
|
|
|
|
|
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())) + ")";
|
|
|
|
|
} else {
|
|
|
|
|
keteranganTambahan = " + diskon selisih paket ("
|
|
|
|
|
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())) + ")";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (Double.parseDouble(d.get("persenDiskonPegawai").toString()) > 0.0) {
|
|
|
|
|
if ("".equals(d.get("keterangan").toString())) {
|
|
|
|
|
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
|
|
|
|
|
keteranganTambahan = " Diskon pegawai (" + d.get("persenDiskonPegawai").toString() + "%)";
|
|
|
|
|
} else {
|
|
|
|
|
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
|
|
|
|
|
keteranganTambahan = " + diskon pegawai (" + d.get("persenDiskonPegawai").toString() + "%)";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenRemunDokterUmumHD + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (terapisRehabMedik.contains(idPegawai)) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunTerapis / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenRemunTerapis + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + 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"))))
|
|
|
|
|
@ -2276,8 +2291,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
double persenJasa = persenOperator / 100;
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
|
|
|
|
|
d.put("persenJasa", persenOperator + "%");
|
|
|
|
|
d.put("keterangan",
|
|
|
|
|
"Dari " + persenTarifJasaBedah + "% tarif" + hargaJasa.getKeterangan() + keteranganTambahan);
|
|
|
|
|
d.put("keterangan", "Tarif jasa bedah (" + persenTarifJasaBedah + "%) " + keteranganTambahan
|
|
|
|
|
+ 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"))))
|
|
|
|
|
@ -2287,8 +2302,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
double persenJasa = persenAsistenIBS / 100;
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
|
|
|
|
|
d.put("persenJasa", persenAsistenIBS + "%");
|
|
|
|
|
d.put("keterangan",
|
|
|
|
|
"Dari " + persenTarifJasaBedah + "% tarif" + hargaJasa.getKeterangan() + keteranganTambahan);
|
|
|
|
|
d.put("keterangan", "Tarif jasa bedah (" + persenTarifJasaBedah + "%) " + keteranganTambahan
|
|
|
|
|
+ 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"))))
|
|
|
|
|
@ -2298,8 +2313,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
double persenJasa = persenAnestesi / 100;
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
|
|
|
|
|
d.put("persenJasa", persenAnestesi + "%");
|
|
|
|
|
d.put("keterangan",
|
|
|
|
|
"Dari " + persenTarifJasaBedah + "% tarif" + hargaJasa.getKeterangan() + keteranganTambahan);
|
|
|
|
|
d.put("keterangan", "Tarif jasa bedah (" + persenTarifJasaBedah + "%) " + keteranganTambahan
|
|
|
|
|
+ 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"))))
|
|
|
|
|
@ -2309,10 +2324,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
|
|
|
|
false);
|
|
|
|
|
d.put("persenJasa", persenOperator + "%");
|
|
|
|
|
d.put("keterangan",
|
|
|
|
|
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
|
|
|
|
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
|
|
|
|
+ hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
|
|
|
|
|
+ d.get("persenSayatan").toString() + "%) " + keteranganTambahan + 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"))))
|
|
|
|
|
@ -2322,10 +2335,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
|
|
|
|
false);
|
|
|
|
|
d.put("persenJasa", persenAsistenIBS + "%");
|
|
|
|
|
d.put("keterangan",
|
|
|
|
|
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
|
|
|
|
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
|
|
|
|
+ hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
|
|
|
|
|
+ d.get("persenSayatan").toString() + "%) " + keteranganTambahan + 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"))))
|
|
|
|
|
@ -2335,96 +2346,94 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
|
|
|
|
false);
|
|
|
|
|
d.put("persenJasa", persenAnestesi + "%");
|
|
|
|
|
d.put("keterangan",
|
|
|
|
|
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
|
|
|
|
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
|
|
|
|
+ hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
|
|
|
|
|
+ d.get("persenSayatan").toString() + "%) " + keteranganTambahan + 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"))))
|
|
|
|
|
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenOperator + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + 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"))))
|
|
|
|
|
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenAsistenIBS + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + 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"))))
|
|
|
|
|
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenAnestesi + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenRadiologi + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenRehabMedik + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenKonsultasi + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenVisite + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenTindakan + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenAnestesi + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (drKkGenetika.contains(idPegawai)
|
|
|
|
|
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
|
|
|
|
|
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenRemunLabGenetika + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenRemunLabGenetika + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunDokterPA / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenRemunDokterPA + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenLaboratorium + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} 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, false);
|
|
|
|
|
d.put("persenJasa", persenTindakan + "%");
|
|
|
|
|
d.put("keterangan",
|
|
|
|
|
"Dari " + persenTarifJasaICU + "% tarif" + hargaJasa.getKeterangan() + keteranganTambahan);
|
|
|
|
|
d.put("keterangan", "Tarif jasa ICU (" + persenTarifJasaICU + "%) " + keteranganTambahan
|
|
|
|
|
+ hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenTindakan + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -2644,9 +2653,24 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
String keteranganTambahan = "";
|
|
|
|
|
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) {
|
|
|
|
|
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
|
|
|
|
|
keteranganTambahan = " dan selisih paket karena diskon "
|
|
|
|
|
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString()));
|
|
|
|
|
if ("".equals(d.get("keterangan").toString())) {
|
|
|
|
|
keteranganTambahan = " Diskon selisih paket ("
|
|
|
|
|
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())) + ")";
|
|
|
|
|
} else {
|
|
|
|
|
keteranganTambahan = " + diskon selisih paket ("
|
|
|
|
|
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())) + ")";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (Double.parseDouble(d.get("persenDiskonPegawai").toString()) > 0.0) {
|
|
|
|
|
if ("".equals(d.get("keterangan").toString())) {
|
|
|
|
|
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
|
|
|
|
|
keteranganTambahan = " Diskon pegawai (" + d.get("persenDiskonPegawai").toString() + "%)";
|
|
|
|
|
} else {
|
|
|
|
|
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
|
|
|
|
|
keteranganTambahan = " + diskon pegawai (" + d.get("persenDiskonPegawai").toString() + "%)";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
|
|
|
|
|
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenBPJS / 100, hargaJual, d, true);
|
|
|
|
|
@ -2655,7 +2679,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
* dari tarif total
|
|
|
|
|
*/
|
|
|
|
|
d.put("persenJasa", persenBPJS + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
/*
|
|
|
|
|
* Set harga jasa klaim jasa ffs pasien bpjs oleh dokter-dokter
|
|
|
|
|
* tertentu
|
|
|
|
|
@ -2664,12 +2688,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenJasaDokterUmumHD + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (terapisRehabMedik.contains(idPegawai)) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenJasaTerapis + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + 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"))))
|
|
|
|
|
@ -2679,10 +2703,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
|
|
|
|
false);
|
|
|
|
|
d.put("persenJasa", persenOperator + "%");
|
|
|
|
|
d.put("keterangan",
|
|
|
|
|
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
|
|
|
|
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
|
|
|
|
+ hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
|
|
|
|
|
+ d.get("persenSayatan").toString() + "%) " + keteranganTambahan + 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"))))
|
|
|
|
|
@ -2692,10 +2714,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
|
|
|
|
false);
|
|
|
|
|
d.put("persenJasa", persenAsistenIBS + "%");
|
|
|
|
|
d.put("keterangan",
|
|
|
|
|
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
|
|
|
|
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
|
|
|
|
+ hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
|
|
|
|
|
+ d.get("persenSayatan").toString() + "%) " + keteranganTambahan + 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"))))
|
|
|
|
|
@ -2705,88 +2725,86 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
|
|
|
|
false);
|
|
|
|
|
d.put("persenJasa", persenAnestesi + "%");
|
|
|
|
|
d.put("keterangan",
|
|
|
|
|
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
|
|
|
|
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
|
|
|
|
+ hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
|
|
|
|
|
+ d.get("persenSayatan").toString() + "%) " + keteranganTambahan + 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"))))
|
|
|
|
|
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenOperator + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + 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"))))
|
|
|
|
|
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenAsistenIBS + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + 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"))))
|
|
|
|
|
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenAnestesi + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenRadiologi + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenRehabMedik + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenKonsultasi + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenVisite + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenTindakan + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenAnestesi + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (drKkGenetika.contains(idPegawai)
|
|
|
|
|
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
|
|
|
|
|
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenJasaLabGenetika + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenJasaLabGenetika + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenJasaDokterPA + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenLaboratorium + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenTindakan + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -2914,8 +2932,22 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
String keteranganTambahan = "";
|
|
|
|
|
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) {
|
|
|
|
|
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
|
|
|
|
|
keteranganTambahan = " dan selisih paket karena diskon "
|
|
|
|
|
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString()));
|
|
|
|
|
if ("".equals(d.get("keterangan").toString())) {
|
|
|
|
|
keteranganTambahan = " Diskon selisih paket ("
|
|
|
|
|
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())) + ")";
|
|
|
|
|
} else {
|
|
|
|
|
keteranganTambahan = " + diskon selisih paket ("
|
|
|
|
|
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())) + ")";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (Double.parseDouble(d.get("persenDiskonPegawai").toString()) > 0.0) {
|
|
|
|
|
if ("".equals(d.get("keterangan").toString())) {
|
|
|
|
|
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
|
|
|
|
|
keteranganTambahan = " Diskon pegawai (" + d.get("persenDiskonPegawai").toString() + "%)";
|
|
|
|
|
} else {
|
|
|
|
|
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
|
|
|
|
|
keteranganTambahan = " + diskon pegawai (" + d.get("persenDiskonPegawai").toString() + "%)";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
|
|
|
|
|
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
|
|
|
|
|
@ -2925,7 +2957,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
* dari tarif total
|
|
|
|
|
*/
|
|
|
|
|
d.put("persenJasa", persenBPJS + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
/*
|
|
|
|
|
* Set harga jasa klaim jasa ffs pasien bpjs oleh dokter-dokter
|
|
|
|
|
* tertentu
|
|
|
|
|
@ -2934,18 +2966,18 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenJasaDokterUmumHD + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (terapisRehabMedik.contains(idPegawai) && REHAB_MEDIK.equals(d.get("idDepartemen"))
|
|
|
|
|
&& "Eksekutif".equals(d.get("jenisRuangan"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLuarTerapis / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenJasaLuarTerapis + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (terapisRehabMedik.contains(idPegawai)) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenJasaTerapis + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + 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"))))
|
|
|
|
|
@ -2955,10 +2987,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
|
|
|
|
false);
|
|
|
|
|
d.put("persenJasa", persenOperator + "%");
|
|
|
|
|
d.put("keterangan",
|
|
|
|
|
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
|
|
|
|
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
|
|
|
|
+ hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
|
|
|
|
|
+ d.get("persenSayatan").toString() + "%) " + keteranganTambahan + 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"))))
|
|
|
|
|
@ -2968,10 +2998,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
|
|
|
|
false);
|
|
|
|
|
d.put("persenJasa", persenAsistenIBS + "%");
|
|
|
|
|
d.put("keterangan",
|
|
|
|
|
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
|
|
|
|
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
|
|
|
|
+ hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
|
|
|
|
|
+ d.get("persenSayatan").toString() + "%) " + keteranganTambahan + 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"))))
|
|
|
|
|
@ -2981,88 +3009,86 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
|
|
|
|
false);
|
|
|
|
|
d.put("persenJasa", persenAnestesi + "%");
|
|
|
|
|
d.put("keterangan",
|
|
|
|
|
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
|
|
|
|
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
|
|
|
|
+ hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
|
|
|
|
|
+ d.get("persenSayatan").toString() + "%) " + keteranganTambahan + 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"))))
|
|
|
|
|
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenOperator + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + 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"))))
|
|
|
|
|
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenAsistenIBS + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + 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"))))
|
|
|
|
|
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenAnestesi + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenRadiologi + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenRehabMedik + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenKonsultasi + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenVisite + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenTindakan + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenAnestesi + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (drKkGenetika.contains(idPegawai)
|
|
|
|
|
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
|
|
|
|
|
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenJasaLabGenetika + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenJasaLabGenetika + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenJasaDokterPA + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenLaboratorium + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenTindakan + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -3284,8 +3310,22 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
String keteranganTambahan = "";
|
|
|
|
|
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) {
|
|
|
|
|
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
|
|
|
|
|
keteranganTambahan = " dan selisih paket karena diskon "
|
|
|
|
|
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString()));
|
|
|
|
|
if ("".equals(d.get("keterangan").toString())) {
|
|
|
|
|
keteranganTambahan = " Diskon selisih paket ("
|
|
|
|
|
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())) + ")";
|
|
|
|
|
} else {
|
|
|
|
|
keteranganTambahan = " + diskon selisih paket ("
|
|
|
|
|
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())) + ")";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (Double.parseDouble(d.get("persenDiskonPegawai").toString()) > 0.0) {
|
|
|
|
|
if ("".equals(d.get("keterangan").toString())) {
|
|
|
|
|
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
|
|
|
|
|
keteranganTambahan = " Diskon pegawai (" + d.get("persenDiskonPegawai").toString() + "%)";
|
|
|
|
|
} else {
|
|
|
|
|
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
|
|
|
|
|
keteranganTambahan = " + diskon pegawai (" + d.get("persenDiskonPegawai").toString() + "%)";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
|
|
|
|
|
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
|
|
|
|
|
@ -3295,7 +3335,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
* dari tarif total
|
|
|
|
|
*/
|
|
|
|
|
d.put("persenJasa", persenBPJS + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
/*
|
|
|
|
|
* Set harga jasa klaim jasa ffs pasien bpjs oleh dokter-dokter
|
|
|
|
|
* tertentu
|
|
|
|
|
@ -3304,7 +3344,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenJasaDokterUmumHD + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + 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"))))
|
|
|
|
|
@ -3314,10 +3354,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
|
|
|
|
false);
|
|
|
|
|
d.put("persenJasa", persenOperatorIBS + "%");
|
|
|
|
|
d.put("keterangan",
|
|
|
|
|
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
|
|
|
|
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
|
|
|
|
+ hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
|
|
|
|
|
+ d.get("persenSayatan").toString() + "%) " + keteranganTambahan + 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"))))
|
|
|
|
|
@ -3327,10 +3365,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
|
|
|
|
false);
|
|
|
|
|
d.put("persenJasa", persenAsistenIBS + "%");
|
|
|
|
|
d.put("keterangan",
|
|
|
|
|
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
|
|
|
|
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
|
|
|
|
+ hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
|
|
|
|
|
+ d.get("persenSayatan").toString() + "%) " + keteranganTambahan + 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"))))
|
|
|
|
|
@ -3340,94 +3376,92 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
|
|
|
|
false);
|
|
|
|
|
d.put("persenJasa", persenAnestesi + "%");
|
|
|
|
|
d.put("keterangan",
|
|
|
|
|
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
|
|
|
|
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
|
|
|
|
+ hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
|
|
|
|
|
+ d.get("persenSayatan").toString() + "%) " + keteranganTambahan + 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"))))
|
|
|
|
|
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenOperatorIBS / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenOperatorIBS + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + 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"))))
|
|
|
|
|
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenAsistenIBS + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + 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"))))
|
|
|
|
|
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenAnestesi + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenRadiologi + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (terapisRehabMedik.contains(idPegawai) && REHAB_MEDIK.equals(d.get("idDepartemen"))
|
|
|
|
|
&& "Eksekutif".equals(d.get("jenisRuangan"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenJasaTerapis + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenRehabMedik + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenKonsultasi + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenVisite + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenTindakan + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenAnestesi + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (drKkGenetika.contains(idPegawai)
|
|
|
|
|
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
|
|
|
|
|
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenJasaLabGenetika + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenJasaLabGenetika + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenJasaDokterPA + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenLaboratorium + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
} else {
|
|
|
|
|
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
|
|
|
|
|
d.put("persenJasa", persenTindakan + "%");
|
|
|
|
|
d.put("keterangan", hargaJasa.getKeterangan());
|
|
|
|
|
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
|
|
|
|
|
d.put("hargaJasa", hargaJasa.getNilai());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -4367,9 +4401,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
if (KLINIK_KARYAWAN.equals(d.get("idRuangan")) || KLINIK_GIGI_KARYAWAN.equals(d.get("idRuangan"))) {
|
|
|
|
|
builder.nilai(0.0);
|
|
|
|
|
if (isFrontNote) {
|
|
|
|
|
builder.keterangan("Dari diskon klinik karyawan/klinik gigi karyawan");
|
|
|
|
|
builder.keterangan("Diskon klinik karyawan/klinik gigi karyawan (100%)");
|
|
|
|
|
} else {
|
|
|
|
|
builder.keterangan(" dan dari diskon klinik karyawan/klinik gigi karyawan");
|
|
|
|
|
builder.keterangan(" + diskon klinik karyawan/klinik gigi karyawan (100%)");
|
|
|
|
|
}
|
|
|
|
|
return builder.build();
|
|
|
|
|
}
|
|
|
|
|
@ -4412,7 +4446,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100);
|
|
|
|
|
double hargaJualSetelahDiskon = hargaJual - totalDiskon;
|
|
|
|
|
double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon;
|
|
|
|
|
if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonD"))
|
|
|
|
|
if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonPegawai"))) {
|
|
|
|
|
builder.nilai(persenRemunerasi * hargaJual);
|
|
|
|
|
builder.keterangan("");
|
|
|
|
|
} else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonD"))
|
|
|
|
|
&& Double.parseDouble(d.get("persenDiskonD").toString()) > 0.0
|
|
|
|
|
&& CommonUtil.isNotNullOrEmpty(d.get("diskonD"))
|
|
|
|
|
&& Double.parseDouble(d.get("diskonD").toString()) >= 0.0
|
|
|
|
|
@ -4443,19 +4480,15 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
double hargaJasaRemun = hargaJasaOperator + hargaJasaAsisten + hargaJasaAnestesi;
|
|
|
|
|
builder.nilai(hargaJasaRemun);
|
|
|
|
|
if (isFrontNote) {
|
|
|
|
|
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
|
|
|
|
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator
|
|
|
|
|
+ "% ditambah pengalian " + persenRemunAsisten + "% ditambah pengalian " + persenRemunAnestesi
|
|
|
|
|
+ "% karena diskon komponen operator, asisten, dan anestesi berturut-turut "
|
|
|
|
|
+ d.get("persenDiskonD").toString() + "%, " + d.get("persenDiskonAs").toString() + "%, dan "
|
|
|
|
|
+ d.get("persenDiskonAn").toString() + "%");
|
|
|
|
|
builder.keterangan("Total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa operator ("
|
|
|
|
|
+ d.get("persenDiskonD").toString() + "%) + diskon jasa asisten ("
|
|
|
|
|
+ d.get("persenDiskonAs").toString() + "%) + diskon jasa anestesi ("
|
|
|
|
|
+ d.get("persenDiskonAn").toString() + "%)");
|
|
|
|
|
} else {
|
|
|
|
|
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
|
|
|
|
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator
|
|
|
|
|
+ "% ditambah pengalian " + persenRemunAsisten + "% ditambah pengalian " + persenRemunAnestesi
|
|
|
|
|
+ "% karena diskon komponen operator, asisten, dan anestesi berturut-turut "
|
|
|
|
|
+ d.get("persenDiskonD").toString() + "%, " + d.get("persenDiskonAs").toString() + "%, dan "
|
|
|
|
|
+ d.get("persenDiskonAn").toString() + "%");
|
|
|
|
|
builder.keterangan(" + total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa operator ("
|
|
|
|
|
+ d.get("persenDiskonD").toString() + "%) + diskon jasa asisten ("
|
|
|
|
|
+ d.get("persenDiskonAs").toString() + "%) + diskon jasa anestesi ("
|
|
|
|
|
+ d.get("persenDiskonAn").toString() + "%)");
|
|
|
|
|
}
|
|
|
|
|
} else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonD"))
|
|
|
|
|
&& Double.parseDouble(d.get("persenDiskonD").toString()) > 0.0
|
|
|
|
|
@ -4483,17 +4516,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
double hargaJasaRemun = hargaJasaOperator + hargaJasaAsisten;
|
|
|
|
|
builder.nilai(hargaJasaRemun);
|
|
|
|
|
if (isFrontNote) {
|
|
|
|
|
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
|
|
|
|
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator
|
|
|
|
|
+ "% ditambah pengalian " + persenRemunAsisten
|
|
|
|
|
+ "% karena diskon komponen operator dan asisten berturut-turut "
|
|
|
|
|
+ d.get("persenDiskonD").toString() + "% dan " + d.get("persenDiskonAs").toString() + "%");
|
|
|
|
|
builder.keterangan("Total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa operator ("
|
|
|
|
|
+ d.get("persenDiskonD").toString() + "%) + diskon jasa asisten ("
|
|
|
|
|
+ d.get("persenDiskonAs").toString() + "%)");
|
|
|
|
|
} else {
|
|
|
|
|
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
|
|
|
|
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator
|
|
|
|
|
+ "% ditambah pengalian " + persenRemunAsisten
|
|
|
|
|
+ "% karena diskon komponen operator dan asisten berturut-turut "
|
|
|
|
|
+ d.get("persenDiskonD").toString() + "% dan " + d.get("persenDiskonAs").toString() + "%");
|
|
|
|
|
builder.keterangan(" + total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa operator ("
|
|
|
|
|
+ d.get("persenDiskonD").toString() + "%) + diskon jasa asisten ("
|
|
|
|
|
+ d.get("persenDiskonAs").toString() + "%)");
|
|
|
|
|
}
|
|
|
|
|
} else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonD"))
|
|
|
|
|
&& Double.parseDouble(d.get("persenDiskonD").toString()) > 0.0
|
|
|
|
|
@ -4521,17 +4550,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
double hargaJasaRemun = hargaJasaOperator + hargaJasaAnestesi;
|
|
|
|
|
builder.nilai(hargaJasaRemun);
|
|
|
|
|
if (isFrontNote) {
|
|
|
|
|
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
|
|
|
|
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator
|
|
|
|
|
+ "% ditambah pengalian " + persenRemunAnestesi
|
|
|
|
|
+ "% karena diskon komponen operator dan anestesi berturut-turut "
|
|
|
|
|
+ d.get("persenDiskonD").toString() + "% dan " + d.get("persenDiskonAn").toString() + "%");
|
|
|
|
|
builder.keterangan("Total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa operator ("
|
|
|
|
|
+ d.get("persenDiskonD").toString() + "%) + diskon jasa anestesi ("
|
|
|
|
|
+ d.get("persenDiskonAn").toString() + "%)");
|
|
|
|
|
} else {
|
|
|
|
|
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
|
|
|
|
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator
|
|
|
|
|
+ "% ditambah pengalian " + persenRemunAnestesi
|
|
|
|
|
+ "% karena diskon komponen operator dan anestesi berturut-turut "
|
|
|
|
|
+ d.get("persenDiskonD").toString() + "% dan " + d.get("persenDiskonAn").toString() + "%");
|
|
|
|
|
builder.keterangan(" + total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa operator ("
|
|
|
|
|
+ d.get("persenDiskonD").toString() + "%) + diskon jasa anestesi ("
|
|
|
|
|
+ d.get("persenDiskonAn").toString() + "%)");
|
|
|
|
|
}
|
|
|
|
|
} else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonAs"))
|
|
|
|
|
&& Double.parseDouble(d.get("persenDiskonAs").toString()) > 0.0
|
|
|
|
|
@ -4559,17 +4584,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
double hargaJasaRemun = hargaJasaAsisten + hargaJasaAnestesi;
|
|
|
|
|
builder.nilai(hargaJasaRemun);
|
|
|
|
|
if (isFrontNote) {
|
|
|
|
|
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
|
|
|
|
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAsisten
|
|
|
|
|
+ "% ditambah pengalian " + persenRemunAnestesi
|
|
|
|
|
+ "% karena diskon komponen asisten dan anestesi berturut-turut "
|
|
|
|
|
+ d.get("persenDiskonAs").toString() + "% dan " + d.get("persenDiskonAn").toString() + "%");
|
|
|
|
|
builder.keterangan("Total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa asisten ("
|
|
|
|
|
+ d.get("persenDiskonAs").toString() + "%) + diskon jasa anestesi ("
|
|
|
|
|
+ d.get("persenDiskonAn").toString() + "%)");
|
|
|
|
|
} else {
|
|
|
|
|
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
|
|
|
|
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAsisten
|
|
|
|
|
+ "% ditambah pengalian " + persenRemunAnestesi
|
|
|
|
|
+ "% karena diskon komponen asisten dan anestesi berturut-turut "
|
|
|
|
|
+ d.get("persenDiskonAs").toString() + "% dan " + d.get("persenDiskonAn").toString() + "%");
|
|
|
|
|
builder.keterangan(" + total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa asisten ("
|
|
|
|
|
+ d.get("persenDiskonAs").toString() + "%) + diskon jasa anestesi ("
|
|
|
|
|
+ d.get("persenDiskonAn").toString() + "%)");
|
|
|
|
|
}
|
|
|
|
|
} else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonD"))
|
|
|
|
|
&& Double.parseDouble(d.get("persenDiskonD").toString()) > 0.0
|
|
|
|
|
@ -4590,13 +4611,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
? Double.parseDouble(d.get("persenDiskonD").toString()) : 0.0);
|
|
|
|
|
builder.nilai(persenRemunOperator * hargaJasa / 100);
|
|
|
|
|
if (isFrontNote) {
|
|
|
|
|
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
|
|
|
|
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator
|
|
|
|
|
+ "% karena diskon komponen operator " + d.get("persenDiskonD").toString() + "%");
|
|
|
|
|
builder.keterangan("Total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa operator ("
|
|
|
|
|
+ d.get("persenDiskonD").toString() + "%)");
|
|
|
|
|
} else {
|
|
|
|
|
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
|
|
|
|
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator
|
|
|
|
|
+ "% karena diskon komponen operator " + d.get("persenDiskonD").toString() + "%");
|
|
|
|
|
builder.keterangan(" + total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa operator ("
|
|
|
|
|
+ d.get("persenDiskonD").toString() + "%)");
|
|
|
|
|
}
|
|
|
|
|
} else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonAs"))
|
|
|
|
|
&& Double.parseDouble(d.get("persenDiskonAs").toString()) > 0.0
|
|
|
|
|
@ -4617,13 +4636,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
? Double.parseDouble(d.get("persenDiskonAs").toString()) : 0.0);
|
|
|
|
|
builder.nilai(persenRemunAsisten * hargaJasa / 100);
|
|
|
|
|
if (isFrontNote) {
|
|
|
|
|
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
|
|
|
|
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAsisten
|
|
|
|
|
+ "% karena diskon komponen asisten " + d.get("persenDiskonAs").toString() + "%");
|
|
|
|
|
builder.keterangan("Total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa asisten ("
|
|
|
|
|
+ d.get("persenDiskonAs").toString() + "%)");
|
|
|
|
|
} else {
|
|
|
|
|
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
|
|
|
|
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAsisten
|
|
|
|
|
+ "% karena diskon komponen asisten " + d.get("persenDiskonAs").toString() + "%");
|
|
|
|
|
builder.keterangan(" + total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa asisten ("
|
|
|
|
|
+ d.get("persenDiskonAs").toString() + "%)");
|
|
|
|
|
}
|
|
|
|
|
} else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonAn"))
|
|
|
|
|
&& Double.parseDouble(d.get("persenDiskonAn").toString()) > 0.0
|
|
|
|
|
@ -4644,19 +4661,16 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|
|
|
|
? Double.parseDouble(d.get("persenDiskonAn").toString()) : 0.0);
|
|
|
|
|
builder.nilai(persenRemunAnestesi * hargaJasa / 100);
|
|
|
|
|
if (isFrontNote) {
|
|
|
|
|
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
|
|
|
|
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAnestesi
|
|
|
|
|
+ "% karena diskon komponen anestesi " + d.get("persenDiskonAn").toString() + "%");
|
|
|
|
|
builder.keterangan("Total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa anestesi ("
|
|
|
|
|
+ d.get("persenDiskonAn").toString() + "%)");
|
|
|
|
|
} else {
|
|
|
|
|
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
|
|
|
|
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAnestesi
|
|
|
|
|
+ "% karena diskon komponen anestesi " + d.get("persenDiskonAn").toString() + "%");
|
|
|
|
|
builder.keterangan(" + total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa anestesi ("
|
|
|
|
|
+ d.get("persenDiskonAn").toString() + "%)");
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
builder.nilai(persenRemunerasi * hargaJualSetelahDiskon);
|
|
|
|
|
if (totalDiskon > 0.0) {
|
|
|
|
|
builder.keterangan(
|
|
|
|
|
" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) + " terlebih dahulu");
|
|
|
|
|
builder.keterangan(" + total diskon jasa (" + nf.format(totalDiskon) + ")");
|
|
|
|
|
} else {
|
|
|
|
|
builder.keterangan("");
|
|
|
|
|
}
|
|
|
|
|
|