Update PelayananPasienDao.java

Pencegahan null value karena left join raw data logbook dokter remun baru
This commit is contained in:
Salman Manoe 2023-05-12 08:54:05 +07:00
parent 9b118ea556
commit 03faba36de

View File

@ -199,16 +199,21 @@ public interface PelayananPasienDao extends PagingAndSortingRepository<Pelayanan
@Query("select new Map(pr.id as idProduk,pr.namaProduk as namaProduk,"
+ "pr.detailJenisProdukId as idDetailJenisProduk,pr.golonganProdukId as idGolonganProduk,"
+ "djp.jenisProdukId as idJenisProduk," + "kp.id as idKelompokPasien,"
+ "case when kp.id = 2 then 1 when kp.id = 4 then 2 when kp.id = 8 then 3 when kp.id = 9 then 4 when kp.id = 1 then 5 when kp.id = 5 then 6 when kp.id = 6 then 7 when kp.id = 3 then 8 when kp.id = 7 then 9 else 10 end as sortIdKelompokPasien,"
+ "kp.kelompokPasien as kelompokPasien," + "kls.id as idKelas,"
+ "case when kls.id = 6 then 1 when kls.id = 1 then 2 when kls.id = 2 then 3 when kls.id =3 then 4 when kls.id = 8 then 5 when kls.id = 5 then 6 when kls.id = 21 then 7 else 8 end as sortIdKelas,"
+ "kls.namaKelas as namaKelas," + "ppp.noRec as idPelayananPasienPetugas,"
+ "djp.jenisProdukId as idJenisProduk," + "pd.kelompokPasienId as idKelompokPasien,"
+ "case when pd.kelompokPasienId = 2 then 1 " + "when pd.kelompokPasienId = 4 then 2 "
+ "when pd.kelompokPasienId = 8 then 3 " + "when pd.kelompokPasienId = 9 then 4 "
+ "when pd.kelompokPasienId = 1 then 5 " + "when pd.kelompokPasienId = 5 then 6 "
+ "when pd.kelompokPasienId = 6 then 7 " + "when pd.kelompokPasienId = 3 then 8 "
+ "when pd.kelompokPasienId = 7 then 9 " + "else 10 end as sortIdKelompokPasien,"
+ "kp.kelompokPasien as kelompokPasien," + "pp.kelasId as idKelas," + "case when pp.kelasId = 6 then 1 "
+ "when pp.kelasId = 1 then 2 " + "when pp.kelasId = 2 then 3 " + "when pp.kelasId = 3 then 4 "
+ "when pp.kelasId = 8 then 5 " + "when pp.kelasId = 5 then 6 " + "when pp.kelasId = 21 then 7 "
+ "else 8 end as sortIdKelas," + "kls.namaKelas as namaKelas," + "ppp.noRec as idPelayananPasienPetugas,"
+ "ppp.ObjectJenisPetugasPeId as idJenisPelaksana,ppp.ObjectPegawaiId as idPegawai,"
+ "pp.noRec as idPelayananPasien,coalesce(pp.hargaJual,0) as hargaJual,coalesce(pp.jumlah,0) as jumlah,"
+ "pp.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'yyyy-MM-dd') as tanggal,"
+ "apd.noRec as idAntrianPasienDiperiksa,apd.pegawaiId as idDPJP,"
+ "ru.id as idRuangan,ru.departemenId as idDepartemen," + "pd.noRec as idPasienDaftar, "
+ "apd.ruanganId as idRuangan,ru.departemenId as idDepartemen," + "pd.noRec as idPasienDaftar, "
+ "sum(case when ppd.komponenHargaId = 35 then ppd.hargaDiscount else 0.0 end) as totalDiskon) "
+ "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 "
@ -218,19 +223,27 @@ public interface PelayananPasienDao extends PagingAndSortingRepository<Pelayanan
+ "and (pp.statusEnabled is true or pp.statusEnabled is null) "
+ "and (pd.statusEnabled is true or pd.statusEnabled is null) " + "and ppp.ObjectPegawaiId = :pegawaiId "
+ "and pp.tglPelayanan between :tglAwal and :tglAkhir " + "group by pr.id,pr.namaProduk,"
+ "pr.detailJenisProdukId,pr.golonganProdukId," + "djp.jenisProdukId," + "kp.id,"
+ "case when kp.id = 2 then 1 when kp.id = 4 then 2 when kp.id = 8 then 3 when kp.id = 9 then 4 when kp.id = 1 then 5 when kp.id = 5 then 6 when kp.id = 6 then 7 when kp.id = 3 then 8 when kp.id = 7 then 9 else 10 end,"
+ "kp.kelompokPasien," + "kls.id,"
+ "case when kls.id = 6 then 1 when kls.id = 1 then 2 when kls.id = 2 then 3 when kls.id =3 then 4 when kls.id = 8 then 5 when kls.id = 5 then 6 when kls.id = 21 then 7 else 8 end,"
+ "kls.namaKelas," + "ppp.noRec," + "ppp.ObjectJenisPetugasPeId,ppp.ObjectPegawaiId,"
+ "pr.detailJenisProdukId,pr.golonganProdukId," + "djp.jenisProdukId," + "pd.kelompokPasienId,"
+ "case when pd.kelompokPasienId = 2 then 1 " + "when pd.kelompokPasienId = 4 then 2 "
+ "when pd.kelompokPasienId = 8 then 3 " + "when pd.kelompokPasienId = 9 then 4 "
+ "when pd.kelompokPasienId = 1 then 5 " + "when pd.kelompokPasienId = 5 then 6 "
+ "when pd.kelompokPasienId = 6 then 7 " + "when pd.kelompokPasienId = 3 then 8 "
+ "when pd.kelompokPasienId = 7 then 9 " + "else 10 end," + "kp.kelompokPasien," + "pp.kelasId,"
+ "case when pp.kelasId = 6 then 1 " + "when pp.kelasId = 1 then 2 " + "when pp.kelasId = 2 then 3 "
+ "when pp.kelasId = 3 then 4 " + "when pp.kelasId = 8 then 5 " + "when pp.kelasId = 5 then 6 "
+ "when pp.kelasId = 21 then 7 " + "else 8 end," + "kls.namaKelas," + "ppp.noRec,"
+ "ppp.ObjectJenisPetugasPeId,ppp.ObjectPegawaiId,"
+ "pp.noRec,coalesce(pp.hargaJual,0),coalesce(pp.jumlah,0),"
+ "pp.tglPelayanan,to_char(pp.tglPelayanan,'yyyy-MM-dd')," + "apd.noRec,apd.pegawaiId,"
+ "ru.id,ru.departemenId," + "pd.noRec "
+ "order by case when kp.id = 2 then 1 when kp.id = 4 then 2 when kp.id = 8 then 3 when kp.id = 9 then 4 "
+ "when kp.id = 1 then 5 when kp.id = 5 then 6 when kp.id = 6 then 7 when kp.id = 3 then 8 when kp.id = 7 then 9 else 10 end asc, "
+ "pp.tglPelayanan, " + "pp.hargaJual, "
+ "case when kls.id = 6 then 1 when kls.id = 1 then 2 when kls.id = 2 then 3 when kls.id =3 then 4 when kls.id = 8 then 5 when kls.id = 5 then 6 when kls.id = 21 then 7 else 8 end asc,"
+ "pr.namaProduk")
+ "pp.tglPelayanan,to_char(pp.tglPelayanan,'yyyy-MM-dd')," + "apd.noRec,apd.pegawaiId," + "apd.ruanganId,"
+ "ru.departemenId," + "pd.noRec " + "order by case when pd.kelompokPasienId = 2 then 1 "
+ "when pd.kelompokPasienId = 4 then 2 " + "when pd.kelompokPasienId = 8 then 3 "
+ "when pd.kelompokPasienId = 9 then 4 " + "when pd.kelompokPasienId = 1 then 5 "
+ "when pd.kelompokPasienId = 5 then 6 " + "when pd.kelompokPasienId = 6 then 7 "
+ "when pd.kelompokPasienId = 3 then 8 " + "when pd.kelompokPasienId = 7 then 9 " + "else 10 end asc, "
+ "pp.tglPelayanan, " + "pp.hargaJual, " + "case when pp.kelasId = 6 then 1 "
+ "when pp.kelasId = 1 then 2 " + "when pp.kelasId = 2 then 3 " + "when pp.kelasId = 3 then 4 "
+ "when pp.kelasId = 8 then 5 " + "when pp.kelasId = 5 then 6 " + "when pp.kelasId = 21 then 7 "
+ "else 8 end asc," + "pr.namaProduk")
List<Map<String, Object>> findPelayananPasienByPetugasAndTanggal(@Param("pegawaiId") Integer idPegawai,
@Param("tglAwal") Date tglAwal, @Param("tglAkhir") Date tglAkhir);