Merge branch 'master' into salman-etl

This commit is contained in:
Salman Manoe 2023-11-23 09:37:55 +07:00
commit 8061a92bde
5 changed files with 151 additions and 154 deletions

View File

@ -196,9 +196,9 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
+ "when pp.kelasId = 3 then 4 " + "when pp.kelasId = 8 then 5 " + "when pp.kelasId = 5 then 6 "
+ "when pp.kelasId = 21 then 7 " + "else 8 end as sortIdKelas," + "kls.namaKelas as namaKelas,"
+ "ppp.noRec as idPelayananPasienPetugas," + "ppp.ObjectJenisPetugasPeId as idJenisPelaksana,"
+ "ppp.ObjectPegawaiId as idPegawai," + "pp.noRec as idPelayananPasien,"
+ "coalesce(pp.hargaJual,0) as hargaJual,coalesce(pp.jumlah,0) as jumlah,"
+ "pp.voucherPaketId as idVoucherLayanan,coalesce(pp.isPaket,false) as isPaket,"
+ "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,"
+ "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,"
@ -279,7 +279,7 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
+ "coalesce(pp.hargaJual,0) as hargaJual," + "coalesce(pp.hargaDiscount,0) as hargaDiskon,"
+ "coalesce(pp.jasa,0) as hargaJasa,"
+ "((coalesce(pp.hargaJual,0)-coalesce(pp.hargaDiscount,0))*coalesce(pp.jumlah,0)+coalesce(pp.jasa,0)) as totalHargaJual,"
+ "coalesce(pp.isPaket, false) as isPaket) " + "from PelayananPasien pp "
+ "coalesce(pp.isPaket, false) as isPaket,coalesce(pp.isSelisihPaket, false) as isSelisihPaket) " + "from PelayananPasien pp "
+ "inner join pp.pasienDaftar apd " + "inner join apd.pasienDaftar pd " + "inner join apd.ruangan ru "
+ "inner join pp.produk pr " + "inner join pp.kelas kls " + "where pd.noRegistrasi = :noRegistrasi")
List<Map<String, Object>> findPelayananPasienByTagihanPendaftaran(@Param("noRegistrasi") String noRegistrasi);

View File

