Update service pelayanan pasien
Penerapan formula hitung harga jasa dampak diskon jasa medis dokter
This commit is contained in:
parent
7006035982
commit
f5db5d61e9
@ -206,8 +206,12 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
|
||||
+ "apd.noRec as idAntrianPasienDiperiksa,apd.pegawaiId as idDPJP," + "apd.ruanganId as idRuangan,"
|
||||
+ "case when lower(ru.namaRuangan) like '%eksekutif%' then 'Eksekutif' else 'Reguler' end as jenisRuangan,"
|
||||
+ "ru.departemenId as idDepartemen," + "pd.noRec as idPasienDaftar,pd.pasienId as pasienId,"
|
||||
+ "sum(case when ppd.komponenHargaId = 35 then ppd.hargaDiscount else 0.0 end) as totalDiskon,"
|
||||
+ "sum(case when ppd.komponenHargaId = 35 then ppd.hargaJual else 0.0 end) as totalKomponen) "
|
||||
+ "sum(case when ppd.komponenHargaId = 35 then ppd.hargaDiscount else 0.0 end) as totalDiskonD,"
|
||||
+ "sum(case when ppd.komponenHargaId = 35 then ppd.persenDiskon else 0.0 end) as persenDiskonD,"
|
||||
+ "sum(case when ppd.komponenHargaId = 22 then ppd.hargaDiscount else 0.0 end) as totalDiskonAs,"
|
||||
+ "sum(case when ppd.komponenHargaId = 22 then ppd.persenDiskon else 0.0 end) as persenDiskonAs,"
|
||||
+ "sum(case when ppd.komponenHargaId = 21 then ppd.hargaDiscount else 0.0 end) as totalDiskonAn,"
|
||||
+ "sum(case when ppd.komponenHargaId = 21 then ppd.persenDiskon else 0.0 end) as persenDiskonAn) "
|
||||
+ "from PelayananPasienDetail ppd, PelayananPasienPetugas ppp " + "inner join ppp.pelayananPasien pp "
|
||||
+ "inner join pp.pasienDaftar apd " + "inner join apd.pasienDaftar pd " + "left join pp.produk pr "
|
||||
+ "left join pp.kelas kls " + "left join pd.kelompokPasien kp " + "left join apd.ruangan ru "
|
||||
|
||||
@ -5,6 +5,7 @@ import com.jasamedika.medifirst2000.constants.Master;
|
||||
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
||||
import com.jasamedika.medifirst2000.dao.*;
|
||||
import com.jasamedika.medifirst2000.dto.BatalPaketProdukDto;
|
||||
import com.jasamedika.medifirst2000.dto.RemunHargaJasa;
|
||||
import com.jasamedika.medifirst2000.dto.TagihanPendaftaranDto;
|
||||
import com.jasamedika.medifirst2000.entities.*;
|
||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
@ -154,8 +155,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
PelayananPasien model = new PelayananPasien();
|
||||
model = pelayananPasienConverter.transferVOToModel(vo, model);
|
||||
model.setPasien(antrianPasienDiPeriksaDao.finByNoIdAndTglRegistrasi((short) 0,
|
||||
vo.getPasien().getId(), vo.getTglRegistrasi()));
|
||||
model.setPasien(antrianPasienDiPeriksaDao.finByNoIdAndTglRegistrasi((short) 0, vo.getPasien().getId(),
|
||||
vo.getTglRegistrasi()));
|
||||
if (CommonUtil.isNotNullOrEmpty(vo.getJenisObat())) {
|
||||
model.setJenisObat(jenisObatConverter.transferVOToModel(vo.getJenisObat(), new JenisObat()));
|
||||
}
|
||||
@ -587,100 +588,112 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
double hargaJual = Double.parseDouble(d.get("hargaJual").toString());
|
||||
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString()))
|
||||
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
|
||||
if (CommonUtil.isNotNullOrEmpty(d.get("totalDiskon"))
|
||||
&& Double.parseDouble(d.get("totalDiskon").toString()) > 0.0
|
||||
&& CommonUtil.isNullOrEmpty(d.get("idSayatan"))) {
|
||||
/*
|
||||
* Untuk diskon jasa medis oleh dokter
|
||||
*/
|
||||
d.put("hargaJasa", Double.parseDouble(d.get("totalKomponen").toString())
|
||||
- Double.parseDouble(d.get("totalDiskon").toString()));
|
||||
} else if (KLINIK_KARYAWAN.equals(d.get("idRuangan")) || KLINIK_GIGI_KARYAWAN.equals(d.get("idRuangan"))) {
|
||||
/*
|
||||
* Untuk semua klaim di ruangan klinik karyawan
|
||||
*/
|
||||
d.put("hargaJasa", 0.0);
|
||||
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||
d.put("hargaJasa", persenRemunDokterUmumHD / 100 * hargaJual);
|
||||
if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& 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 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& 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 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& 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 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
|
||||
d.put("hargaJasa", persenOperator / 100
|
||||
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100,
|
||||
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
||||
false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
|
||||
d.put("hargaJasa", persenAsistenIBS / 100
|
||||
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100,
|
||||
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
||||
false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
|
||||
d.put("hargaJasa", persenAnestesi / 100
|
||||
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100,
|
||||
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
||||
false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||
d.put("hargaJasa", persenOperator / 100 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||
d.put("hargaJasa", persenAsistenIBS / 100 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
|
||||
d.put("hargaJasa", persenRadiologi / 100 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
|
||||
d.put("hargaJasa", persenRehabMedik / 100 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
|
||||
d.put("hargaJasa", persenKonsultasi / 100 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
|
||||
d.put("hargaJasa", persenVisite / 100 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drKkGenetika.contains(idPegawai)
|
||||
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
|
||||
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
|
||||
d.put("hargaJasa", persenRemunLabGenetika / 100 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
|
||||
d.put("hargaJasa", persenRemunLabGenetika / 100 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
|
||||
d.put("hargaJasa", persenRemunDokterPA / 100 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterPA / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
|
||||
d.put("hargaJasa", persenLaboratorium / 100 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
|
||||
&& Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
|
||||
double persenJasa = persenTindakan / 100;
|
||||
d.put("hargaJasa", persenJasa * persenTarifICU * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else {
|
||||
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
}
|
||||
}
|
||||
/*
|
||||
@ -1840,140 +1853,168 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString()));
|
||||
}
|
||||
if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenRemunDokterUmumHD + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenRemunDokterUmumHD / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& 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;
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
|
||||
d.put("persenJasa", persenOperator + "%");
|
||||
d.put("keterangan", "Dari " + persenTarifJasaBedah + "% tarif" + keteranganTambahan);
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenJasa * persenTarifIBS * hargaJual);
|
||||
d.put("keterangan",
|
||||
"Dari " + persenTarifJasaBedah + "% tarif" + hargaJasa.getKeterangan() + keteranganTambahan);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& 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;
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
|
||||
d.put("persenJasa", persenAsistenIBS + "%");
|
||||
d.put("keterangan", "Dari " + persenTarifJasaBedah + "% tarif" + keteranganTambahan);
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenJasa * persenTarifIBS * hargaJual);
|
||||
d.put("keterangan",
|
||||
"Dari " + persenTarifJasaBedah + "% tarif" + hargaJasa.getKeterangan() + keteranganTambahan);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& 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;
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
|
||||
d.put("persenJasa", persenAnestesi + "%");
|
||||
d.put("keterangan", "Dari " + persenTarifJasaBedah + "% tarif" + keteranganTambahan);
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenJasa * persenTarifIBS * hargaJual);
|
||||
d.put("keterangan",
|
||||
"Dari " + persenTarifJasaBedah + "% tarif" + hargaJasa.getKeterangan() + keteranganTambahan);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100,
|
||||
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
||||
false);
|
||||
d.put("persenJasa", persenOperator + "%");
|
||||
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
|
||||
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenOperator / 100
|
||||
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
|
||||
d.put("keterangan",
|
||||
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
||||
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
||||
+ hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100,
|
||||
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
||||
false);
|
||||
d.put("persenJasa", persenAsistenIBS + "%");
|
||||
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
|
||||
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenAsistenIBS / 100
|
||||
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
|
||||
d.put("keterangan",
|
||||
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
||||
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
||||
+ hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100,
|
||||
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
||||
false);
|
||||
d.put("persenJasa", persenAnestesi + "%");
|
||||
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
|
||||
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenAnestesi / 100
|
||||
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
|
||||
d.put("keterangan",
|
||||
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
||||
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
||||
+ hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenOperator + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenOperator / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenAsistenIBS + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenAsistenIBS / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenAnestesi + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenRadiologi + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenRadiologi / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenRehabMedik + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenRehabMedik / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenKonsultasi + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenKonsultasi / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenVisite + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenVisite / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenTindakan + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenAnestesi + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drKkGenetika.contains(idPegawai)
|
||||
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
|
||||
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenRemunLabGenetika + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenRemunLabGenetika / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenRemunLabGenetika + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenRemunLabGenetika / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterPA / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenRemunDokterPA + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenRemunDokterPA / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenLaboratorium + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenLaboratorium / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
|
||||
&& Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
|
||||
double persenJasa = persenTindakan / 100;
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d, false);
|
||||
d.put("persenJasa", persenTindakan + "%");
|
||||
d.put("keterangan", "Dari " + persenTarifJasaICU + "% tarif" + keteranganTambahan);
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenJasa * persenTarifICU * hargaJual);
|
||||
d.put("keterangan",
|
||||
"Dari " + persenTarifJasaICU + "% tarif" + hargaJasa.getKeterangan() + keteranganTambahan);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenTindakan + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
}
|
||||
}
|
||||
/*
|
||||
@ -2189,115 +2230,140 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
|
||||
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenBPJS / 100, hargaJual, d, true);
|
||||
/*
|
||||
* Set persen jasa dokter luar yang klaim ffs dengan persen jasa
|
||||
* dari tarif total
|
||||
*/
|
||||
d.put("persenJasa", persenBPJS + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
/*
|
||||
* Set harga jasa klaim jasa ffs pasien bpjs oleh dokter-dokter
|
||||
* tertentu
|
||||
*/
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenBPJS / 100 * hargaJual);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenJasaDokterUmumHD + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenJasaDokterUmumHD / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100,
|
||||
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
||||
false);
|
||||
d.put("persenJasa", persenOperator + "%");
|
||||
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
|
||||
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenOperator / 100
|
||||
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
|
||||
d.put("keterangan",
|
||||
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
||||
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
||||
+ hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100,
|
||||
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
||||
false);
|
||||
d.put("persenJasa", persenAsistenIBS + "%");
|
||||
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
|
||||
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenAsistenIBS / 100
|
||||
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
|
||||
d.put("keterangan",
|
||||
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
||||
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
||||
+ hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100,
|
||||
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
||||
false);
|
||||
d.put("persenJasa", persenAnestesi + "%");
|
||||
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
|
||||
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenAnestesi / 100
|
||||
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
|
||||
d.put("keterangan",
|
||||
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
||||
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
||||
+ hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenOperator + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenOperator / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenAsistenIBS + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenAsistenIBS / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenAnestesi + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenRadiologi + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenRadiologi / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenRehabMedik + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenRehabMedik / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenKonsultasi + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenKonsultasi / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenVisite + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenVisite / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenTindakan + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenAnestesi + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drKkGenetika.contains(idPegawai)
|
||||
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
|
||||
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenJasaLabGenetika + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenJasaLabGenetika / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenJasaLabGenetika + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenJasaLabGenetika / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenJasaDokterPA + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenJasaDokterPA / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenLaboratorium + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenLaboratorium / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenTindakan + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
}
|
||||
}
|
||||
/*
|
||||
@ -2518,115 +2584,140 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
|
||||
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenBPJS / 100, hargaJual, d, true);
|
||||
/*
|
||||
* Set persen jasa dokter luar yang klaim ffs dengan persen jasa
|
||||
* dari tarif total
|
||||
*/
|
||||
d.put("persenJasa", persenBPJS + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
/*
|
||||
* Set harga jasa klaim jasa ffs pasien bpjs oleh dokter-dokter
|
||||
* tertentu
|
||||
*/
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenBPJS / 100 * hargaJual);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenJasaDokterUmumHD + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenJasaDokterUmumHD / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenOperatorIBS / 100,
|
||||
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
||||
false);
|
||||
d.put("persenJasa", persenOperatorIBS + "%");
|
||||
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
|
||||
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenOperatorIBS / 100
|
||||
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
|
||||
d.put("keterangan",
|
||||
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
||||
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
||||
+ hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100,
|
||||
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
||||
false);
|
||||
d.put("persenJasa", persenAsistenIBS + "%");
|
||||
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
|
||||
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenAsistenIBS / 100
|
||||
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
|
||||
d.put("keterangan",
|
||||
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
||||
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
||||
+ hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100,
|
||||
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
||||
false);
|
||||
d.put("persenJasa", persenAnestesi + "%");
|
||||
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
|
||||
+ "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString());
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenAnestesi / 100
|
||||
* (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));
|
||||
d.put("keterangan",
|
||||
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
||||
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
||||
+ hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenOperatorIBS / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenOperatorIBS + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenOperatorIBS / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenAsistenIBS + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenAsistenIBS / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenAnestesi + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenRadiologi + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenRadiologi / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenRehabMedik + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenRehabMedik / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenKonsultasi + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenKonsultasi / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenVisite + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenVisite / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenTindakan + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenAnestesi + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenAnestesi / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drKkGenetika.contains(idPegawai)
|
||||
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
|
||||
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenJasaLabGenetika + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenJasaLabGenetika / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenJasaLabGenetika + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenJasaLabGenetika / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenJasaDokterPA + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenJasaDokterPA / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenLaboratorium + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenLaboratorium / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenTindakan + "%");
|
||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||
d.put("hargaJasa", persenTindakan / 100 * hargaJual);
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
}
|
||||
}
|
||||
/*
|
||||
@ -3522,4 +3613,213 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
});
|
||||
return duplicateMapPetugasPegawai;
|
||||
}
|
||||
|
||||
private RemunHargaJasa hargaJasa(double persenRemunerasi, double hargaJual, Map<String, Object> d,
|
||||
boolean isFrontNote) {
|
||||
Locale indonesia = new Locale("in", "ID");
|
||||
NumberFormat nf = NumberFormat.getCurrencyInstance(indonesia);
|
||||
RemunHargaJasa.RemunHargaJasaBuilder builder = RemunHargaJasa.builder();
|
||||
if (KLINIK_KARYAWAN.equals(d.get("idRuangan")) || KLINIK_GIGI_KARYAWAN.equals(d.get("idRuangan"))) {
|
||||
builder.nilai(0.0);
|
||||
if (isFrontNote) {
|
||||
builder.keterangan("Dari diskon klinik karyawan/klinik gigi karyawan");
|
||||
} else {
|
||||
builder.keterangan(" dan dari diskon klinik karyawan/klinik gigi karyawan");
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(d.get("totalDiskonD"))
|
||||
&& Double.parseDouble(d.get("totalDiskonD").toString()) > 0.0
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("totalDiskonAs"))
|
||||
&& Double.parseDouble(d.get("totalDiskonAs").toString()) > 0.0
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("totalDiskonAn"))
|
||||
&& Double.parseDouble(d.get("totalDiskonAn").toString()) > 0.0
|
||||
&& CommonUtil.isNullOrEmpty(d.get("idSayatan"))) {
|
||||
double totalDiskon = Double.parseDouble(d.get("totalDiskonD").toString())
|
||||
+ Double.parseDouble(d.get("totalDiskonAs").toString())
|
||||
+ Double.parseDouble(d.get("totalDiskonAn").toString());
|
||||
double hargaJualSetelahDiskon = hargaJual - totalDiskon;
|
||||
double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon;
|
||||
double persenRemunOperator = 100.00 - Double.parseDouble(d.get("persenDiskonD").toString());
|
||||
double persenRemunAsisten = 100.00 - Double.parseDouble(d.get("persenDiskonAs").toString());
|
||||
double persenRemunAnestesi = 100.00 - Double.parseDouble(d.get("persenDiskonAn").toString());
|
||||
double hargaJasaOperator = persenRemunOperator * hargaJasa / 100;
|
||||
double hargaJasaAsisten = persenRemunAsisten * hargaJasa / 100;
|
||||
double hargaJasaAnestesi = persenRemunAnestesi * hargaJasa / 100;
|
||||
double hargaJasaRemun = hargaJasaOperator + hargaJasaAsisten + hargaJasaAnestesi;
|
||||
builder.nilai(hargaJasaRemun);
|
||||
if (isFrontNote) {
|
||||
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
||||
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator
|
||||
+ "% ditambah pengalian " + persenRemunAsisten + "% ditambah pengalian " + persenRemunAnestesi
|
||||
+ "% karena diskon komponen operator, asisten, dan anestesi berturut-turut "
|
||||
+ d.get("persenDiskonD").toString() + "%, " + d.get("persenDiskonAs").toString() + "%, dan "
|
||||
+ d.get("persenDiskonAn").toString() + "%");
|
||||
} else {
|
||||
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
||||
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator
|
||||
+ "% ditambah pengalian " + persenRemunAsisten + "% ditambah pengalian " + persenRemunAnestesi
|
||||
+ "% karena diskon komponen operator, asisten, dan anestesi berturut-turut "
|
||||
+ d.get("persenDiskonD").toString() + "%, " + d.get("persenDiskonAs").toString() + "%, dan "
|
||||
+ d.get("persenDiskonAn").toString() + "%");
|
||||
}
|
||||
} else if (CommonUtil.isNotNullOrEmpty(d.get("totalDiskonD"))
|
||||
&& Double.parseDouble(d.get("totalDiskonD").toString()) > 0.0
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("totalDiskonAs"))
|
||||
&& Double.parseDouble(d.get("totalDiskonAs").toString()) > 0.0
|
||||
&& (CommonUtil.isNullOrEmpty(d.get("totalDiskonAn"))
|
||||
|| Double.parseDouble(d.get("totalDiskonAn").toString()) <= 0.0)
|
||||
&& CommonUtil.isNullOrEmpty(d.get("idSayatan"))) {
|
||||
double totalDiskon = Double.parseDouble(d.get("totalDiskonD").toString())
|
||||
+ Double.parseDouble(d.get("totalDiskonAs").toString());
|
||||
double hargaJualSetelahDiskon = hargaJual - totalDiskon;
|
||||
double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon;
|
||||
double persenRemunOperator = 100.00 - Double.parseDouble(d.get("persenDiskonD").toString());
|
||||
double persenRemunAsisten = 100.00 - Double.parseDouble(d.get("persenDiskonAs").toString());
|
||||
double hargaJasaOperator = persenRemunOperator * hargaJasa / 100;
|
||||
double hargaJasaAsisten = persenRemunAsisten * hargaJasa / 100;
|
||||
double hargaJasaRemun = hargaJasaOperator + hargaJasaAsisten;
|
||||
builder.nilai(hargaJasaRemun);
|
||||
if (isFrontNote) {
|
||||
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
||||
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator
|
||||
+ "% ditambah pengalian " + persenRemunAsisten
|
||||
+ "% karena diskon komponen operator dan asisten berturut-turut "
|
||||
+ d.get("persenDiskonD").toString() + "% dan " + d.get("persenDiskonAs").toString() + "%");
|
||||
} else {
|
||||
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
||||
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator
|
||||
+ "% ditambah pengalian " + persenRemunAsisten
|
||||
+ "% karena diskon komponen operator dan asisten berturut-turut "
|
||||
+ d.get("persenDiskonD").toString() + "% dan " + d.get("persenDiskonAs").toString() + "%");
|
||||
}
|
||||
} else if (CommonUtil.isNotNullOrEmpty(d.get("totalDiskonD"))
|
||||
&& Double.parseDouble(d.get("totalDiskonD").toString()) > 0.0
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("totalDiskonAn"))
|
||||
&& Double.parseDouble(d.get("totalDiskonAn").toString()) > 0.0
|
||||
&& (CommonUtil.isNullOrEmpty(d.get("totalDiskonAs"))
|
||||
|| Double.parseDouble(d.get("totalDiskonAs").toString()) <= 0.0)
|
||||
&& CommonUtil.isNullOrEmpty(d.get("idSayatan"))) {
|
||||
double totalDiskon = Double.parseDouble(d.get("totalDiskonD").toString())
|
||||
+ Double.parseDouble(d.get("totalDiskonAn").toString());
|
||||
double hargaJualSetelahDiskon = hargaJual - totalDiskon;
|
||||
double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon;
|
||||
double persenRemunOperator = 100.00 - Double.parseDouble(d.get("persenDiskonD").toString());
|
||||
double persenRemunAnestesi = 100.00 - Double.parseDouble(d.get("persenDiskonAn").toString());
|
||||
double hargaJasaOperator = persenRemunOperator * hargaJasa / 100;
|
||||
double hargaJasaAnestesi = persenRemunAnestesi * hargaJasa / 100;
|
||||
double hargaJasaRemun = hargaJasaOperator + hargaJasaAnestesi;
|
||||
builder.nilai(hargaJasaRemun);
|
||||
if (isFrontNote) {
|
||||
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
||||
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator
|
||||
+ "% ditambah pengalian " + persenRemunAnestesi
|
||||
+ "% karena diskon komponen operator dan anestesi berturut-turut "
|
||||
+ d.get("persenDiskonD").toString() + "% dan " + d.get("persenDiskonAn").toString() + "%");
|
||||
} else {
|
||||
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
||||
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator
|
||||
+ "% ditambah pengalian " + persenRemunAnestesi
|
||||
+ "% karena diskon komponen operator dan anestesi berturut-turut "
|
||||
+ d.get("persenDiskonD").toString() + "% dan " + d.get("persenDiskonAn").toString() + "%");
|
||||
}
|
||||
} else if (CommonUtil.isNotNullOrEmpty(d.get("totalDiskonAs"))
|
||||
&& Double.parseDouble(d.get("totalDiskonAs").toString()) > 0.0
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("totalDiskonAn"))
|
||||
&& Double.parseDouble(d.get("totalDiskonAn").toString()) > 0.0
|
||||
&& (CommonUtil.isNullOrEmpty(d.get("totalDiskonD"))
|
||||
|| Double.parseDouble(d.get("totalDiskonD").toString()) <= 0.0)
|
||||
&& CommonUtil.isNullOrEmpty(d.get("idSayatan"))) {
|
||||
double totalDiskon = Double.parseDouble(d.get("totalDiskonAs").toString())
|
||||
+ Double.parseDouble(d.get("totalDiskonAn").toString());
|
||||
double hargaJualSetelahDiskon = hargaJual - totalDiskon;
|
||||
double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon;
|
||||
double persenRemunAsisten = 100.00 - Double.parseDouble(d.get("persenDiskonAs").toString());
|
||||
double persenRemunAnestesi = 100.00 - Double.parseDouble(d.get("persenDiskonAn").toString());
|
||||
double hargaJasaAsisten = persenRemunAsisten * hargaJasa / 100;
|
||||
double hargaJasaAnestesi = persenRemunAnestesi * hargaJasa / 100;
|
||||
double hargaJasaRemun = hargaJasaAsisten + hargaJasaAnestesi;
|
||||
builder.nilai(hargaJasaRemun);
|
||||
if (isFrontNote) {
|
||||
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
||||
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAsisten
|
||||
+ "% ditambah pengalian " + persenRemunAnestesi
|
||||
+ "% karena diskon komponen asisten dan anestesi berturut-turut "
|
||||
+ d.get("persenDiskonAs").toString() + "% dan " + d.get("persenDiskonAn").toString() + "%");
|
||||
} else {
|
||||
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
||||
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAsisten
|
||||
+ "% ditambah pengalian " + persenRemunAnestesi
|
||||
+ "% karena diskon komponen asisten dan anestesi berturut-turut "
|
||||
+ d.get("persenDiskonAs").toString() + "% dan " + d.get("persenDiskonAn").toString() + "%");
|
||||
}
|
||||
} else if (CommonUtil.isNotNullOrEmpty(d.get("totalDiskonD"))
|
||||
&& Double.parseDouble(d.get("totalDiskonD").toString()) > 0.0
|
||||
&& (CommonUtil.isNullOrEmpty(d.get("totalDiskonAs"))
|
||||
|| Double.parseDouble(d.get("totalDiskonAs").toString()) <= 0.0)
|
||||
&& (CommonUtil.isNullOrEmpty(d.get("totalDiskonAn"))
|
||||
|| Double.parseDouble(d.get("totalDiskonAn").toString()) <= 0.0)
|
||||
&& CommonUtil.isNullOrEmpty(d.get("idSayatan"))) {
|
||||
double totalDiskon = Double.parseDouble(d.get("totalDiskonD").toString());
|
||||
double hargaJualSetelahDiskon = hargaJual - totalDiskon;
|
||||
double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon;
|
||||
double persenRemunOperator = 100.00 - Double.parseDouble(d.get("persenDiskonD").toString());
|
||||
builder.nilai(persenRemunOperator * hargaJasa / 100);
|
||||
if (isFrontNote) {
|
||||
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
||||
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator
|
||||
+ "% karena diskon komponen operator " + d.get("persenDiskonD").toString() + "%");
|
||||
} else {
|
||||
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
||||
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator
|
||||
+ "% karena diskon komponen operator " + d.get("persenDiskonD").toString() + "%");
|
||||
}
|
||||
} else if (CommonUtil.isNotNullOrEmpty(d.get("totalDiskonAs"))
|
||||
&& Double.parseDouble(d.get("totalDiskonAs").toString()) > 0.0
|
||||
&& (CommonUtil.isNullOrEmpty(d.get("totalDiskonD"))
|
||||
|| Double.parseDouble(d.get("totalDiskonD").toString()) <= 0.0)
|
||||
&& (CommonUtil.isNullOrEmpty(d.get("totalDiskonAn"))
|
||||
|| Double.parseDouble(d.get("totalDiskonAn").toString()) <= 0.0)
|
||||
&& CommonUtil.isNullOrEmpty(d.get("idSayatan"))) {
|
||||
double totalDiskon = Double.parseDouble(d.get("totalDiskonAs").toString());
|
||||
double hargaJualSetelahDiskon = hargaJual - totalDiskon;
|
||||
double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon;
|
||||
double persenRemunAsisten = 100.00 - Double.parseDouble(d.get("persenDiskonAs").toString());
|
||||
builder.nilai(persenRemunAsisten * hargaJasa / 100);
|
||||
if (isFrontNote) {
|
||||
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
||||
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAsisten
|
||||
+ "% karena diskon komponen asisten " + d.get("persenDiskonAs").toString() + "%");
|
||||
} else {
|
||||
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
||||
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAsisten
|
||||
+ "% karena diskon komponen asisten " + d.get("persenDiskonAs").toString() + "%");
|
||||
}
|
||||
} else if (CommonUtil.isNotNullOrEmpty(d.get("totalDiskonAn"))
|
||||
&& Double.parseDouble(d.get("totalDiskonAn").toString()) > 0.0
|
||||
&& (CommonUtil.isNullOrEmpty(d.get("totalDiskonD"))
|
||||
|| Double.parseDouble(d.get("totalDiskonD").toString()) <= 0.0)
|
||||
&& (CommonUtil.isNullOrEmpty(d.get("totalDiskonAs"))
|
||||
|| Double.parseDouble(d.get("totalDiskonAs").toString()) <= 0.0)
|
||||
&& CommonUtil.isNullOrEmpty(d.get("idSayatan"))) {
|
||||
double totalDiskon = Double.parseDouble(d.get("totalDiskonAn").toString());
|
||||
double hargaJualSetelahDiskon = hargaJual - totalDiskon;
|
||||
double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon;
|
||||
double persenRemunAnestesi = 100.00 - Double.parseDouble(d.get("persenDiskonAn").toString());
|
||||
builder.nilai(persenRemunAnestesi * hargaJasa / 100);
|
||||
if (isFrontNote) {
|
||||
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
||||
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAnestesi
|
||||
+ "% karena diskon komponen anestesi " + d.get("persenDiskonAn").toString() + "%");
|
||||
} else {
|
||||
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon)
|
||||
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAnestesi
|
||||
+ "% karena diskon komponen anestesi " + d.get("persenDiskonAn").toString() + "%");
|
||||
}
|
||||
} else {
|
||||
builder.nilai(persenRemunerasi * hargaJual);
|
||||
builder.keterangan("");
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
package com.jasamedika.medifirst2000.dto;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
* @version 1.0.0
|
||||
* @since 26/02/2024
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class RemunHargaJasa {
|
||||
private Double nilai;
|
||||
private String keterangan;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user