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 = 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," + "when pp.kelasId = 21 then 7 " + "else 8 end as sortIdKelas," + "kls.namaKelas as namaKelas,"
+ "ppp.noRec as idPelayananPasienPetugas," + "ppp.ObjectJenisPetugasPeId as idJenisPelaksana," + "ppp.noRec as idPelayananPasienPetugas," + "ppp.ObjectJenisPetugasPeId as idJenisPelaksana,"
+ "ppp.ObjectPegawaiId as idPegawai," + "pp.noRec as idPelayananPasien," + "ppp.ObjectPegawaiId as idPegawai," + "pp.noRec as idPelayananPasien,coalesce(pp.jumlah,0) as jumlah,"
+ "coalesce(pp.hargaJual,0) as hargaJual,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," + "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.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'yyyy-MM-dd') as tanggal,"
+ "pp.sayatanId as idSayatan,sy.urutan as urutanSayatan," + "pp.sayatanId as idSayatan,sy.urutan as urutanSayatan,"
+ "coalesce(sy.persen,0) as persenSayatan,coalesce(sy.nama,'') as keterangan," + "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.hargaJual,0) as hargaJual," + "coalesce(pp.hargaDiscount,0) as hargaDiskon,"
+ "coalesce(pp.jasa,0) as hargaJasa," + "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.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.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") + "inner join pp.produk pr " + "inner join pp.kelas kls " + "where pd.noRegistrasi = :noRegistrasi")
List<Map<String, Object>> findPelayananPasienByTagihanPendaftaran(@Param("noRegistrasi") String 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 * 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")) if (DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("totalDiskon"))
&& Double.parseDouble(d.get("totalDiskon").toString()) > 0.0 && Double.parseDouble(d.get("totalDiskon").toString()) > 0.0
&& CommonUtil.isNullOrEmpty(d.get("idSayatan"))) { && CommonUtil.isNullOrEmpty(d.get("idSayatan"))) {
@ -596,85 +599,77 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/ */
d.put("hargaJasa", 0.0); d.put("hargaJasa", 0.0);
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { } 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")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())) && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenOperator / 100; 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")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())) && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAsistenIBS / 100; 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")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())) && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAnestesi / 100; 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")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("hargaJasa", d.put("hargaJasa", persenOperator / 100
persenOperator / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana")) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("hargaJasa", d.put("hargaJasa", persenAsistenIBS / 100
persenAsistenIBS / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("hargaJasa", d.put("hargaJasa", persenAnestesi / 100
persenAnestesi / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { && 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")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { && 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")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { && 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"))) { } 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"))) { } 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"))) { } 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"))) { } 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"))) { } 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"))) { } 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) } else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { && (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()))) { } 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)) { } 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"))) { } 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")) } else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) { && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
double persenJasa = persenTindakan / 100; double persenJasa = persenTindakan / 100;
d.put("hargaJasa", persenJasa * persenTarifICU * Double.parseDouble(d.get("hargaJual").toString())); d.put("hargaJasa", persenJasa * persenTarifICU * hargaJual);
} else { } else {
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); d.put("hargaJasa", persenTindakan / 100 * hargaJual);
} }
}
/* /*
* Inisialisasi collect logbook klaim MPP * Inisialisasi collect logbook klaim MPP
*/ */
@ -1777,6 +1772,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
System.out.println(e.getMessage()); System.out.println(e.getMessage());
return null; return null;
} }
Locale indonesia = new Locale("in", "ID");
NumberFormat nf = NumberFormat.getCurrencyInstance(indonesia);
Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan); Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan);
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("remun"); 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 * Mapping persentase jasa remunerasi
*/ */
for (Map<String, Object> d : listData) { 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"))) { if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenRemunDokterUmumHD + "%"); d.put("persenJasa", persenRemunDokterUmumHD + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", d.put("hargaJasa", persenRemunDokterUmumHD / 100 * hargaJual);
persenRemunDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())) && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenOperator / 100; double persenJasa = persenOperator / 100;
d.put("persenJasa", persenOperator + "%"); 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) 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")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())) && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAsistenIBS / 100; double persenJasa = persenAsistenIBS / 100;
d.put("persenJasa", persenAsistenIBS + "%"); 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) 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")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())) && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAnestesi / 100; double persenJasa = persenAnestesi / 100;
d.put("persenJasa", persenAnestesi + "%"); 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) 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")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenOperator + "%"); d.put("persenJasa", persenOperator + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) 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) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", d.put("hargaJasa", persenOperator / 100
persenOperator / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana")) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenAsistenIBS + "%"); d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) 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) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", d.put("hargaJasa", persenAsistenIBS / 100
persenAsistenIBS / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) 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) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", d.put("hargaJasa", persenAnestesi / 100
persenAnestesi / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenOperator + "%"); d.put("persenJasa", persenOperator + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAsistenIBS + "%"); d.put("persenJasa", persenAsistenIBS + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRadiologi + "%"); d.put("persenJasa", persenRadiologi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRehabMedik + "%"); d.put("persenJasa", persenRehabMedik + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
d.put("persenJasa", persenKonsultasi + "%"); d.put("persenJasa", persenKonsultasi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (VISIT.equals(d.get("idGolonganProduk"))) {
d.put("persenJasa", persenVisite + "%"); d.put("persenJasa", persenVisite + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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) } else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
d.put("persenJasa", persenRemunLabGenetika + "%"); d.put("persenJasa", persenRemunLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", d.put("hargaJasa", persenRemunLabGenetika / 100 * hargaJual);
persenRemunLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) { } else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
d.put("persenJasa", persenRemunLabGenetika + "%"); d.put("persenJasa", persenRemunLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", d.put("hargaJasa", persenRemunLabGenetika / 100 * hargaJual);
persenRemunLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (drKkPatologiAnatomiList.contains(idPegawai)) { } else if (drKkPatologiAnatomiList.contains(idPegawai)) {
d.put("persenJasa", persenRemunDokterPA + "%"); d.put("persenJasa", persenRemunDokterPA + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenLaboratorium + "%"); d.put("persenJasa", persenLaboratorium + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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")) } else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) { && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
double persenJasa = persenTindakan / 100; double persenJasa = persenTindakan / 100;
d.put("persenJasa", persenTindakan + "%"); 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) 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 { } else {
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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()); System.out.println(e.getMessage());
return null; return null;
} }
Locale indonesia = new Locale("in", "ID");
NumberFormat nf = NumberFormat.getCurrencyInstance(indonesia);
Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan); Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan);
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("ffs"); 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 * Mapping persentase jasa remunerasi
*/ */
for (Map<String, Object> d : listData) { 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")) if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) { && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
/* /*
@ -2168,107 +2169,97 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* tertentu * tertentu
*/ */
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenJasaDokterUmumHD + "%"); d.put("persenJasa", persenJasaDokterUmumHD + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", d.put("hargaJasa", persenJasaDokterUmumHD / 100 * hargaJual);
persenJasaDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenOperator + "%"); d.put("persenJasa", persenOperator + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) 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) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", d.put("hargaJasa", persenOperator / 100
persenOperator / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana")) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenAsistenIBS + "%"); d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) 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) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", d.put("hargaJasa", persenAsistenIBS / 100
persenAsistenIBS / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) 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) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", d.put("hargaJasa", persenAnestesi / 100
persenAnestesi / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenOperator + "%"); d.put("persenJasa", persenOperator + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAsistenIBS + "%"); d.put("persenJasa", persenAsistenIBS + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRadiologi + "%"); d.put("persenJasa", persenRadiologi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRehabMedik + "%"); d.put("persenJasa", persenRehabMedik + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
d.put("persenJasa", persenKonsultasi + "%"); d.put("persenJasa", persenKonsultasi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (VISIT.equals(d.get("idGolonganProduk"))) {
d.put("persenJasa", persenVisite + "%"); d.put("persenJasa", persenVisite + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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) } else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
d.put("persenJasa", persenJasaLabGenetika + "%"); d.put("persenJasa", persenJasaLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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()))) { } else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
d.put("persenJasa", persenJasaLabGenetika + "%"); d.put("persenJasa", persenJasaLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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)) { } else if (drKkPatologiAnatomiList.contains(idPegawai)) {
d.put("persenJasa", persenJasaDokterPA + "%"); d.put("persenJasa", persenJasaDokterPA + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenLaboratorium + "%"); d.put("persenJasa", persenLaboratorium + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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 { } else {
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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()); System.out.println(e.getMessage());
return null; return null;
} }
Locale indonesia = new Locale("in", "ID");
NumberFormat nf = NumberFormat.getCurrencyInstance(indonesia);
Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan); Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan);
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("klaim-mpp"); 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 * Mapping persentase jasa remunerasi
*/ */
for (Map<String, Object> d : listData) { 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")) if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) { && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
/* /*
@ -2490,107 +2490,97 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* tertentu * tertentu
*/ */
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenJasaDokterUmumHD + "%"); d.put("persenJasa", persenJasaDokterUmumHD + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", d.put("hargaJasa", persenJasaDokterUmumHD / 100 * hargaJual);
persenJasaDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenOperatorIBS + "%"); d.put("persenJasa", persenOperatorIBS + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) 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) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", d.put("hargaJasa", persenOperatorIBS / 100
persenOperatorIBS / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana")) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenAsistenIBS + "%"); d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) 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) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", d.put("hargaJasa", persenAsistenIBS / 100
persenAsistenIBS / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) 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) if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", d.put("hargaJasa", persenAnestesi / 100
persenAnestesi / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
* (Double.parseDouble(d.get("hargaJual").toString())
- (Double.parseDouble(d.get("persenSayatan").toString()) / 100
* Double.parseDouble(d.get("hargaJual").toString()))));
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenOperatorIBS + "%"); d.put("persenJasa", persenOperatorIBS + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAsistenIBS + "%"); d.put("persenJasa", persenAsistenIBS + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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")) } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRadiologi + "%"); d.put("persenJasa", persenRadiologi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRehabMedik + "%"); d.put("persenJasa", persenRehabMedik + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
d.put("persenJasa", persenKonsultasi + "%"); d.put("persenJasa", persenKonsultasi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (VISIT.equals(d.get("idGolonganProduk"))) {
d.put("persenJasa", persenVisite + "%"); d.put("persenJasa", persenVisite + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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) } else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
d.put("persenJasa", persenJasaLabGenetika + "%"); d.put("persenJasa", persenJasaLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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()))) { } else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
d.put("persenJasa", persenJasaLabGenetika + "%"); d.put("persenJasa", persenJasaLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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)) { } else if (drKkPatologiAnatomiList.contains(idPegawai)) {
d.put("persenJasa", persenJasaDokterPA + "%"); d.put("persenJasa", persenJasaDokterPA + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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"))) { } else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenLaboratorium + "%"); d.put("persenJasa", persenLaboratorium + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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 { } else {
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) 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())) .hargaJual(Double.parseDouble(t.get("hargaJual").toString()))
.hargaDiskon(Double.parseDouble(t.get("hargaDiskon").toString())) .hargaDiskon(Double.parseDouble(t.get("hargaDiskon").toString()))
.hargaJasa(Double.parseDouble(t.get("hargaJasa").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() Optional<Map<String, Object>> petugas = listPetugas.stream()
.filter(p -> CommonUtil.isNotNullOrEmpty(p.get("noRecLayanan")) .filter(p -> CommonUtil.isNotNullOrEmpty(p.get("noRecLayanan"))
&& t.get("noRec").toString().equals(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 -> { dto.ifPresent(tagihanPendaftaranDto -> {
p.setHargaDiscount(tagihanPendaftaranDto.getHargaDiskon()); p.setHargaDiscount(tagihanPendaftaranDto.getHargaDiskon());
p.setJasa(tagihanPendaftaranDto.getHargaJasa()); p.setJasa(tagihanPendaftaranDto.getHargaJasa());
p.setIsSelisihPaket(tagihanPendaftaranDto.getIsSelisihPaket());
}); });
}); });
pelayananPasienDao.save(listPelayanan); pelayananPasienDao.save(listPelayanan);

View File

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

View File

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

View File

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