From e3927fea15fab474e53f93c838dea8963aac9f64 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Wed, 18 Aug 2021 16:11:37 +0700 Subject: [PATCH] - perbaikan parameter query validasi edit mapping harga layanan terhadap kelas - penerapan kategori departemen termasuk rawat jalan untuk hitung target layanan - penerapan kategori departemen termasuk rawat jalan untuk logbook skor kinerja dokter - penerapan kategori departemen termasuk rawat jalan untuk detail logbook skor kinerja dokter - penerapan kategori departemen termasuk rawat jalan untuk update diskon pelayanan pasien --- .../dao/HargaNettoProdukByKelasDao.java | 2 +- .../dao/IkiDanRemunerasiDao.java | 40 +++++++++++-------- .../medifirst2000/dao/PelayananPasienDao.java | 11 ++--- .../impl/IkiDanRemunerasiServiceImpl.java | 10 +++-- .../impl/LogbookKinerjaServiceImpl.java | 24 ++++++----- .../impl/PelayananPasienServiceImpl.java | 2 +- 6 files changed, 51 insertions(+), 38 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/HargaNettoProdukByKelasDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/HargaNettoProdukByKelasDao.java index f2fd6ff3..a70d91e8 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/HargaNettoProdukByKelasDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/HargaNettoProdukByKelasDao.java @@ -36,7 +36,7 @@ public interface HargaNettoProdukByKelasDao extends PagingAndSortingRepository mappingId " + + "where hnk.produkId = :produkId " + "and hnk.kelasId = :kelasId " + "and hnk.id <> :mappingId " + "and hnk.statusEnabled is true") public List> checkExisting(@Param("kelasId") Integer idKelas, @Param("produkId") Integer idProduk, @Param("mappingId") Integer idMapping); 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 35201df0..d56d28f9 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 @@ -117,9 +117,9 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository :karcisId " @@ -127,8 +127,9 @@ 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("listKsmId") List listIdKsm, @Param("listNontindakanId") List listIdNontindakan, - @Param("listBpjsId") List listIdBpjs, @Param("karcisId") Integer idKarcis); + @Param("listDepartemenId") List listIdDepartemen, @Param("listKsmId") List listIdKsm, + @Param("listNontindakanId") List listIdNontindakan, @Param("listBpjsId") List listIdBpjs, + @Param("karcisId") Integer idKarcis); // Target_pelayanan_luar_jam_kerja @Query("select distinct new Map(ppp.ObjectJenisPetugasPeId as jenisPetugasId," @@ -148,10 +149,10 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository> getDataLayananLuarJamKerja(@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("listKsmId") List listIdKsm, @Param("listNontindakanId") List listIdNontindakan, - @Param("listBpjsId") List listIdBpjs, @Param("karcisId") Integer idKarcis); + @Param("listDepartemenId") List listIdDepartemen, @Param("listKsmId") List listIdKsm, + @Param("listNontindakanId") List listIdNontindakan, @Param("listBpjsId") List listIdBpjs, + @Param("karcisId") Integer idKarcis); // Kinerja_jam_kerja_dokter String KinerjaJamKerjaDokter = "select distinct new Map(ppp.ObjectJenisPetugasPeId as jenisPetugasId," @@ -178,9 +180,9 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository :karcisId " @@ -195,6 +197,7 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository listIdNonjadwal, @Param("jenisPegawaiId") Integer idJenisPegawai, @Param("listPegawaiId") List listIdPegawai, + @Param("listDepartemenId") List listIdDepartemen, @Param("listDetailJenisProdukId") List listIdDetailJenisProduk, @Param("listNontindakanId") List listIdNontindakan, @Param("listBpjsId") List listIdBpjs, @Param("karcisId") Integer idKarcis); @@ -204,6 +207,7 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository listIdNonjadwal, @Param("jenisPegawaiId") Integer idJenisPegawai, @Param("listPegawaiId") List listIdPegawai, + @Param("listDepartemenId") List listIdDepartemen, @Param("listNontindakanId") List listIdNontindakan, @Param("listBpjsId") List listIdBpjs, @Param("karcisId") Integer idKarcis); @@ -222,10 +226,10 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository> getDataLogbookLuarJamKerjaDokter(@Param("bulan") String bulan, @Param("psbbAwal") Date psbbAwal, @Param("psbbAkhir") Date psbbAkhir, @Param("listNonjadwalId") List listIdNonjadwal, @Param("jenisPegawaiId") Integer idJenisPegawai, - @Param("pegawaiId") Integer idPegawai, + @Param("pegawaiId") Integer idPegawai, @Param("listDepartemenId") List listIdDepartemen, @Param("listDetailJenisProdukId") List listIdDetailJenisProduk, @Param("listNontindakanId") List listIdNontindakan, @Param("listBpjsId") List listIdBpjs, @Param("karcisId") Integer idKarcis); @@ -257,9 +261,9 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository listIdNonjadwal, @Param("jenisPegawaiId") Integer idJenisPegawai, @Param("pegawaiId") Integer idPegawai, + @Param("listDepartemenId") List listIdDepartemen, @Param("listDetailJenisProdukId") List listIdDetailJenisProduk, @Param("listNontindakanId") List listIdNontindakan, @Param("listBpjsId") List listIdBpjs, @Param("karcisId") Integer idKarcis); @@ -290,10 +295,10 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository listIdNonjadwal, @Param("jenisPegawaiId") Integer idJenisPegawai, @Param("pegawaiId") Integer idPegawai, + @Param("listDepartemenId") List listIdDepartemen, @Param("listDetailJenisProdukId") List listIdDetailJenisProduk, @Param("listNontindakanId") List listIdNontindakan, @Param("listBpjsId") List listIdBpjs, @Param("karcisId") Integer idKarcis); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java index f4a1d9ad..104f4b24 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java @@ -161,10 +161,10 @@ public interface PelayananPasienDao extends PagingAndSortingRepository= pp.hargaJual then coalesce(pp.hargaDiscount,0) " + "when :jenisDiskon = 1 and pr.id in (:listProdukId) and coalesce(pp.hargaDiscount,0) < pp.hargaJual then pp.hargaJual " - + "when :jenisDiskon = 1 and lower(pr.namaProduk) like '%konsul%' and ru.departemenId = 18 and coalesce(pp.hargaDiscount,0) >= pp.hargaJual then coalesce(pp.hargaDiscount,0) " - + "when :jenisDiskon = 1 and lower(pr.namaProduk) like '%konsul%' and ru.departemenId = 18 and coalesce(pp.hargaDiscount,0) < pp.hargaJual then pp.hargaJual " - + "when :jenisDiskon = 2 and lower(pr.namaProduk) like '%konsul%' and ru.departemenId = 18 and coalesce(pp.hargaDiscount,0) >= (pp.hargaJual/2) then coalesce(pp.hargaDiscount,0) " - + "when :jenisDiskon = 2 and lower(pr.namaProduk) like '%konsul%' and ru.departemenId = 18 and coalesce(pp.hargaDiscount,0) < (pp.hargaJual/2) then (pp.hargaJual/2) " + + "when :jenisDiskon = 1 and lower(pr.namaProduk) like '%konsul%' and ru.departemenId in (:listDepartemenId) and coalesce(pp.hargaDiscount,0) >= pp.hargaJual then coalesce(pp.hargaDiscount,0) " + + "when :jenisDiskon = 1 and lower(pr.namaProduk) like '%konsul%' and ru.departemenId in (:listDepartemenId) and coalesce(pp.hargaDiscount,0) < pp.hargaJual then pp.hargaJual " + + "when :jenisDiskon = 2 and lower(pr.namaProduk) like '%konsul%' and ru.departemenId in (:listDepartemenId) and coalesce(pp.hargaDiscount,0) >= (pp.hargaJual/2) then coalesce(pp.hargaDiscount,0) " + + "when :jenisDiskon = 2 and lower(pr.namaProduk) like '%konsul%' and ru.departemenId in (:listDepartemenId) and coalesce(pp.hargaDiscount,0) < (pp.hargaJual/2) then (pp.hargaJual/2) " + "when :jenisDiskon in (1,2) and pp.strukResepId is not null and coalesce(pp.hargaDiscount,0) >= (pp.hargaJual/10) then coalesce(pp.hargaDiscount,0) " + "when :jenisDiskon in (1,2) and pp.strukResepId is not null and coalesce(pp.hargaDiscount,0) < (pp.hargaJual/10) then (pp.hargaJual/10) " + "when :jenisDiskon in (1,2) and coalesce(pp.hargaDiscount,0) >= (pp.hargaJual/2) then coalesce(pp.hargaDiscount,0) " @@ -174,6 +174,7 @@ public interface PelayananPasienDao extends PagingAndSortingRepository> findLayananTagihan(@Param("noRegistrasi") String noRegistrasi, - @Param("jenisDiskon") Integer jenisDiskon, @Param("listProdukId") List listIdProduk); + @Param("jenisDiskon") Integer jenisDiskon, @Param("listDepartemenId") List listIdDepartemen, + @Param("listProdukId") List listIdProduk); } 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 526b1630..d3c72901 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 @@ -542,8 +542,9 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik List> dataRaw = ikiDanRemunerasiDao.getDataLayananJamKerja(calTglAwal.getTime(), bulan.getTime(), pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER, - Arrays.asList(Master.UnitKerja.KSM), Arrays.asList(Master.JenisProduk.NONTINDAKAN), - Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), Master.Produk.KARCIS); + Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), Arrays.asList(Master.UnitKerja.KSM), + Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), + Master.Produk.KARCIS); // filter detail jenis produk for (Map map : dataRaw) { @@ -1037,8 +1038,9 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik List> dataRaw = ikiDanRemunerasiDao.getDataLayananLuarJamKerja(calTglAwal.getTime(), bulan.getTime(), pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER, - Arrays.asList(Master.UnitKerja.KSM), Arrays.asList(Master.JenisProduk.NONTINDAKAN), - Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), Master.Produk.KARCIS); + Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), Arrays.asList(Master.UnitKerja.KSM), + Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), + Master.Produk.KARCIS); // filter detail jenis produk for (Map map : dataRaw) { diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java index ca071f27..6ab16409 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java @@ -683,8 +683,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb List> dataLayanan = ikiDanRemunerasiDao.getDataLogbookJamKerjaDokter( mf.format(new Date(bulan)), pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER, - Arrays.asList(idPegawai), listDetailJenisProduk, Arrays.asList(Master.JenisProduk.NONTINDAKAN), - Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), Master.Produk.KARCIS); + Arrays.asList(idPegawai), Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), listDetailJenisProduk, + Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), + Master.Produk.KARCIS); List> dataSkor = skoringTindakanMedisDao.findSkoringLogbookDokter( mf.format(new Date(bulan)), Arrays.asList(idPegawai), Arrays.asList(Master.UnitKerja.KSM)); @@ -912,8 +913,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb List> dataLayanan = ikiDanRemunerasiDao.getDataLogbookLuarJamKerjaDokter( mf.format(new Date(bulan)), pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER, idPegawai, - listDetailJenisProduk, Arrays.asList(Master.JenisProduk.NONTINDAKAN), - Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), Master.Produk.KARCIS); + Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), listDetailJenisProduk, + Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), + Master.Produk.KARCIS); List> dataSkor = skoringTindakanMedisDao.findSkoringLogbookDokter( mf.format(new Date(bulan)), Arrays.asList(idPegawai), Arrays.asList(Master.UnitKerja.KSM)); @@ -1135,8 +1137,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb List> dataLayanan = ikiDanRemunerasiDao.findDetailPasienLogbookJamKerjaDokter(idProduk, tglPelayanan, pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER, idPegawai, - listDetailJenisProduk, Arrays.asList(Master.JenisProduk.NONTINDAKAN), - Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), Master.Produk.KARCIS); + Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), listDetailJenisProduk, + Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), + Master.Produk.KARCIS); for (Map mapLayanan : dataLayanan) { if (idIndikator.equals(Master.IndikatorKinerjaJamKerja.VISITE) @@ -1522,8 +1525,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb List> dataLayanan = ikiDanRemunerasiDao.findDetailPasienLogbookLuarJamKerjaDokter(idProduk, tglPelayanan, pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER, idPegawai, - listDetailJenisProduk, Arrays.asList(Master.JenisProduk.NONTINDAKAN), - Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), Master.Produk.KARCIS); + Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), listDetailJenisProduk, + Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), + Master.Produk.KARCIS); for (Map mapLayanan : dataLayanan) { if (idIndikator.equals(Master.IndikatorKinerjaLuarJamKerja.VISITE) @@ -2124,8 +2128,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb List> dataLayanan = ikiDanRemunerasiDao.getDataLogbookJamKerjaDokter(mf.format(bulan), pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER, listIdPegawai, - Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), - Master.Produk.KARCIS); + Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), Arrays.asList(Master.JenisProduk.NONTINDAKAN), + Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), Master.Produk.KARCIS); List> dataSkor = skoringTindakanMedisDao.findSkoringLogbookDokter(mf.format(bulan), listIdPegawai, Arrays.asList(Master.UnitKerja.KSM)); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java index 903c43db..a0107eaa 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java @@ -261,7 +261,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List listIdProdukDiskonPegawai = splitDataSettingDatafixed("listProdukDiskonPegawai"); List> data = pelayananPasienDao.findLayananTagihan(noRegistrasi, jenisDiskon, - listIdProdukDiskonPegawai); + Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), listIdProdukDiskonPegawai); List models = new ArrayList<>(); for (Map map : data) {