Update PelayananPasienServiceImpl.java

Penerapan persen remun kk anestesi sebagai operator dan dokter anestesi di luar ibs dan tindakan mandiri radiologi
This commit is contained in:
Salman Manoe 2023-07-28 09:20:24 +07:00
parent d267159833
commit eaee1e7c0f

View File

@ -1,6 +1,5 @@
package com.jasamedika.medifirst2000.service.impl;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.*;
import com.jasamedika.medifirst2000.dto.TagihanPendaftaranDto;
@ -23,6 +22,23 @@ import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
import static com.jasamedika.medifirst2000.constants.Master.Departemen.*;
import static com.jasamedika.medifirst2000.constants.Master.Departemen.RADIOLOGI;
import static com.jasamedika.medifirst2000.constants.Master.FeeForService.HK_02_04_III_558_2015_4_B_1;
import static com.jasamedika.medifirst2000.constants.Master.FeeForService.HK_02_04_III_558_2015_5_B_C_D;
import static com.jasamedika.medifirst2000.constants.Master.GolonganProduk.KONSULTASI;
import static com.jasamedika.medifirst2000.constants.Master.GolonganProduk.VISIT;
import static com.jasamedika.medifirst2000.constants.Master.JenisPegawai.DOKTER;
import static com.jasamedika.medifirst2000.constants.Master.JenisPetugasPelaksana.*;
import static com.jasamedika.medifirst2000.constants.Master.JenisProduk.NONLOGBOOK;
import static com.jasamedika.medifirst2000.constants.Master.JenisProduk.OBAT_ALKES;
import static com.jasamedika.medifirst2000.constants.Master.KONSUL_VISIT;
import static com.jasamedika.medifirst2000.constants.Master.KategoryPegawai.DOKTER_LUAR;
import static com.jasamedika.medifirst2000.constants.Master.KelompokPasien.KELOMPOK_BPJS;
import static com.jasamedika.medifirst2000.constants.Master.Ruangan.*;
import static com.jasamedika.medifirst2000.constants.Master.SubUnitKerja.*;
import static com.jasamedika.medifirst2000.constants.Master.TipePegawai.PURNA_WAKTU;
/**
* Implement class for PelayananPasienService
*
@ -149,38 +165,36 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
List<Integer> idsKonsultasiDokterJaga = splitDataSettingDatafixed("pr_konsultasi_dokter_jaga");
if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(idKelPasien)) {
if (idDepartemen.equals(Master.Departemen.IGD)) {
if (Arrays.asList(KELOMPOK_BPJS).contains(idKelPasien)) {
if (idDepartemen.equals(IGD)) {
if (idsKonsultasiDokterJaga.contains(idLayanan)) {
result = 30000.0;
} else {
result = (hargaJual - hargaDiskon) * jumlahLayanan
* Master.FeeForService.HK_02_04_III_558_2015_5_B_C_D;
result = (hargaJual - hargaDiskon) * jumlahLayanan * HK_02_04_III_558_2015_5_B_C_D;
}
} else if (idDepartemen.equals(Master.Departemen.RAWAT_INAP)) {
if (tipePegawai.equals(Master.TipePegawai.PURNA_WAKTU)) {
result = (hargaJual - hargaDiskon) * jumlahLayanan
* Master.FeeForService.HK_02_04_III_558_2015_5_B_C_D;
} else if (idDepartemen.equals(RAWAT_INAP)) {
if (tipePegawai.equals(PURNA_WAKTU)) {
result = (hargaJual - hargaDiskon) * jumlahLayanan * HK_02_04_III_558_2015_5_B_C_D;
} else {
result = 0.0;
}
} else {
result = (hargaJual - hargaDiskon) * jumlahLayanan * Master.FeeForService.HK_02_04_III_558_2015_5_B_C_D;
result = (hargaJual - hargaDiskon) * jumlahLayanan * HK_02_04_III_558_2015_5_B_C_D;
}
} else {
if (idDepartemen.equals(Master.Departemen.IGD)) {
if (idDepartemen.equals(IGD)) {
if (idsKonsultasiDokterJaga.contains(idLayanan)) {
result = 30000.0;
} else {
result = (hargaJual - hargaDiskon) * jumlahLayanan;
}
} else if (idDepartemen.equals(Master.Departemen.RAWAT_INAP)) {
if (Arrays.stream(Master.KONSUL_VISIT).anyMatch(namaLayanan.toLowerCase()::contains)) {
if (tipePegawai.equals(Master.TipePegawai.PURNA_WAKTU)) {
if ((hargaJual - hargaDiskon) < Master.FeeForService.HK_02_04_III_558_2015_4_B_1) {
} else if (idDepartemen.equals(RAWAT_INAP)) {
if (Arrays.stream(KONSUL_VISIT).anyMatch(namaLayanan.toLowerCase()::contains)) {
if (tipePegawai.equals(PURNA_WAKTU)) {
if ((hargaJual - hargaDiskon) < HK_02_04_III_558_2015_4_B_1) {
result = (hargaJual - hargaDiskon) * jumlahLayanan;
} else {
result = Master.FeeForService.HK_02_04_III_558_2015_4_B_1 * jumlahLayanan;
result = HK_02_04_III_558_2015_4_B_1 * jumlahLayanan;
}
} else {
result = (hargaJual - hargaDiskon) * jumlahLayanan;
@ -220,8 +234,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
System.out.println(e.getMessage());
}
List<Map<String, Object>> data = pelayananPasienDao.getDataPendapatan(Master.JenisPegawai.DOKTER, dateAwal,
dateAkhir);
List<Map<String, Object>> data = pelayananPasienDao.getDataPendapatan(DOKTER, dateAwal, dateAkhir);
for (Map<String, Object> map : data) {
if (!listIdPegawai.contains(Integer.parseInt(map.get("idPegawai").toString()))
@ -244,7 +257,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
Double hargaDiskon = Double.parseDouble(map.get("hargaDiskon").toString());
Double jumlahLayanan = Double.parseDouble(map.get("jumlahLayanan").toString());
if (!map.get("idJenisProduk").equals(Master.JenisProduk.OBAT_ALKES)) {
if (!map.get("idJenisProduk").equals(OBAT_ALKES)) {
remun += calculateRemunWithFfs(idKelPasien, idDepartemen, idLayanan, namaLayanan, tipePegawai,
hargaJual, hargaDiskon, jumlahLayanan);
}
@ -267,9 +280,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
List<String> result = new ArrayList<>();
List<Integer> labRadiologi = new ArrayList<>();
labRadiologi.add(Master.Ruangan.LABORATORIUM_PATOLOGI_ANATOMI);
labRadiologi.add(Master.Ruangan.LABORATORIUM_PATOLOGI_KLINIK);
labRadiologi.add(Master.Ruangan.RADIOLOGI);
labRadiologi.add(LABORATORIUM_PATOLOGI_ANATOMI);
labRadiologi.add(LABORATORIUM_PATOLOGI_KLINIK);
labRadiologi.add(RADIOLOGI);
List<Integer> listProdukKlinik = splitDataSettingDatafixed("listProdukDiskonPegawai");
List<Integer> listProdukTht = splitDataSettingDatafixed("listProdukDiskonThtPegawai");
@ -280,9 +293,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
List<Integer> listProdukMpp = splitDataSettingDatafixed("listProdukDiskonPasien");
List<Map<String, Object>> data = pelayananPasienDao.findLayananTagihan(noRegistrasi, jenisDiskon,
Master.Ruangan.KLINIK_KARYAWAN, listProdukKlinik, Master.Ruangan.POLI_THT, listProdukTht,
Master.Ruangan.POLI_MATA, listProdukMata, Master.Ruangan.KLINIK_GIGI_KARYAWAN, listProdukGigi,
labRadiologi, listProdukLabRadiologi, listProdukFarmasi, listProdukMpp);
KLINIK_KARYAWAN, listProdukKlinik, POLI_THT, listProdukTht, POLI_MATA, listProdukMata,
KLINIK_GIGI_KARYAWAN, listProdukGigi, labRadiologi, listProdukLabRadiologi, listProdukFarmasi,
listProdukMpp);
List<PelayananPasien> models = new ArrayList<>();
for (Map<String, Object> map : data) {
@ -428,7 +441,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
double persenOperatorIBS = Double.parseDouble(GetSettingDataFixed("persenRemunOperatorIBS"));
double persenAsistenIBS = Double.parseDouble(GetSettingDataFixed("persenRemunAsistenIBS"));
double persenAnestesiIBS = Double.parseDouble(GetSettingDataFixed("persenRemunAnestesiIBS"));
double persenAnestesi = Double.parseDouble(GetSettingDataFixed("persenRemunAnestesiIBS"));
double persenRadiologi = Double.parseDouble(GetSettingDataFixed("persenRemunRadiologi"));
double persenLaboratorium = Double.parseDouble(GetSettingDataFixed("persenRemunLaboratorium"));
double persenRehabMedik = Double.parseDouble(GetSettingDataFixed("persenRemunRehabMedik"));
@ -445,13 +458,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
List<Integer> listDetailJenisProduk;
List<Integer> listDetailJenisProdukException = new ArrayList<>();
List<Integer> drKkPediatrikGDList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PEDIATRIK_GD);
List<Integer> drAnastesiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_ANESTESI);
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
List<Integer> drKkPerinatologiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PERINATOLOGI);
List<Integer> drKkPatologiAnatomiList = pegawaiDao
.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI);
List<Integer> drKkGenetika = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_GENETIKA);
List<Integer> drKkPediatrikGDList = pegawaiDao.getDokterByKelompokKerja(KK_PEDIATRIK_GD);
List<Integer> drAnastesiList = pegawaiDao.getDokterByKelompokKerja(KK_ANESTESI);
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(KK_UMUM);
List<Integer> drKkPerinatologiList = pegawaiDao.getDokterByKelompokKerja(KK_PERINATOLOGI);
List<Integer> drKkPatologiAnatomiList = pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_ANATOMI);
List<Integer> drKkGenetika = pegawaiDao.getDokterByKelompokKerja(KK_GENETIKA);
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
@ -467,11 +479,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
List<Integer> idsMonitoringHemodinamikGagalOrgan = splitDataSettingDatafixed(
"idMonitoringHemodinamikGagalOrgan");
List<Integer> idProdukLabGenetikaLuarRuangan = splitDataSettingDatafixed("idProdukLabGenetikaLuarRuangan");
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
if (pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
} else if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_KLINIK).contains(idPegawai)) {
} else if (pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_KLINIK).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPK;
} else if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_RADIOLOGI).contains(idPegawai)) {
} else if (pegawaiDao.getDokterByKelompokKerja(KK_RADIOLOGI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangRad;
} else {
listDetailJenisProduk = idsRegDJPMedisUtama;
@ -500,64 +512,64 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* Untuk diskon jasa medis oleh dpjp
*/
d.put("hargaJasa", 0.0);
} else if (Master.Ruangan.KLINIK_KARYAWAN.equals(d.get("idRuangan"))
|| Master.Ruangan.KLINIK_GIGI_KARYAWAN.equals(d.get("idRuangan"))) {
} 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)
&& Master.JenisPetugasPelaksana.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()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenOperatorIBS / 100;
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAsistenIBS / 100;
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAnestesiIBS / 100;
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAnestesi / 100;
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("hargaJasa", persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("hargaJasa", persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("hargaJasa", persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.RADIOLOGI.equals(d.get("idDepartemen"))) {
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.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()));
} else if (Master.GolonganProduk.KONSULTASI.equals(d.get("idGolonganProduk"))) {
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) {
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (drKkGenetika.contains(idPegawai) && idProdukLabGenetikaLuarRuangan.contains(d.get("idProduk"))
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
d.put("hargaJasa", persenRemunLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Arrays.asList(Master.Ruangan.GENETIKA).contains(d.get("idRuangan"))) {
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
d.put("hargaJasa", persenRemunLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
d.put("hargaJasa", persenRemunDokterPA / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.LABORATORIUM.equals(d.get("idDepartemen"))) {
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && Arrays.asList(Master.Ruangan.ICU_NICU)
.contains(Integer.parseInt(d.get("idRuangan").toString()))) {
} else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
double persenJasa = persenTindakan / 100;
d.put("hargaJasa", persenJasa * persenTarifICU * Double.parseDouble(d.get("hargaJual").toString()));
} else {
@ -570,8 +582,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
List<Map<String, Object>> rawDataBpjs0 = new ArrayList<>();
for (Map<String, Object> d : listData)
if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString())))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())))
rawDataBpjs0.add(d);
/*
* Filter tindakan operasi untuk pasien BPJS hanya diambil tarif
@ -580,7 +591,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
List<Map<String, Object>> rawDataBpjs1 = new ArrayList<>();
{
List<Map<String, Object>> bpjsBedahSentral = rawDataBpjs0.stream()
.filter(d -> Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen")))
.filter(d -> BEDAH_SENTRAL.equals(d.get("idDepartemen")))
.sorted(Comparator.comparing(o -> Double.parseDouble(o.get("jumlah").toString()),
Comparator.reverseOrder()))
.sorted(Comparator.comparing(o -> Double.parseDouble(o.get("hargaJual").toString()),
@ -594,10 +605,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
listIdPelayananPasien.add(b.get("idPelayananPasien").toString());
}
for (Map<String, Object> d : rawDataBpjs0)
if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& listIdPelayananPasien.contains(d.get("idPelayananPasien").toString())) {
rawDataBpjs1.add(d);
} else if (!Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) {
} else if (!BEDAH_SENTRAL.equals(d.get("idDepartemen"))) {
rawDataBpjs1.add(d);
}
}
@ -613,7 +624,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
List<Map<String, Object>> listEpisode = new ArrayList<>();
for (Map<String, Object> d : rawDataBpjs1) {
if (Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) {
if (VISIT.equals(d.get("idGolonganProduk"))) {
boolean existEpisode = false;
for (Map<String, Object> e : listEpisode)
if (e.get("id").toString().equals(d.get("idPasienDaftar"))
@ -637,7 +648,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
for (Map<String, Object> d : rawDataBpjs1) {
int count = 1;
for (Map<String, Object> e : listEpisode)
if (Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) {
if (VISIT.equals(d.get("idGolonganProduk"))) {
if (d.get("idPasienDaftar").toString().equals(e.get("id"))
&& Integer.valueOf(d.get("idProduk").toString()).equals(e.get("idProduk"))
&& d.get("tanggal").toString().equals(e.get("tanggal"))
@ -651,7 +662,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else {
break;
}
if (!Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk")) && count == 1)
if (!VISIT.equals(d.get("idGolonganProduk")) && count == 1)
rawDataBpjs2.add(d);
}
} else {
@ -670,9 +681,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
List<Map<String, Object>> listEpisode = new ArrayList<>();
for (Map<String, Object> d : rawDataBpjs2) {
if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(Master.Ruangan.ICU_NICU)
.contains(Integer.parseInt(d.get("idRuangan").toString()))
&& Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) {
&& Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))
&& VISIT.equals(d.get("idGolonganProduk"))) {
boolean existEpisode = false;
for (Map<String, Object> e : listEpisode)
if (e.get("id").toString().equals(d.get("idPasienDaftar"))
@ -697,9 +707,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
int count = 1;
for (Map<String, Object> e : listEpisode)
if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(Master.Ruangan.ICU_NICU)
.contains(Integer.parseInt(d.get("idRuangan").toString()))
&& Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) {
&& Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))
&& VISIT.equals(d.get("idGolonganProduk"))) {
if (d.get("idPasienDaftar").toString().equals(e.get("id"))
&& Integer.valueOf(d.get("idProduk").toString()).equals(e.get("idProduk"))
&& d.get("tanggal").toString().equals(e.get("tanggal"))
@ -713,10 +722,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else {
break;
}
if ((CommonUtil.isNullOrEmpty(d.get("idRuangan"))
|| (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && !Arrays.asList(Master.Ruangan.ICU_NICU)
.contains(Integer.parseInt(d.get("idRuangan").toString()))))
|| !Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk")) && count == 1)
if ((CommonUtil.isNullOrEmpty(d.get("idRuangan")) || (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& !Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))))
|| !VISIT.equals(d.get("idGolonganProduk")) && count == 1)
rawDataBpjs3.add(d);
}
} else {
@ -735,8 +743,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
List<Map<String, Object>> listEpisode = new ArrayList<>();
for (Map<String, Object> d : rawDataBpjs3) {
if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(Master.Ruangan.ICU_NICU)
.contains(Integer.parseInt(d.get("idRuangan").toString()))
&& Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))
&& idsMonitoringHemodinamikGagalOrgan
.contains(Integer.parseInt(d.get("idProduk").toString()))) {
boolean existEpisode = false;
@ -763,8 +770,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
int count = 1;
for (Map<String, Object> e : listEpisode)
if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(Master.Ruangan.ICU_NICU)
.contains(Integer.parseInt(d.get("idRuangan").toString()))
&& Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))
&& idsMonitoringHemodinamikGagalOrgan
.contains(Integer.parseInt(d.get("idProduk").toString()))) {
if (d.get("idPasienDaftar").toString().equals(e.get("id"))
@ -780,9 +786,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else {
break;
}
if ((CommonUtil.isNullOrEmpty(d.get("idRuangan"))
|| (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && !Arrays.asList(Master.Ruangan.ICU_NICU)
.contains(Integer.parseInt(d.get("idRuangan").toString()))))
if ((CommonUtil.isNullOrEmpty(d.get("idRuangan")) || (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& !Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))))
|| !idsMonitoringHemodinamikGagalOrgan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& count == 1)
rawDataBpjs4.add(d);
@ -802,8 +807,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
List<Map<String, Object>> listEpisode = new ArrayList<>();
for (Map<String, Object> d : rawDataBpjs4) {
if ((Master.Ruangan.NICU.equals(d.get("idRuangan"))
|| Master.Ruangan.NICU_COVID.equals(d.get("idRuangan")))
if ((NICU.equals(d.get("idRuangan")) || NICU_COVID.equals(d.get("idRuangan")))
&& idsMonitoringIntervensi.contains(Integer.parseInt(d.get("idProduk").toString()))) {
boolean existEpisode = false;
for (Map<String, Object> e : listEpisode)
@ -828,8 +832,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
for (Map<String, Object> d : rawDataBpjs4) {
int count = 1;
for (Map<String, Object> e : listEpisode)
if ((Master.Ruangan.NICU.equals(d.get("idRuangan"))
|| Master.Ruangan.NICU_COVID.equals(d.get("idRuangan")))
if ((NICU.equals(d.get("idRuangan")) || NICU_COVID.equals(d.get("idRuangan")))
&& idsMonitoringIntervensi.contains(Integer.parseInt(d.get("idProduk").toString()))) {
if (d.get("idPasienDaftar").toString().equals(e.get("id"))
&& Integer.valueOf(d.get("idProduk").toString()).equals(e.get("idProduk"))
@ -844,8 +847,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else {
break;
}
if (((!Master.Ruangan.NICU.equals(d.get("idRuangan"))
&& !Master.Ruangan.NICU_COVID.equals(d.get("idRuangan")))
if (((!NICU.equals(d.get("idRuangan")) && !NICU_COVID.equals(d.get("idRuangan")))
|| !idsMonitoringIntervensi.contains(Integer.parseInt(d.get("idProduk").toString())))
&& count == 1)
rawDataBpjs5.add(d);
@ -866,9 +868,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
.atZone(ZoneId.systemDefault()).toLocalDateTime();
for (Map<String, Object> j : listJadwalKerja) {
if ((CommonUtil.isNullOrEmpty(d.get("idKelompokPasien"))
|| (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& !Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))))
|| (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && !Arrays.asList(KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))))
&& CommonUtil.isNotNullOrEmpty(j.get("jamMasuk"))) {
LocalDate tglMasuk = ((Date) j.get("tanggal")).toInstant().atZone(ZoneId.systemDefault())
.toLocalDate();
@ -901,9 +902,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
LocalDate tglMasuk = ((Date) j.get("tanggal")).toInstant().atZone(ZoneId.systemDefault())
.toLocalDate();
if (CommonUtil.isNullOrEmpty(d.get("idKelompokPasien"))
|| (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& !Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))))
|| (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && !Arrays.asList(KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))))
if (CommonUtil.isNullOrEmpty(j.get("jamMasuk"))) {
if (tglPelayanan.isEqual(tglMasuk)) {
listDataLuarJamKerja.add(d);
@ -941,14 +941,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
List<Map<String, Object>> listPelayananRemun = new ArrayList<>();
List<Map<String, Object>> listPelayananFfs = new ArrayList<>();
double capaianRemun = 0.0;
if (pegawaiDao.getPegawaiByKategoryPegawai(Arrays.asList(Master.KategoryPegawai.DOKTER_LUAR))
.contains(idPegawai)) {
if (pegawaiDao.getPegawaiByKategoryPegawai(Arrays.asList(DOKTER_LUAR)).contains(idPegawai)) {
/*
* Dokter luar hanya mendapatkan ffs
*/
for (Map<String, Object> next = queuePelayanan.poll(); next != null; next = queuePelayanan.poll())
if (CommonUtil.isNotNullOrEmpty(next.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
&& Arrays.asList(KELOMPOK_BPJS)
.contains(Integer.parseInt(next.get("idKelompokPasien").toString()))
&& idsDokterBPJSffs.contains(idPegawai)) {
/*
@ -956,16 +955,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
listPelayananFfs.add(next);
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK)
.contains(Integer.parseInt(next.get("idJenisProduk").toString())))) {
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) && !Arrays.asList(NONLOGBOOK)
.contains(Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananFfs.add(next);
}
} else {
for (Map<String, Object> next = queuePelayanan.poll(); next != null; next = queuePelayanan.poll())
if (CommonUtil.isNotNullOrEmpty(next.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(next.get("idKelompokPasien").toString()))) {
if (CommonUtil.isNotNullOrEmpty(next.get("idKelompokPasien")) && Arrays.asList(KELOMPOK_BPJS)
.contains(Integer.parseInt(next.get("idKelompokPasien").toString()))) {
/*
* Urutan alokasi bpjs sebagai urutan prioritas
*/
@ -980,12 +977,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (((CommonUtil.isNotNullOrEmpty(next.get("idDepartemen"))
&& Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA)
&& Arrays.asList(GRUP_RAWAT_JALAN_UTAMA)
.contains(Integer.parseInt(next.get("idDepartemen").toString())))
|| Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk")))
|| VISIT.equals(next.get("idGolonganProduk")))
&& (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
&& !Arrays.asList(NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString()))))) {
/*
* Dibatasi hanya di rawat jalan atau visite saja
@ -1014,7 +1011,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
&& !Arrays.asList(NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
@ -1023,8 +1020,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& Master.Departemen.IGD.equals(next.get("idDepartemen"))
&& drKsmUmumList.contains(idPegawai)
&& IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) {
/*
* Aturan dokter ksm umum di igd
@ -1051,9 +1047,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA
.equals(next.get("idJenisPelaksana"))
&& Master.Departemen.RADIOLOGI.equals(next.get("idDepartemen"))) {
} else if (DOKTER_PEMERIKSA.equals(next.get("idJenisPelaksana"))
&& RADIOLOGI.equals(next.get("idDepartemen"))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
}
@ -1076,7 +1071,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
&& !Arrays.asList(NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
@ -1099,12 +1094,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if ((CommonUtil.isNotNullOrEmpty(next.get("idDepartemen"))
&& Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA)
&& Arrays.asList(GRUP_RAWAT_JALAN_UTAMA)
.contains(Integer.parseInt(next.get("idDepartemen").toString())))
|| Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk")) && (CommonUtil
|| VISIT.equals(next.get("idGolonganProduk")) && (CommonUtil
.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
&& !Arrays.asList(NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString()))))) {
/*
* Dibatasi hanya di rawat jalan atau visite saja
@ -1133,7 +1128,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
&& !Arrays.asList(NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
@ -1142,8 +1137,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& Master.Departemen.IGD.equals(next.get("idDepartemen"))
&& drKsmUmumList.contains(idPegawai)
&& IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) {
/*
* Aturan dokter ksm umum di igd
@ -1170,9 +1164,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA
.equals(next.get("idJenisPelaksana"))
&& Master.Departemen.RADIOLOGI.equals(next.get("idDepartemen"))) {
} else if (DOKTER_PEMERIKSA.equals(next.get("idJenisPelaksana"))
&& RADIOLOGI.equals(next.get("idDepartemen"))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
}
@ -1195,7 +1188,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
&& !Arrays.asList(NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
@ -1216,12 +1209,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
listPelayananFfs.add(next);
} else if ((CommonUtil.isNotNullOrEmpty(next.get("idDepartemen"))
&& Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_UTAMA)
&& Arrays.asList(GRUP_RAWAT_JALAN_UTAMA)
.contains(Integer.parseInt(next.get("idDepartemen").toString())))
|| Master.GolonganProduk.VISIT.equals(next.get("idGolonganProduk")) && (CommonUtil
|| VISIT.equals(next.get("idGolonganProduk")) && (CommonUtil
.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
&& !Arrays.asList(NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString()))))) {
/*
* Dibatasi hanya di rawat jalan atau visite saja
@ -1248,7 +1241,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
listPelayananFfs.add(next);
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
&& !Arrays.asList(NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananFfs.add(next);
}
@ -1256,8 +1249,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& Master.Departemen.IGD.equals(next.get("idDepartemen"))
&& drKsmUmumList.contains(idPegawai)
&& IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) {
/*
* Aturan dokter ksm umum di igd
@ -1282,9 +1274,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA
.equals(next.get("idJenisPelaksana"))
&& Master.Departemen.RADIOLOGI.equals(next.get("idDepartemen"))) {
} else if (DOKTER_PEMERIKSA.equals(next.get("idJenisPelaksana"))
&& RADIOLOGI.equals(next.get("idDepartemen"))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
}
@ -1306,7 +1297,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
listPelayananFfs.add(next);
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(Master.JenisProduk.NONLOGBOOK).contains(
&& !Arrays.asList(NONLOGBOOK).contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananFfs.add(next);
}
@ -1364,6 +1355,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
return null;
}
Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan);
@SuppressWarnings("unchecked")
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("remun");
Double target = Double.parseDouble(remunFfs.get("targetRemun").toString());
String targetFormatted = remunFfs.get("targetRemunFormatted").toString();
@ -1372,7 +1364,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
double persenOperatorIBS = Double.parseDouble(GetSettingDataFixed("persenRemunOperatorIBS"));
double persenAsistenIBS = Double.parseDouble(GetSettingDataFixed("persenRemunAsistenIBS"));
double persenAnestesiIBS = Double.parseDouble(GetSettingDataFixed("persenRemunAnestesiIBS"));
double persenAnestesi = Double.parseDouble(GetSettingDataFixed("persenRemunAnestesiIBS"));
double persenRadiologi = Double.parseDouble(GetSettingDataFixed("persenRemunRadiologi"));
double persenLaboratorium = Double.parseDouble(GetSettingDataFixed("persenRemunLaboratorium"));
double persenRehabMedik = Double.parseDouble(GetSettingDataFixed("persenRemunRehabMedik"));
@ -1387,10 +1379,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
/*
* Persiapan filter logic remunerasi
*/
List<Integer> drKkPatologiAnatomiList = pegawaiDao
.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI);
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
List<Integer> drKkGenetika = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_GENETIKA);
List<Integer> drKkPatologiAnatomiList = pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_ANATOMI);
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(KK_UMUM);
List<Integer> drKkGenetika = pegawaiDao.getDokterByKelompokKerja(KK_GENETIKA);
List<Integer> drAnastesiList = pegawaiDao.getDokterByKelompokKerja(KK_ANESTESI);
List<Integer> idProdukLabGenetikaLuarRuangan = splitDataSettingDatafixed("idProdukLabGenetikaLuarRuangan");
/*
* Set persen jasa dan harga jasa pasien bpjs di ibs, icu
@ -1401,77 +1393,82 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* Mapping persentase jasa remunerasi
*/
for (Map<String, Object> d : listData) {
if (drKsmUmumList.contains(idPegawai)
&& Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenRemunDokterUmumHD + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenRemunDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenOperatorIBS / 100;
d.put("persenJasa", persenTarifJasaBedah + "% + " + persenOperatorIBS + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAsistenIBS / 100;
d.put("persenJasa", persenTarifJasaBedah + "% + " + persenAsistenIBS + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAnestesiIBS / 100;
d.put("persenJasa", persenTarifJasaBedah + "% + " + persenAnestesiIBS + "%");
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
double persenJasa = persenAnestesi / 100;
d.put("persenJasa", persenTarifJasaBedah + "% + " + persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasa * persenTarifIBS * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenOperatorIBS + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAsistenIBS + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesiIBS + "%");
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.RADIOLOGI.equals(d.get("idDepartemen"))) {
d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRadiologi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.REHAB_MEDIK.equals(d.get("idDepartemen"))) {
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRehabMedik + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRehabMedik / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.GolonganProduk.KONSULTASI.equals(d.get("idGolonganProduk"))) {
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
d.put("persenJasa", persenKonsultasi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) {
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
d.put("persenJasa", persenVisite + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (drKkGenetika.contains(idPegawai) && idProdukLabGenetikaLuarRuangan.contains(d.get("idProduk"))
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenTindakan + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
d.put("persenJasa", persenRemunLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenRemunLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Arrays.asList(Master.Ruangan.GENETIKA).contains(d.get("idRuangan"))) {
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
d.put("persenJasa", persenRemunLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
@ -1480,12 +1477,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("persenJasa", persenRemunDokterPA + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRemunDokterPA / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.LABORATORIUM.equals(d.get("idDepartemen"))) {
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenLaboratorium + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && Arrays.asList(Master.Ruangan.ICU_NICU)
.contains(Integer.parseInt(d.get("idRuangan").toString()))) {
} else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
double persenJasa = persenTindakan / 100;
d.put("persenJasa", persenTarifJasaICU + "% + " + persenTindakan + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
@ -1658,6 +1655,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
return null;
}
Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan);
@SuppressWarnings("unchecked")
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("ffs");
/*
* Mendapatkan persentase jasa
@ -1665,7 +1663,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
double persenBPJS = Double.parseDouble(GetSettingDataFixed("persenJasaBPJS"));
double persenOperatorIBS = Double.parseDouble(GetSettingDataFixed("persenJasaOperatorIBS"));
double persenAsistenIBS = Double.parseDouble(GetSettingDataFixed("persenJasaAsistenIBS"));
double persenAnestesiIBS = Double.parseDouble(GetSettingDataFixed("persenJasaAnestesiIBS"));
double persenAnestesi = Double.parseDouble(GetSettingDataFixed("persenJasaAnestesiIBS"));
double persenRadiologi = Double.parseDouble(GetSettingDataFixed("persenJasaRadiologi"));
double persenLaboratorium = Double.parseDouble(GetSettingDataFixed("persenJasaLaboratorium"));
double persenRehabMedik = Double.parseDouble(GetSettingDataFixed("persenJasaRehabMedik"));
@ -1678,18 +1676,17 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
/*
* Persiapan filter logic remunerasi
*/
List<Integer> drKkPatologiAnatomiList = pegawaiDao
.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI);
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
List<Integer> drKkGenetika = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_GENETIKA);
List<Integer> drKkPatologiAnatomiList = pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_ANATOMI);
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(KK_UMUM);
List<Integer> drKkGenetika = pegawaiDao.getDokterByKelompokKerja(KK_GENETIKA);
List<Integer> drAnastesiList = pegawaiDao.getDokterByKelompokKerja(KK_ANESTESI);
List<Integer> idProdukLabGenetikaLuarRuangan = splitDataSettingDatafixed("idProdukLabGenetikaLuarRuangan");
/*
* Mapping persentase jasa remunerasi
*/
for (Map<String, Object> d : listData) {
if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS)
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
/*
* Set persen jasa dokter luar yang klaim ffs dengan persen jasa
* dari tarif total
@ -1701,49 +1698,57 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenBPJS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (drKsmUmumList.contains(idPegawai)
&& Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenJasaDokterUmumHD + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa",
persenJasaDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenOperatorIBS + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAsistenIBS + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesiIBS + "%");
} else if (BEDAH_SENTRAL.equals(d.get("idDepartemen"))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.RADIOLOGI.equals(d.get("idDepartemen"))) {
d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRadiologi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.REHAB_MEDIK.equals(d.get("idDepartemen"))) {
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenRehabMedik + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRehabMedik / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.GolonganProduk.KONSULTASI.equals(d.get("idGolonganProduk"))) {
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
d.put("persenJasa", persenKonsultasi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk"))) {
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
d.put("persenJasa", persenVisite + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (drKkGenetika.contains(idPegawai) && idProdukLabGenetikaLuarRuangan.contains(d.get("idProduk"))
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenTindakan + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
d.put("persenJasa", persenAnestesi + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
d.put("persenJasa", persenJasaLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasaLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Arrays.asList(Master.Ruangan.GENETIKA).contains(d.get("idRuangan"))) {
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
d.put("persenJasa", persenJasaLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasaLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
@ -1751,7 +1756,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("persenJasa", persenJasaDokterPA + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenJasaDokterPA / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.Departemen.LABORATORIUM.equals(d.get("idDepartemen"))) {
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
d.put("persenJasa", persenLaboratorium + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString()));