Update service pelayanan pasien

Penyesuaian hitungan dan tampilan logbook dokter karena persentase diskon pegawai
This commit is contained in:
Salman Manoe 2024-09-26 14:02:20 +07:00
parent 24e11b5391
commit 8f5c44aa15
4 changed files with 225 additions and 204 deletions

View File

@ -200,6 +200,7 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
+ "ppp.ObjectPegawaiId as idPegawai," + "pp.noRec as idPelayananPasien,coalesce(pp.jumlah,0) as jumlah,"
+ "coalesce(pp.hargaJual,0) as hargaJual,coalesce(pp.hargaDiscount,0) as hargaDiskon,"
+ "pp.voucherPaketId as idVoucherLayanan,coalesce(pp.isPaket,false) as isPaket,coalesce(pp.isSelisihPaket,false) as isSelisihPaket,"
+ "coalesce(pp.persenDiskonPegawai,0) as persenDiskonPegawai,"
+ "pp.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'yyyy-MM-dd') as tanggal,"
+ "pp.sayatanId as idSayatan,sy.urutan as urutanSayatan,"
+ "coalesce(sy.persen,0) as persenSayatan,coalesce(sy.nama,'') as keterangan,"
@ -255,10 +256,11 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
+ "when pp.kelasId = 21 then 7 " + "else 8 end," + "kls.namaKelas," + "ppp.noRec,"
+ "ppp.ObjectJenisPetugasPeId,ppp.ObjectPegawaiId,"
+ "pp.noRec,coalesce(pp.hargaJual,0),coalesce(pp.jumlah,0)," + "coalesce(pp.isPaket,false),"
+ "coalesce(pp.isSelisihPaket,false)," + "coalesce(pp.persenDiskonPegawai,0),"
+ "pp.tglPelayanan,to_char(pp.tglPelayanan,'yyyy-MM-dd')," + "pp.sayatanId,sy.urutan,"
+ "coalesce(sy.persen,0),coalesce(sy.nama,'')," + "apd.noRec,apd.pegawaiId," + "apd.ruanganId,"
+ "case when ru.kelompokRuangan = 'EKSEKUTIF' then 'Eksekutif' else 'Reguler' end,"
+ "ru.departemenId," + "pd.noRec ";
+ "case when ru.kelompokRuangan = 'EKSEKUTIF' then 'Eksekutif' else 'Reguler' end," + "ru.departemenId,"
+ "pd.noRec ";
String ORDER_LOGBOOK_DOKTER = "order by case when pd.kelompokPasienId = 2 then 1 "
+ "when pd.kelompokPasienId = 4 then 2 " + "when pd.kelompokPasienId = 8 then 3 "

View File

@ -771,7 +771,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"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d, false);
@ -1949,8 +1950,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)
@ -2149,8 +2150,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())
@ -2233,18 +2234,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"))) {
RemunHargaJasa 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)) {
RemunHargaJasa 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"))))
@ -2254,8 +2269,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
double persenJasa = persenOperator / 100;
RemunHargaJasa 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"))))
@ -2265,8 +2280,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
double persenJasa = persenAsistenIBS / 100;
RemunHargaJasa 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"))))
@ -2276,8 +2291,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
double persenJasa = persenAnestesi / 100;
RemunHargaJasa 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"))))
@ -2287,10 +2302,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"))))
@ -2300,10 +2313,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"))))
@ -2313,96 +2324,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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
RemunHargaJasa 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()))) {
RemunHargaJasa 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)) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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;
RemunHargaJasa 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 {
RemunHargaJasa 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());
}
}
@ -2621,9 +2630,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()))) {
RemunHargaJasa hargaJasa = hargaJasa(persenBPJS / 100, hargaJual, d, true);
@ -2632,7 +2656,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
@ -2641,12 +2665,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasa 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)) {
RemunHargaJasa 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"))))
@ -2656,10 +2680,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"))))
@ -2669,10 +2691,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"))))
@ -2682,88 +2702,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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
RemunHargaJasa 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()))) {
RemunHargaJasa 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)) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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 {
RemunHargaJasa 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());
}
}
@ -2890,8 +2908,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()))) {
@ -2901,7 +2933,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
@ -2910,18 +2942,18 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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)) {
RemunHargaJasa 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"))))
@ -2931,10 +2963,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"))))
@ -2944,10 +2974,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"))))
@ -2957,88 +2985,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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
RemunHargaJasa 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()))) {
RemunHargaJasa 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)) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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 {
RemunHargaJasa 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());
}
}
@ -3259,8 +3285,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()))) {
@ -3270,7 +3310,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
@ -3279,7 +3319,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasa 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"))))
@ -3289,10 +3329,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"))))
@ -3302,10 +3340,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"))))
@ -3315,94 +3351,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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
RemunHargaJasa 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()))) {
RemunHargaJasa 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)) {
RemunHargaJasa 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"))) {
RemunHargaJasa 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 {
RemunHargaJasa 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());
}
}
@ -4329,9 +4363,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();
}
@ -4374,7 +4408,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
@ -4405,19 +4442,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
@ -4445,17 +4478,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
@ -4483,17 +4512,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
@ -4521,17 +4546,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
@ -4552,13 +4573,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
@ -4579,13 +4598,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
@ -4606,19 +4623,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("");
}

View File

@ -290,4 +290,7 @@ public class PelayananPasien extends MedicalRecordTransaction {
@Column(name = "aturanpakaisignafk", columnDefinition = "CHAR(32)", insertable = false, updatable = false)
private String aturanPakaiSignaId;
@Column(name = "persendiskonpegawai")
private Double persenDiskonPegawai;
}

View File

@ -162,4 +162,6 @@ public class PelayananPasienVO extends MedicalRecordTransactionVO {
private AturanPakaiSignaVO aturanPakaiSigna;
private String aturanPakaiSignaId;
private Double persenDiskonPegawai;
}