Update service pelayanan pasien

Pembuatan filter id produk lab genetika di luar ruangan untuk penyesuaian aturan remun dokter lab genetika
This commit is contained in:
Salman Manoe 2023-07-27 14:08:55 +07:00
parent 87d592e9ef
commit d267159833
2 changed files with 41 additions and 3 deletions

View File

@ -449,6 +449,7 @@ public class Master {
public static final class SubUnitKerja {
public static final Integer KK_ANESTESI = 223;
public static final Integer KK_FARMAKOLOGI = 205;
public static final Integer KK_GENETIKA = 198;
public static final Integer KK_PATOLOGI_ANATOMI = 197;
public static final Integer KK_PATOLOGI_KLINIK = 199;
public static final Integer KK_PEDIATRIK_GD = 244;

View File

@ -217,7 +217,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
dateAwal = sdf.parse(tglAwal);
dateAkhir = sdf.parse(tglAkhir);
} catch (ParseException e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
List<Map<String, Object>> data = pelayananPasienDao.getDataPendapatan(Master.JenisPegawai.DOKTER, dateAwal,
@ -400,7 +400,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
date = df.parse(bulan);
dateLine = df.parse(GetSettingDataFixed("berlakuTargetJasaRemunDokter"));
} catch (ParseException e) {
e.printStackTrace();
System.out.println(e.getMessage());
return null;
}
/*
@ -451,6 +451,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
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> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
@ -465,6 +466,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
List<Integer> idsMonitoringIntervensi = splitDataSettingDatafixed("idMonitoringIntervensi");
List<Integer> idsMonitoringHemodinamikGagalOrgan = splitDataSettingDatafixed(
"idMonitoringHemodinamikGagalOrgan");
List<Integer> idProdukLabGenetikaLuarRuangan = splitDataSettingDatafixed("idProdukLabGenetikaLuarRuangan");
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
} else if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_KLINIK).contains(idPegawai)) {
@ -545,6 +547,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (Master.GolonganProduk.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"))
&& (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"))) {
d.put("hargaJasa", persenRemunLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
@ -1350,6 +1355,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
List<Double> listHargaJual = new ArrayList<>();
List<Integer> listIdKelompokPasien = new ArrayList<>();
List<String> listTanggal = new ArrayList<>();
DateFormat df = new SimpleDateFormat("yyyy-MM");
Date date;
try {
date = df.parse(bulan);
} catch (ParseException e) {
System.out.println(e.getMessage());
return null;
}
Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan);
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("remun");
Double target = Double.parseDouble(remunFfs.get("targetRemun").toString());
@ -1377,6 +1390,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
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> idProdukLabGenetikaLuarRuangan = splitDataSettingDatafixed("idProdukLabGenetikaLuarRuangan");
/*
* Set persen jasa dan harga jasa pasien bpjs di ibs, icu
*/
@ -1450,10 +1465,17 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
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"))
&& (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"))) {
d.put("persenJasa", persenRemunLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
d.put("hargaJasa", persenRemunLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
d.put("hargaJasa",
persenRemunLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString()));
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
d.put("persenJasa", persenRemunDokterPA + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
@ -1627,6 +1649,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
List<Integer> listIdKelompokPasien = new ArrayList<>();
List<String> listTanggal = new ArrayList<>();
List<String> listJenisRuangan = new ArrayList<>();
DateFormat df = new SimpleDateFormat("yyyy-MM");
Date date;
try {
date = df.parse(bulan);
} catch (ParseException e) {
System.out.println(e.getMessage());
return null;
}
Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan);
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("ffs");
/*
@ -1651,6 +1681,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
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> idProdukLabGenetikaLuarRuangan = splitDataSettingDatafixed("idProdukLabGenetikaLuarRuangan");
/*
* Mapping persentase jasa remunerasi
*/
@ -1706,6 +1738,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
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"))
&& (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"))) {
d.put("persenJasa", persenJasaLabGenetika + "%");
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)