Merge branch 'master' into salman-etl
This commit is contained in:
commit
8061a92bde
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -35,4 +35,5 @@ public class TagihanPendaftaranDto {
|
||||
private Double hargaDiskon;
|
||||
private Double hargaJasa;
|
||||
private Boolean isPaket;
|
||||
private Boolean isSelisihPaket;
|
||||
}
|
||||
|
||||
@ -270,4 +270,6 @@ public class PelayananPasien extends MedicalRecordTransaction {
|
||||
private String voucherPaketId;
|
||||
|
||||
private Boolean isPaket;
|
||||
|
||||
private Boolean isSelisihPaket;
|
||||
}
|
||||
@ -150,4 +150,6 @@ public class PelayananPasienVO extends MedicalRecordTransactionVO {
|
||||
private String voucherPaketId;
|
||||
|
||||
private Boolean isPaket;
|
||||
|
||||
private Boolean isSelisihPaket;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user