From 7879fb6ddb9f35dfcf96e63bea22d4f74e5fb1ef Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Wed, 29 Sep 2021 21:07:53 +0700 Subject: [PATCH] - perbaikan service hitung target pelayanan medis otomatis karena harga diskon null dan filter detail jenis produk - penambahan kondisi kategori remunerasi dan level jabatan dokter untuk filter perhitungan target pelayanan medis otomatis --- .../dao/IkiDanRemunerasiDao.java | 23 +++++---- .../impl/IkiDanRemunerasiServiceImpl.java | 47 ++++++++++--------- 2 files changed, 37 insertions(+), 33 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IkiDanRemunerasiDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IkiDanRemunerasiDao.java index 046e8923..9c25998c 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IkiDanRemunerasiDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IkiDanRemunerasiDao.java @@ -100,7 +100,7 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository :asuransiLainId and pd.rekananId is not null and pd.rekananId <> :jaminanKemenkesId) " @@ -127,14 +129,15 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository> getDataLayananJamKerja(@Param("tglAwal") Date tglAwal, @Param("psbbAwal") Date psbbAwal, @Param("psbbAkhir") Date psbbAkhir, @Param("tglAkhir") Date tglAkhir, @Param("listNonjadwalId") List listIdNonjadwal, @Param("jenisPegawaiId") Integer idJenisPegawai, - @Param("listDepartemenId") List listIdDepartemen, @Param("listKsmId") List listIdKsm, + @Param("listDepartemenId") List listIdDepartemen, + @Param("listKategoriRemun") List listKategoriRemun, @Param("listKsmId") List listIdKsm, @Param("listNontindakanId") List listIdNontindakan, @Param("listBpjsId") List listIdBpjs, @Param("asuransiLainId") Integer idAsuransiLain, @Param("jaminanKemenkesId") Integer idJaminanKemenkes, @Param("karcisId") Integer idKarcis); // Target_pelayanan_luar_jam_kerja @Query("select distinct new Map(ppp.ObjectJenisPetugasPeId as jenisPetugasId," - + "pp.noRec as noRec,pp.tglPelayanan as tglPelayanan,pp.hargaDiscount as hargaDiskon,pp.jumlah as jumlahTindakan," + + "pp.noRec as noRec,pp.tglPelayanan as tglPelayanan,coalesce(pp.hargaDiscount,0) as hargaDiskon,pp.jumlah as jumlahTindakan," + "pg.id as pegawaiId,pg.namaLengkap as namaLengkap," + "jb.id as jabatanId,jb.namaJabatan as namaJabatan," + "pr.id as idTindakan,pr.namaProduk as namaTindakan," + "djp.id as djpId," + "ru.departemenId as idDepartemen,ru.id as idRuangan," + "pd.diskonPegawai as statusDiskon) " diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IkiDanRemunerasiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IkiDanRemunerasiServiceImpl.java index a2a0ad8e..d4334057 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IkiDanRemunerasiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IkiDanRemunerasiServiceImpl.java @@ -545,15 +545,16 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik List> dataRaw = ikiDanRemunerasiDao.getDataLayananJamKerja(calTglAwal.getTime(), bulan.getTime(), pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER, - Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), Arrays.asList(Master.UnitKerja.KSM), - Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), - Master.KelompokPasien.ASURANSI_LAIN, Master.Rekanan.JAMINAN_KEMENKES, Master.Produk.KARCIS); + Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), Arrays.asList(Master.KategoryPegawai.REMUN), + Arrays.asList(Master.UnitKerja.KSM), Arrays.asList(Master.JenisProduk.NONTINDAKAN), + Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), Master.KelompokPasien.ASURANSI_LAIN, + Master.Rekanan.JAMINAN_KEMENKES, Master.Produk.KARCIS); // filter detail jenis produk for (Map map : dataRaw) { if (listIdDokterLabPA.contains(map.get("pegawaiId"))) { - List listIdTempLabPA = listIdDJPLabPA; - List listIdTempAdmPK = listIdDJPAdmPK; + List listIdTempLabPA = new ArrayList(listIdDJPLabPA); + List listIdTempAdmPK = new ArrayList(listIdDJPAdmPK); if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) { listIdTempAdmPK.removeAll(listIdTempLabPA); if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) { @@ -564,8 +565,8 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik dataLayananRaw.add(map); } } else if (listIdDokterLabPK.contains(map.get("pegawaiId"))) { - List listIdTempLabPK = listIdDJPLabPK; - List listIdTempAdmPK = listIdDJPAdmPK; + List listIdTempLabPK = new ArrayList(listIdDJPLabPK); + List listIdTempAdmPK = new ArrayList(listIdDJPAdmPK); if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) { listIdTempAdmPK.removeAll(listIdTempLabPK); if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) { @@ -576,8 +577,8 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik dataLayananRaw.add(map); } } else if (listIdDokterRad.contains(map.get("pegawaiId"))) { - List listIdTempRad = listIdDJPRad; - List listIdTempAdmPK = listIdDJPAdmPK; + List listIdTempRad = new ArrayList(listIdDJPRad); + List listIdTempAdmPK = new ArrayList(listIdDJPAdmPK); if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) { listIdTempAdmPK.removeAll(listIdTempRad); if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) { @@ -588,8 +589,8 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik dataLayananRaw.add(map); } } else if (listIdDJPUtama.contains(map.get("djpId"))) { - List listIdTempUtama = listIdDJPUtama; - List listIdTempAdmPK = listIdDJPAdmPK; + List listIdTempUtama = new ArrayList(listIdDJPUtama); + List listIdTempAdmPK = new ArrayList(listIdDJPAdmPK); if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) { listIdTempAdmPK.removeAll(listIdTempUtama); if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) { @@ -600,8 +601,8 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik dataLayananRaw.add(map); } } else if (!listIdDJPUtama.contains(map.get("djpId"))) { - List listIdTempUtama = listIdDJPUtama; - List listIdTempAdmPK = listIdDJPAdmPK; + List listIdTempUtama = new ArrayList(listIdDJPUtama); + List listIdTempAdmPK = new ArrayList(listIdDJPAdmPK); if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) { listIdTempAdmPK.removeAll(listIdTempUtama); if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) { @@ -1066,8 +1067,8 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik // filter detail jenis produk for (Map map : dataRaw) { if (listIdDokterLabPA.contains(map.get("pegawaiId"))) { - List listIdTempLabPA = listIdDJPLabPA; - List listIdTempAdmPK = listIdDJPAdmPK; + List listIdTempLabPA = new ArrayList(listIdDJPLabPA); + List listIdTempAdmPK = new ArrayList(listIdDJPAdmPK); if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) { listIdTempAdmPK.removeAll(listIdTempLabPA); if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) { @@ -1078,8 +1079,8 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik dataLayananRaw.add(map); } } else if (listIdDokterLabPK.contains(map.get("pegawaiId"))) { - List listIdTempLabPK = listIdDJPLabPK; - List listIdTempAdmPK = listIdDJPAdmPK; + List listIdTempLabPK = new ArrayList(listIdDJPLabPK); + List listIdTempAdmPK = new ArrayList(listIdDJPAdmPK); if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) { listIdTempAdmPK.removeAll(listIdTempLabPK); if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) { @@ -1090,8 +1091,8 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik dataLayananRaw.add(map); } } else if (listIdDokterRad.contains(map.get("pegawaiId"))) { - List listIdTempRad = listIdDJPRad; - List listIdTempAdmPK = listIdDJPAdmPK; + List listIdTempRad = new ArrayList(listIdDJPRad); + List listIdTempAdmPK = new ArrayList(listIdDJPAdmPK); if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) { listIdTempAdmPK.removeAll(listIdTempRad); if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) { @@ -1102,8 +1103,8 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik dataLayananRaw.add(map); } } else if (listIdDJPUtama.contains(map.get("djpId"))) { - List listIdTempUtama = listIdDJPUtama; - List listIdTempAdmPK = listIdDJPAdmPK; + List listIdTempUtama = new ArrayList(listIdDJPUtama); + List listIdTempAdmPK = new ArrayList(listIdDJPAdmPK); if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) { listIdTempAdmPK.removeAll(listIdTempUtama); if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) { @@ -1114,8 +1115,8 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik dataLayananRaw.add(map); } } else if (!listIdDJPUtama.contains(map.get("djpId"))) { - List listIdTempUtama = listIdDJPUtama; - List listIdTempAdmPK = listIdDJPAdmPK; + List listIdTempUtama = new ArrayList(listIdDJPUtama); + List listIdTempAdmPK = new ArrayList(listIdDJPAdmPK); if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) { listIdTempAdmPK.removeAll(listIdTempUtama); if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) {