@ -582,7 +582,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
/*
* Mapping set awal persentase jasa remunerasi dan harga jasa remunerasi
*/
for (Map<String, Object> d : listRatedPay)
for (Map<String, Object> d : listRatedPay) {
double hargaJual = Double.parseDouble(d.get("hargaJual").toString());
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString()))
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
if (DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("totalDiskon"))
&& Double.parseDouble(d.get("totalDiskon").toString()) > 0.0
&& CommonUtil.isNullOrEmpty(d.get("idSayatan"))) {
@ -596,85 +599,77 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
d.put("hargaJasa", 0.0);
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("hargaJasa", persenRemunDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenRemunDokterUmumHD / 100 * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenOperator / 100;
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasa * persenTarifIBS * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAsistenIBS / 100;
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasa * persenTarifIBS * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAnestesi / 100;
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasa * persenTarifIBS * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("hargaJasa",
persenOperator / 100
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
d.put("hargaJasa", persenOperator / 100
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("hargaJasa",
persenAsistenIBS / 100
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
d.put("hargaJasa", persenAsistenIBS / 100
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("hargaJasa",
persenAnestesi / 100
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
d.put("hargaJasa", persenAnestesi / 100
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("hargaJasa", persenOperator / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenOperator / 100 * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("hargaJasa", persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenAsistenIBS / 100 * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenRadiologi / 100 * hargaJual);
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
d.put("hargaJasa", persenRehabMedik / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenRehabMedik / 100 * hargaJual);
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenKonsultasi / 100 * hargaJual);
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenVisite / 100 * hargaJual);
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
d.put("hargaJasa", persenRemunLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenRemunLabGenetika / 100 * hargaJual);
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
d.put("hargaJasa", persenRemunLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenRemunLabGenetika / 100 * hargaJual);
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
d.put("hargaJasa", persenRemunDokterPA / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenRemunDokterPA / 100 * hargaJual);
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenLaboratorium / 100 * hargaJual);
} else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
double persenJasa = persenTindakan / 100;
d.put("hargaJasa", persenJasa * persenTarifICU * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasa * persenTarifICU * hargaJual);
} else {
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
}
}
/*
* Inisialisasi collect logbook klaim MPP
*/
@ -1777,6 +1772,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
System.out.println(e.getMessage());
return null;
}
Locale indonesia = new Locale("in", "ID");
NumberFormat nf = NumberFormat.getCurrencyInstance(indonesia);
Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan);
@SuppressWarnings("unchecked")
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("remun");
@ -1816,142 +1813,137 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* Mapping persentase jasa remunerasi
*/
for (Map<String, Object> d : listData) {
double hargaJual = Double.parseDouble(d.get("hargaJual").toString());
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 (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenRemunDokterUmumHD + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenRemunDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenRemunDokterUmumHD / 100 * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenOperator / 100;
d.put("persenJasa", persenOperator + "%");
d.put("keterangan", "Dari " + persenTarifJasaBedah + "% tarif");
d.put("keterangan", "Dari " + persenTarifJasaBedah + "% tarif" + keteranganTambahan);
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasa * persenTarifIBS * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAsistenIBS / 100;
d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", "Dari " + persenTarifJasaBedah + "% tarif");
d.put("keterangan", "Dari " + persenTarifJasaBedah + "% tarif" + keteranganTambahan);
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasa * persenTarifIBS * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAnestesi / 100;
d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", "Dari " + persenTarifJasaBedah + "% tarif");
d.put("keterangan", "Dari " + persenTarifJasaBedah + "% tarif" + keteranganTambahan);
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasa * persenTarifIBS * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenOperator + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
+ "% tarif, sayatan ke-" + d.get("urutanSayatan").toString());
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenOperator / 100
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
d.put("hargaJasa", persenOperator / 100
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
+ "% tarif, sayatan ke-" + d.get("urutanSayatan").toString());
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenAsistenIBS / 100
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
d.put("hargaJasa", persenAsistenIBS / 100
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
+ "% tarif, sayatan ke-" + d.get("urutanSayatan").toString());
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenAnestesi / 100
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
d.put("hargaJasa", persenAnestesi / 100
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenOperator + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenOperator / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenOperator / 100 * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAsistenIBS + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenAsistenIBS / 100 * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRadiologi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenRadiologi / 100 * hargaJual);
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRehabMedik + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRehabMedik / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenRehabMedik / 100 * hargaJual);
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
d.put("persenJasa", persenKonsultasi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenKonsultasi / 100 * hargaJual);
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
d.put("persenJasa", persenVisite + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenVisite / 100 * hargaJual);
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenTindakan + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
d.put("persenJasa", persenRemunLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenRemunLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenRemunLabGenetika / 100 * hargaJual);
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
d.put("persenJasa", persenRemunLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenRemunLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenRemunLabGenetika / 100 * hargaJual);
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
d.put("persenJasa", persenRemunDokterPA + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRemunDokterPA / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenRemunDokterPA / 100 * hargaJual);
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenLaboratorium + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenLaboratorium / 100 * hargaJual);
} else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
double persenJasa = persenTindakan / 100;
d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", "Dari " + persenTarifJasaICU + "% tarif");
d.put("keterangan", "Dari " + persenTarifJasaICU + "% tarif" + keteranganTambahan);
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasa * persenTarifICU * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasa * persenTarifICU * hargaJual);
} else {
d.put("persenJasa", persenTindakan + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
}
}
/*
@ -2125,6 +2117,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
System.out.println(e.getMessage());
return null;
}
Locale indonesia = new Locale("in", "ID");
NumberFormat nf = NumberFormat.getCurrencyInstance(indonesia);
Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan);
@SuppressWarnings("unchecked")
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("ffs");
@ -2156,6 +2150,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* Mapping persentase jasa remunerasi
*/
for (Map<String, Object> d : listData) {
double hargaJual = Double.parseDouble(d.get("hargaJual").toString());
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 (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
/*
@ -2168,107 +2169,97 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* tertentu
*/
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenBPJS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenBPJS / 100 * hargaJual);
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenJasaDokterUmumHD + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenJasaDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasaDokterUmumHD / 100 * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenOperator + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
+ "% tarif, sayatan ke-" + d.get("urutanSayatan").toString());
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenOperator / 100
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
d.put("hargaJasa", persenOperator / 100
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
+ "% tarif, sayatan ke-" + d.get("urutanSayatan").toString());
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenAsistenIBS / 100
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
d.put("hargaJasa", persenAsistenIBS / 100
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
+ "% tarif, sayatan ke-" + d.get("urutanSayatan").toString());
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenAnestesi / 100
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
d.put("hargaJasa", persenAnestesi / 100
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenOperator + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenOperator / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenOperator / 100 * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAsistenIBS + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenAsistenIBS / 100 * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRadiologi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenRadiologi / 100 * hargaJual);
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRehabMedik + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRehabMedik / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenRehabMedik / 100 * hargaJual);
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
d.put("persenJasa", persenKonsultasi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenKonsultasi / 100 * hargaJual);
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
d.put("persenJasa", persenVisite + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenVisite / 100 * hargaJual);
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenTindakan + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
d.put("persenJasa", persenJasaLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasaLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasaLabGenetika / 100 * hargaJual);
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
d.put("persenJasa", persenJasaLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasaLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasaLabGenetika / 100 * hargaJual);
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
d.put("persenJasa", persenJasaDokterPA + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasaDokterPA / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasaDokterPA / 100 * hargaJual);
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenLaboratorium + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenLaboratorium / 100 * hargaJual);
} else {
d.put("persenJasa", persenTindakan + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
}
}
/*
@ -2447,6 +2438,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
System.out.println(e.getMessage());
return null;
}
Locale indonesia = new Locale("in", "ID");
NumberFormat nf = NumberFormat.getCurrencyInstance(indonesia);
Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan);
@SuppressWarnings("unchecked")
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("klaim-mpp");
@ -2478,6 +2471,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* Mapping persentase jasa remunerasi
*/
for (Map<String, Object> d : listData) {
double hargaJual = Double.parseDouble(d.get("hargaJual").toString());
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 (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
/*
@ -2490,107 +2490,97 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* tertentu
*/
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenBPJS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenBPJS / 100 * hargaJual);
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenJasaDokterUmumHD + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenJasaDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasaDokterUmumHD / 100 * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenOperatorIBS + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
+ "% tarif, sayatan ke-" + d.get("urutanSayatan").toString());
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenOperatorIBS / 100
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
d.put("hargaJasa", persenOperatorIBS / 100
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
+ "% tarif, sayatan ke-" + d.get("urutanSayatan").toString());
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenAsistenIBS / 100
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
d.put("hargaJasa", persenAsistenIBS / 100
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
+ "% tarif, sayatan ke-" + d.get("urutanSayatan").toString());
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenAnestesi / 100
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
d.put("hargaJasa", persenAnestesi / 100
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenOperatorIBS + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenOperatorIBS / 100 * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAsistenIBS + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenAsistenIBS / 100 * hargaJual);
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRadiologi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenRadiologi / 100 * hargaJual);
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRehabMedik + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRehabMedik / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenRehabMedik / 100 * hargaJual);
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
d.put("persenJasa", persenKonsultasi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenKonsultasi / 100 * hargaJual);
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
d.put("persenJasa", persenVisite + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenVisite / 100 * hargaJual);
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenTindakan + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
d.put("persenJasa", persenJasaLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasaLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasaLabGenetika / 100 * hargaJual);
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
d.put("persenJasa", persenJasaLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasaLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasaLabGenetika / 100 * hargaJual);
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
d.put("persenJasa", persenJasaDokterPA + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasaDokterPA / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenJasaDokterPA / 100 * hargaJual);
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenLaboratorium + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenLaboratorium / 100 * hargaJual);
} else {
d.put("persenJasa", persenTindakan + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
}
}
/*
@ -2779,7 +2769,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
.hargaJual(Double.parseDouble(t.get("hargaJual").toString()))
.hargaDiskon(Double.parseDouble(t.get("hargaDiskon").toString()))
.hargaJasa(Double.parseDouble(t.get("hargaJasa").toString()))
.isPaket(Boolean.parseBoolean(t.get("isPaket").toString()));
.isPaket(Boolean.parseBoolean(t.get("isPaket").toString()))
.isSelisihPaket(Boolean.parseBoolean(t.get("isSelisihPaket").toString()));
Optional<Map<String, Object>> petugas = listPetugas.stream()
.filter(p -> CommonUtil.isNotNullOrEmpty(p.get("noRecLayanan"))
&& t.get("noRec").toString().equals(p.get("noRecLayanan"))
@ -2819,6 +2810,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
dto.ifPresent(tagihanPendaftaranDto -> {
p.setHargaDiscount(tagihanPendaftaranDto.getHargaDiskon());
p.setJasa(tagihanPendaftaranDto.getHargaJasa());
p.setIsSelisihPaket(tagihanPendaftaranDto.getIsSelisihPaket());
});
});
pelayananPasienDao.save(listPelayanan);

View File

@ -35,4 +35,5 @@ public class TagihanPendaftaranDto {
private Double hargaDiskon;
private Double hargaJasa;
private Boolean isPaket;
private Boolean isSelisihPaket;
}

View File

@ -270,4 +270,6 @@ public class PelayananPasien extends MedicalRecordTransaction {
private String voucherPaketId;
private Boolean isPaket;
private Boolean isSelisihPaket;
}

View File

@ -150,4 +150,6 @@ public class PelayananPasienVO extends MedicalRecordTransactionVO {
private String voucherPaketId;
private Boolean isPaket;
private Boolean isSelisihPaket;
}