Merge branch 'dev/base' into dev/pegawai/monitoring-jatah-cuti

This commit is contained in:
Salman Manoe 2025-02-05 14:17:44 +07:00
commit 653731c7c9
4 changed files with 165 additions and 232 deletions

View File

@ -201,7 +201,8 @@ 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.0) as persenDiskonPegawai,"
+ "coalesce(pp.persenDiskonPegawai,0.0) as persenDiskonPegawai," + "coalesce(pp.isCito,false) as isCito,"
+ "coalesce(pp.persenCito,0.0) as persenCito,"
+ "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,"

View File

@ -403,10 +403,10 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
d.put("isTermasukProporsi", true);
double hargaJual = Double.parseDouble(d.get("hargaJual").toString());
if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
} else if (terapisRehabMedik.contains(idPegawai)) {
RemunHargaJasa hargaJasa = hargaJasa(persenRemunTerapis / 100, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenRemunTerapis / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
@ -416,7 +416,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenOperator / 100;
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -424,7 +424,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAsistenIBS / 100;
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -432,72 +432,69 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAnestesi / 100;
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d);
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"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100,
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false);
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d);
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"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100,
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false);
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d);
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"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100,
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false);
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d);
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, false);
RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d);
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, false);
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d);
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, false);
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
@ -505,32 +502,32 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/*
* A rule for claimed <= Jul 31th 2023
*/
RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterPA / 100, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterPA / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
d.put("isTermasukProporsi", false);
} else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
double persenJasa = persenTindakan / 100;
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
} else {
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
}
}
@ -2034,12 +2031,12 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
for (Map<String, Object> d : listData) {
double hargaJual = Double.parseDouble(d.get("hargaJual").toString());
if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d);
d.put("persenJasa", persenRemunDokterUmumHD + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (terapisRehabMedik.contains(idPegawai)) {
RemunHargaJasa hargaJasa = hargaJasa(persenRemunTerapis / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenRemunTerapis / 100, hargaJual, d);
d.put("persenJasa", persenRemunTerapis + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
@ -2049,7 +2046,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenOperator / 100;
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d);
d.put("persenJasa", persenOperator + "%");
d.put("keterangan", "Tarif Jasa Bedah (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
@ -2059,7 +2056,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAsistenIBS / 100;
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d);
d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", "Tarif Jasa Bedah (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
@ -2069,7 +2066,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAnestesi / 100;
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d);
d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", "Tarif Jasa Bedah (" + persenTarifJasaBedah + "%)" + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
@ -2078,131 +2075,110 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100,
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false);
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d);
d.put("persenJasa", persenOperator + "%");
if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan"))
&& Integer.parseInt(d.get("urutanSayatan").toString()) != 1) {
d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " ("
+ Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan());
} else {
d.put("keterangan", hargaJasa.getKeterangan());
}
d.put("keterangan", 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"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100,
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false);
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d);
d.put("persenJasa", persenAsistenIBS + "%");
if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan"))
&& Integer.parseInt(d.get("urutanSayatan").toString()) != 1) {
d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " ("
+ Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan());
} else {
d.put("keterangan", hargaJasa.getKeterangan());
}
d.put("keterangan", 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"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100,
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false);
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d);
d.put("persenJasa", persenAnestesi + "%");
if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan"))
&& Integer.parseInt(d.get("urutanSayatan").toString()) != 1) {
d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " ("
+ Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan());
} else {
d.put("keterangan", hargaJasa.getKeterangan());
}
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d);
d.put("persenJasa", persenOperator + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d);
d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d);
d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d);
d.put("persenJasa", persenRadiologi + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d);
d.put("persenJasa", persenRehabMedik + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d);
d.put("persenJasa", persenKonsultasi + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d);
d.put("persenJasa", persenVisite + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d);
d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d);
d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d);
d.put("persenJasa", persenRemunLabGenetika + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d);
d.put("persenJasa", persenRemunLabGenetika + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterPA / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterPA / 100, hargaJual, d);
d.put("persenJasa", persenRemunDokterPA + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d);
d.put("persenJasa", persenLaboratorium + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d);
d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", "Tarif Jasa ICU (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else {
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d);
d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
@ -2423,7 +2399,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
double hargaJual = Double.parseDouble(d.get("hargaJual").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);
RemunHargaJasa hargaJasa = hargaJasa(persenBPJS / 100, hargaJual, d);
/*
* Set persen jasa dokter luar yang klaim ffs dengan persen jasa
* dari tarif total
@ -2436,7 +2412,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
*/
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d);
d.put("persenJasa", persenJasaDokterUmumHD + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
@ -2445,10 +2421,10 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
.atZone(ZoneId.systemDefault()).toLocalDateTime();
RemunHargaJasa hargaJasa;
if (tglJamPelayanan.isBefore(tmtJasaTerapis24)) {
hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true);
hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d);
d.put("persenJasa", persenJasaTerapis + "%");
} else {
hargaJasa = hargaJasa(persenJasaTerapis24 / 100, hargaJual, d, true);
hargaJasa = hargaJasa(persenJasaTerapis24 / 100, hargaJual, d);
d.put("persenJasa", persenJasaTerapis24 + "%");
}
d.put("keterangan", hargaJasa.getKeterangan());
@ -2458,124 +2434,103 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100,
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false);
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d);
d.put("persenJasa", persenOperator + "%");
if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan"))
&& Integer.parseInt(d.get("urutanSayatan").toString()) != 1) {
d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " ("
+ Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan());
} else {
d.put("keterangan", hargaJasa.getKeterangan());
}
d.put("keterangan", 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"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100,
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false);
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d);
d.put("persenJasa", persenAsistenIBS + "%");
if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan"))
&& Integer.parseInt(d.get("urutanSayatan").toString()) != 1) {
d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " ("
+ Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan());
} else {
d.put("keterangan", hargaJasa.getKeterangan());
}
d.put("keterangan", 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"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100,
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false);
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d);
d.put("persenJasa", persenAnestesi + "%");
if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan"))
&& Integer.parseInt(d.get("urutanSayatan").toString()) != 1) {
d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " ("
+ Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan());
} else {
d.put("keterangan", hargaJasa.getKeterangan());
}
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d);
d.put("persenJasa", persenOperator + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d);
d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d);
d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d);
d.put("persenJasa", persenRadiologi + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d);
d.put("persenJasa", persenRehabMedik + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d);
d.put("persenJasa", persenKonsultasi + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d);
d.put("persenJasa", persenVisite + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d);
d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d);
d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d);
d.put("persenJasa", persenJasaLabGenetika + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d);
d.put("persenJasa", persenJasaLabGenetika + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d);
d.put("persenJasa", persenJasaDokterPA + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d);
d.put("persenJasa", persenLaboratorium + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else {
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d);
d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
@ -2803,7 +2758,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
double hargaJual = Double.parseDouble(d.get("hargaJual").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);
RemunHargaJasa hargaJasa = hargaJasa(persenBPJS / 100, hargaJual, d);
/*
* Set persen jasa dokter luar yang klaim ffs dengan persen jasa
* dari tarif total
@ -2816,13 +2771,13 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
*/
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d);
d.put("persenJasa", persenJasaDokterUmumHD + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenJasaLuarTerapis / 100, hargaJual, d);
d.put("persenJasa", persenJasaLuarTerapis + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
@ -2831,10 +2786,10 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
.atZone(ZoneId.systemDefault()).toLocalDateTime();
RemunHargaJasa hargaJasa;
if (tglJamPelayanan.isBefore(tmtJasaTerapis24)) {
hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true);
hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d);
d.put("persenJasa", persenJasaTerapis + "%");
} else {
hargaJasa = hargaJasa(persenJasaTerapis24 / 100, hargaJual, d, true);
hargaJasa = hargaJasa(persenJasaTerapis24 / 100, hargaJual, d);
d.put("persenJasa", persenJasaTerapis24 + "%");
}
d.put("keterangan", hargaJasa.getKeterangan());
@ -2844,124 +2799,103 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100,
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false);
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d);
d.put("persenJasa", persenOperator + "%");
if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan"))
&& Integer.parseInt(d.get("urutanSayatan").toString()) != 1) {
d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " ("
+ Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan());
} else {
d.put("keterangan", hargaJasa.getKeterangan());
}
d.put("keterangan", 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"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100,
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false);
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d);
d.put("persenJasa", persenAsistenIBS + "%");
if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan"))
&& Integer.parseInt(d.get("urutanSayatan").toString()) != 1) {
d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " ("
+ Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan());
} else {
d.put("keterangan", hargaJasa.getKeterangan());
}
d.put("keterangan", 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"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100,
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false);
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d);
d.put("persenJasa", persenAnestesi + "%");
if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan"))
&& Integer.parseInt(d.get("urutanSayatan").toString()) != 1) {
d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " ("
+ Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan());
} else {
d.put("keterangan", hargaJasa.getKeterangan());
}
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d);
d.put("persenJasa", persenOperator + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d);
d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d);
d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d);
d.put("persenJasa", persenRadiologi + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d);
d.put("persenJasa", persenRehabMedik + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d);
d.put("persenJasa", persenKonsultasi + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d);
d.put("persenJasa", persenVisite + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d);
d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d);
d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d);
d.put("persenJasa", persenJasaLabGenetika + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d);
d.put("persenJasa", persenJasaLabGenetika + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d);
d.put("persenJasa", persenJasaDokterPA + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d);
d.put("persenJasa", persenLaboratorium + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else {
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d);
d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
@ -3085,7 +3019,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
double hargaJual = Double.parseDouble(d.get("hargaJual").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);
RemunHargaJasa hargaJasa = hargaJasa(persenBPJS / 100, hargaJual, d);
/*
* Set persen jasa dokter luar yang klaim ffs dengan persen jasa
* dari tarif total
@ -3098,7 +3032,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
*/
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d);
d.put("persenJasa", persenJasaDokterUmumHD + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
@ -3107,72 +3041,51 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenOperatorIBS / 100,
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false);
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d);
d.put("persenJasa", persenOperatorIBS + "%");
if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan"))
&& Integer.parseInt(d.get("urutanSayatan").toString()) != 1) {
d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " ("
+ Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan());
} else {
d.put("keterangan", hargaJasa.getKeterangan());
}
d.put("keterangan", 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"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100,
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false);
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d);
d.put("persenJasa", persenAsistenIBS + "%");
if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan"))
&& Integer.parseInt(d.get("urutanSayatan").toString()) != 1) {
d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " ("
+ Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan());
} else {
d.put("keterangan", hargaJasa.getKeterangan());
}
d.put("keterangan", 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"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100,
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false);
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d);
d.put("persenJasa", persenAnestesi + "%");
if (CommonUtil.isNotNullOrEmpty(d.get("urutanSayatan"))
&& Integer.parseInt(d.get("urutanSayatan").toString()) != 1) {
d.put("keterangan", "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " ("
+ Double.parseDouble(d.get("persenSayatan").toString()) + "%)" + hargaJasa.getKeterangan());
} else {
d.put("keterangan", hargaJasa.getKeterangan());
}
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenOperatorIBS / 100, hargaJual, d);
d.put("persenJasa", persenOperatorIBS + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d);
d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d);
d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d);
d.put("persenJasa", persenRadiologi + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
@ -3182,63 +3095,63 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
.atZone(ZoneId.systemDefault()).toLocalDateTime();
RemunHargaJasa hargaJasa;
if (tglJamPelayanan.isBefore(tmtJasaTerapis24)) {
hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true);
hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d);
d.put("persenJasa", persenJasaTerapis + "%");
} else {
hargaJasa = hargaJasa(persenJasaTerapis24 / 100, hargaJual, d, true);
hargaJasa = hargaJasa(persenJasaTerapis24 / 100, hargaJual, d);
d.put("persenJasa", persenJasaTerapis24 + "%");
}
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d);
d.put("persenJasa", persenRehabMedik + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d);
d.put("persenJasa", persenKonsultasi + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d);
d.put("persenJasa", persenVisite + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d);
d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d);
d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d);
d.put("persenJasa", persenJasaLabGenetika + "%");
d.put("keterangan", 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);
RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d);
d.put("persenJasa", persenJasaLabGenetika + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d);
d.put("persenJasa", persenJasaDokterPA + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d);
d.put("persenJasa", persenLaboratorium + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else {
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d);
d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
@ -3338,16 +3251,12 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
return result;
}
private RemunHargaJasa hargaJasa(double persenRemunerasi, double hargaJual, Map<String, Object> d,
boolean isFrontNote) {
private RemunHargaJasa hargaJasa(double persenRemunerasi, double hargaJual, Map<String, Object> d) {
String keterangan = "";
RemunHargaJasa.RemunHargaJasaBuilder builder = RemunHargaJasa.builder();
if (KLINIK_KARYAWAN.equals(d.get("idRuangan")) || KLINIK_GIGI_KARYAWAN.equals(d.get("idRuangan"))) {
builder.nilai(0.0);
if (isFrontNote) {
builder.keterangan("Diskon Klinik Karyawan (100%)");
} else {
builder.keterangan(" + Diskon Klinik Karyawan (100%)");
}
builder.keterangan("Diskon Klinik Karyawan (100%)");
return builder.build();
}
double hargaDiskon = Double.parseDouble(d.get("hargaDiskon").toString());
@ -3370,53 +3279,61 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
builder.nilai(
persenRemunerasi * hargaJual * (1 - persenDiskonPegawai / 100) * (1 - persenDiskonJasa / 100));
}
if (Boolean.parseBoolean(d.get("isCito").toString())) {
keterangan = keterangan + "Cito (+" + Double.parseDouble(d.get("persenCito").toString()) + "%)";
}
if (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")) && CommonUtil.isNotNullOrEmpty("urutanSayatan")
&& Integer.parseInt(d.get("urutanSayatan").toString()) != 1)
keterangan = keterangan + "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " ("
+ Double.parseDouble(d.get("persenSayatan").toString()) + "%)";
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) {
if (persenDiskonPegawai > 0.0 && persenDiskonJasa > 0.0) {
if (isFrontNote) {
if (keterangan.isEmpty()) {
builder.keterangan("Selisih Paket + Diskon Pegawai (" + persenDiskonPegawai
+ "%) + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)");
} else {
builder.keterangan(" + Selisih Paket + Diskon Pegawai (" + persenDiskonPegawai
builder.keterangan(keterangan + " + Selisih Paket + Diskon Pegawai (" + persenDiskonPegawai
+ "%) + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)");
}
} else if (persenDiskonPegawai > 0.0 && persenDiskonJasa <= 0.0) {
if (isFrontNote) {
if (keterangan.isEmpty()) {
builder.keterangan("Selisih Paket + Diskon Pegawai (" + persenDiskonPegawai + "%)");
} else {
builder.keterangan(" + Selisih Paket + Diskon Pegawai (" + persenDiskonPegawai + "%)");
builder.keterangan(keterangan + " + Selisih Paket + Diskon Pegawai (" + persenDiskonPegawai + "%)");
}
} else if (persenDiskonPegawai <= 0.0 && persenDiskonJasa > 0.0) {
if (isFrontNote) {
if (keterangan.isEmpty()) {
builder.keterangan("Selisih Paket + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)");
} else {
builder.keterangan(" + Selisih Paket + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)");
builder.keterangan(
keterangan + " + Selisih Paket + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)");
}
} else {
builder.keterangan("");
}
} else {
if (persenDiskonPegawai > 0.0 && persenDiskonJasa > 0.0) {
if (isFrontNote) {
if (keterangan.isEmpty()) {
builder.keterangan("Diskon Pegawai (" + persenDiskonPegawai + "%) + Diskon Jasa Medis Dokter ("
+ persenDiskonJasa + "%)");
} else {
builder.keterangan(" + Diskon Pegawai (" + persenDiskonPegawai + "%) + Diskon Jasa Medis Dokter ("
+ persenDiskonJasa + "%)");
builder.keterangan(keterangan + " + Diskon Pegawai (" + persenDiskonPegawai
+ "%) + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)");
}
} else if (persenDiskonPegawai > 0.0 && persenDiskonJasa <= 0.0) {
if (isFrontNote) {
if (keterangan.isEmpty()) {
builder.keterangan("Diskon Pegawai (" + persenDiskonPegawai + "%)");
} else {
builder.keterangan(" + Diskon Pegawai (" + persenDiskonPegawai + "%)");
builder.keterangan(keterangan + " + Diskon Pegawai (" + persenDiskonPegawai + "%)");
}
} else if (persenDiskonPegawai <= 0.0 && persenDiskonJasa > 0.0) {
if (isFrontNote) {
if (keterangan.isEmpty()) {
builder.keterangan("Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)");
} else {
builder.keterangan(" + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)");
builder.keterangan(keterangan + " + Diskon Jasa Medis Dokter (" + persenDiskonJasa + "%)");
}
} else {
builder.keterangan("");
builder.keterangan(keterangan);
}
}
return builder.build();
@ -3452,10 +3369,13 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
} else {
builder.nilai(hargaJasa * (1 - persenDiskonPegawai / 100) * (1 - persenDiskonJasa / 100));
}
if (Boolean.parseBoolean(d.get("isCito").toString())) {
keterangan = keterangan + "Cito (+" + Double.parseDouble(d.get("persenCito").toString()) + "%)";
}
if (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")) && CommonUtil.isNotNullOrEmpty("urutanSayatan")
&& Integer.parseInt(d.get("urutanSayatan").toString()) != 1)
keterangan = keterangan + "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " ("
+ Double.parseDouble(d.get("persenSayatan").toString() + "%");
+ Double.parseDouble(d.get("persenSayatan").toString()) + "%)";
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) {
if (persenDiskonPegawai > 0.0 && persenDiskonJasa > 0.0) {
if (keterangan.isEmpty()) {

View File

@ -294,4 +294,11 @@ public class PelayananPasien extends MedicalRecordTransaction {
@Column(name = "persendiskonpegawai")
@Caption(value = "Persentase Diskon Pegawai")
private Double persenDiskonPegawai;
@Column(name = "iscito")
private Boolean isCito;
@Column(name = "persencito")
private Double persenCito;
}

View File

@ -165,4 +165,9 @@ public class PelayananPasienVO extends MedicalRecordTransactionVO {
@Caption(value = "Persentase Diskon Pegawai")
private Double persenDiskonPegawai;
private Boolean isCito;
private Double persenCito;
}