Perbaikan dan penyesuaian aturan remun kk pediatrik gawat darurat, kk perinatologi, dan kk anestesi tindakan mandiri radiologi di cetakan detail pasien
298 lines
22 KiB
Java
298 lines
22 KiB
Java
package com.jasamedika.medifirst2000.dao;
|
|
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import org.springframework.data.jpa.repository.Query;
|
|
import org.springframework.data.repository.PagingAndSortingRepository;
|
|
import org.springframework.data.repository.query.Param;
|
|
import org.springframework.stereotype.Repository;
|
|
|
|
import com.jasamedika.medifirst2000.entities.IndekKinerja;
|
|
|
|
/**
|
|
* Repository class for IndekKinerja
|
|
*
|
|
* @author Generator
|
|
*/
|
|
@Repository("RevIndekKinerjaDao")
|
|
public interface RevIndekKinerjaDao extends PagingAndSortingRepository<IndekKinerja, String> {
|
|
|
|
@Query(" select new Map( pelayananPasien.tglPelayanan as tglPelayanan,jenisProduk.id as idJenisProduk,"
|
|
+ " produk.namaProduk as namaProduk, produk.id as idProduk, kelas.namaKelas as namaKelas)"
|
|
+ " from PelayananPasienPetugas pelayananPasienPetugas"
|
|
+ " left join pelayananPasienPetugas.pelayananPasien pelayananPasien"
|
|
+ " left join pelayananPasien.produk produk " + " left join produk.detailJenisProduk detail"
|
|
+ " left join pelayananPasien.kelas kelas " + " left join detail.jenisProduk jenisProduk "
|
|
+ " where pelayananPasienPetugas.ObjectPegawaiId=:id and to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') "
|
|
+ " between :startDate and :endDate and detail.id in :listIdJenisProduk "
|
|
+ " order by produk.namaProduk, kelas.namaKelas, pelayananPasien.tglPelayanan asc")
|
|
public List<Map<String, Object>> findByIdUser(@Param("id") Integer id, @Param("startDate") String startDate,
|
|
@Param("endDate") String endDate, @Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
|
|
|
@Query(" select new Map( pelayananPasien.tglPelayanan as tglPelayanan,jenisProduk.id as idJenisProduk,"
|
|
+ " produk.namaProduk as namaProduk, produk.id as idProduk, kelas.namaKelas as namaKelas)"
|
|
+ " from PelayananPasienPetugas pelayananPasienPetugas"
|
|
+ " left join pelayananPasienPetugas.pelayananPasien pelayananPasien"
|
|
+ " left join pelayananPasien.produk produk " + " left join produk.detailJenisProduk detail"
|
|
+ " left join pelayananPasien.kelas kelas " + " left join detail.jenisProduk jenisProduk "
|
|
+ " where pelayananPasienPetugas.ObjectPegawaiId=:id and to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') "
|
|
+ " between :startDate and :endDate and detail.id in :listIdJenisProduk " + " and produk.id = :idProduk "
|
|
+ " order by pelayananPasien.tglPelayanan, produk.namaProduk, kelas.namaKelas asc")
|
|
public List<Map<String, Object>> findTindakanByIdUser(@Param("id") Integer id, @Param("startDate") String startDate,
|
|
@Param("endDate") String endDate, @Param("idProduk") Integer idProduk,
|
|
@Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
|
|
|
@Query(" select new Map( pelayananPasien.tglPelayanan as tglPelayanan,jenisProduk.id as idJenisProduk,"
|
|
+ " produk.namaProduk as namaProduk, produk.id as idProduk, kelas.namaKelas as namaKelas)"
|
|
+ " from PelayananPasienPetugas pelayananPasienPetugas"
|
|
+ " left join pelayananPasienPetugas.pelayananPasien pelayananPasien"
|
|
+ " left join pelayananPasien.produk produk " + " left join produk.detailJenisProduk detail"
|
|
+ " left join pelayananPasien.kelas kelas " + " left join detail.jenisProduk jenisProduk "
|
|
+ " where pelayananPasienPetugas.ObjectPegawaiId=:id and to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') "
|
|
+ " between :startDate and :endDate and detail.id in :listIdJenisProduk "
|
|
+ " order by pelayananPasien.tglPelayanan, produk.namaProduk, kelas.namaKelas asc")
|
|
public List<Map<String, Object>> findTindakanByIdUser(@Param("id") Integer id, @Param("startDate") String startDate,
|
|
@Param("endDate") String endDate, @Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
|
|
|
@Query(" select distinct new Map(produk.id as id, produk.namaProduk as namaProduk)"
|
|
+ " from PelayananPasienPetugas pelayananPasienPetugas"
|
|
+ " left join pelayananPasienPetugas.pelayananPasien pelayananPasien"
|
|
+ " left join pelayananPasien.produk produk " + " left join produk.detailJenisProduk detail"
|
|
+ " left join pelayananPasien.kelas kelas " + " left join detail.jenisProduk jenisProduk "
|
|
+ " where pelayananPasienPetugas.ObjectPegawaiId=:id and pelayananPasien.tglPelayanan "
|
|
+ " between :start and :end and detail.id in :listIdJenisProduk " + " order by produk.namaProduk asc")
|
|
public List<Map<String, Object>> getAllTindakanByPeriod(@Param("id") Integer id, @Param("start") Date start,
|
|
@Param("end") Date end, @Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
|
|
|
String QueryList = "select new map(case when pelayananPasienPetugas.kdjenispetugaspe.id in (6,13) then pelayananPasienPetugas.kdjenispetugaspe.id else 4 end as idJenisPelaksana, "
|
|
+ "detail.id as detailId,detail.detailJenisProduk as detailJenisProduk"
|
|
+ ",produk.namaProduk as namaProduk, produk.id as idProduk , kelas.namaKelas as namaKelas, kelas.id as idKelas"
|
|
+ ",(select distinct harga.hargaNetto1 from HargaNettoProdukByKelas harga "
|
|
+ "where harga.produkId = produk.id "
|
|
+ "and ((harga.statusEnabled is true and harga.reportDisplay = 'tarif_2022_Nov') "
|
|
+ "or (harga.statusEnabled is false and harga.reportDisplay <> 'tarif_2022_Nov')) "
|
|
+ "and harga.kelasId = 3) as hargaKelas1"
|
|
+ ",pelayananPasien.hargaSatuan as harga) from PelayananPasienPetugas pelayananPasienPetugas "
|
|
+ " left join pelayananPasienPetugas.pelayananPasien pelayananPasien "
|
|
+ " left join pelayananPasien.produk produk " + " left join produk.detailJenisProduk detail"
|
|
+ " left join pelayananPasien.kelas kelas " + " where pelayananPasienPetugas.statusEnabled is true "
|
|
+ " and pelayananPasien.statusEnabled is true " + " and produk.statusEnabled is true "
|
|
+ " and detail.statusEnabled is true " + " and kelas.statusEnabled is true "
|
|
+ " and pelayananPasienPetugas.kdjenispetugaspe.id <> 2 "
|
|
+ " and pelayananPasienPetugas.ObjectPegawaiId =:id "
|
|
// + " and to_char(pelayananPasien.tglPelayanan,'yyyy-MM') = :month
|
|
// "
|
|
+ " and detail.id in (:listIdJenisProduk) ";
|
|
|
|
String orderList = " group by case when pelayananPasienPetugas.kdjenispetugaspe.id in (6,13) then pelayananPasienPetugas.kdjenispetugaspe.id else 4 end, detail.id ,detail.detailJenisProduk ,produk.namaProduk , produk.id , kelas.namaKelas , "
|
|
+ " kelas.id,pelayananPasien.hargaSatuan " + " order by produk.namaProduk, kelas.namaKelas asc ";
|
|
|
|
String monthPelayanan = " and to_char(pelayananPasien.tglPelayanan,'yyyy-MM') = :month ";
|
|
|
|
String tanggalPelayanan = " and to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') = :tanggal ";
|
|
|
|
@Query(QueryList + monthPelayanan + orderList)
|
|
public List<Map<String, Object>> findIdProdukByIdUser(@Param("id") Integer id, @Param("month") String month,
|
|
@Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
|
|
|
@Query(QueryList + tanggalPelayanan + orderList)
|
|
public List<Map<String, Object>> findIdProdukHarianByIdUser(@Param("id") Integer id,
|
|
@Param("tanggal") String tanggal, @Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
|
|
|
@Query(" select distinct new Map (jenisProduk.id as idJenisProduk, CAST(sum(pelayananPasien.jumlah) as long) as count ,"
|
|
+ " produk.namaProduk as namaProduk, produk.id as idProduk)"
|
|
+ " from PelayananPasienPetugas pelayananPasienPetugas"
|
|
+ " left join pelayananPasienPetugas.pelayananPasien pelayananPasien"
|
|
+ " left join pelayananPasien.produk produk " + " left join produk.detailJenisProduk detail"
|
|
+ " left join pelayananPasien.kelas kelas " + " left join detail.jenisProduk jenisProduk "
|
|
+ " where pelayananPasienPetugas.ObjectPegawaiId=:id and to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') "
|
|
+ " between :startDate and :endDate and detail.id in :listIdJenisProduk group by produk.namaProduk,jenisProduk.id,produk.id ")
|
|
public List<Map<String, Object>> findCountTindakanByIdUser(@Param("id") Integer id,
|
|
@Param("startDate") String startDate, @Param("endDate") String endDate,
|
|
@Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
|
|
|
@Query(" select distinct CAST(sum(pelayananPasien.jumlah) as long) as capaian "
|
|
+ " from PelayananPasienPetugas pelayananPasienPetugas "
|
|
+ " left join pelayananPasienPetugas.pelayananPasien pelayananPasien"
|
|
+ " left join pelayananPasien.produk produk " + " left join produk.detailJenisProduk detail"
|
|
+ " left join pelayananPasien.kelas kelas " + " left join detail.jenisProduk jenisProduk "
|
|
+ " where pelayananPasienPetugas.ObjectPegawaiId=:id and to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') "
|
|
+ " between :startDate and :endDate and detail.id in :listIdJenisProduk")
|
|
public Long findTotalTindakan(@Param("id") Integer id, @Param("startDate") String startDate,
|
|
@Param("endDate") String endDate, @Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
|
|
|
String tindakanDokterQuery = "select new Map(dokter.id as idPegawai, " + "jenisPetugas.id as idJenisPelaksana, "
|
|
+ "detail.id as detailId, " + "detail.detailJenisProduk as detailJenisProduk, " + "produk.id as idProduk, "
|
|
+ "produk.namaProduk as namaProduk, " + "kp.id as kelompokPasienId, kp.kelompokPasien as kelompokPasien, "
|
|
+ "kelas.id as idKelas, " + "kelas.namaKelas as namaKelas, "
|
|
+ "(select distinct harga.hargaNetto1 from HargaNettoProdukByKelas harga "
|
|
+ "where harga.produkId = produk.id "
|
|
+ "and ((harga.statusEnabled is true and harga.reportDisplay = 'tarif_2022_Nov') "
|
|
+ "or (harga.statusEnabled is false and harga.reportDisplay <> 'tarif_2022_Nov')) "
|
|
+ "and harga.kelasId = :idKelasSatu) as hargaKelas1, " + "pelayananPasien.noRec as noRec, "
|
|
+ "coalesce(pelayananPasien.hargaSatuan, 0) as harga, "
|
|
+ "coalesce(pelayananPasien.hargaDiscount,0) as diskon, " + "pelayananPasien.jumlah as count, "
|
|
+ "to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') as tanggal, "
|
|
+ "cast(pelayananPasien.tglPelayanan as timestamp) as tanggalPelayanan, "
|
|
+ "pasienDaftar.kelompokPasienId as kelompokPasienId, " + "pasienDaftar.rekananId as rekananId, "
|
|
+ "pasienDaftar.diskonPegawai as statusDiskon, " + "antrian.pegawaiId as idDPJP, "
|
|
+ "kategoryPegawai.id as kategoryPegawaiId, " + "departemen.id as departemenId, "
|
|
+ "ruangan.id as ruanganId, " + "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, "
|
|
+ "shift.jamMasuk as jamMasuk, " + "shift.jamPulang as jamPulang, " + "shift.namaShift as namaShift) "
|
|
+ "from PelayananPasienPetugas pelayananPasienPetugas, " + "PegawaiJadwalKerja jadwalKerja, "
|
|
+ "Kalender kalender, " + "ShiftKerja shift "
|
|
+ "left join pelayananPasienPetugas.pelayananPasien pelayananPasien "
|
|
+ "left join pelayananPasienPetugas.kdjenispetugaspe jenisPetugas "
|
|
+ "left join pelayananPasienPetugas.kdpegawai dokter " + "left join pelayananPasien.produk produk "
|
|
+ "left join pelayananPasien.kelas kelas " + "left join pelayananPasien.pasienDaftar antrian "
|
|
+ "left join dokter.kategoryPegawai kategoryPegawai " + "left join produk.detailJenisProduk detail "
|
|
+ "left join antrian.ruangan ruangan " + "left join antrian.pasienDaftar pasienDaftar "
|
|
+ "left join pasienDaftar.kelompokPasien kp " + "left join detail.jenisProduk jenisProduk "
|
|
+ "left join ruangan.departemen departemen " + "where dokter.id = jadwalKerja.pegawaiId "
|
|
+ "and kalender.id = jadwalKerja.tanggalId " + "and shift.id = jadwalKerja.shiftId "
|
|
+ "and to_char(kalender.tanggal, 'yyyy-MM-dd') = to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') "
|
|
+ "and (pelayananPasienPetugas.statusEnabled is null or pelayananPasienPetugas.statusEnabled is true) "
|
|
+ "and (pelayananPasien.statusEnabled is null or pelayananPasien.statusEnabled is true) "
|
|
+ "and (antrian.statusEnabled is null or antrian.statusEnabled is true) "
|
|
+ "and (pasienDaftar.statusEnabled is null or pasienDaftar.statusEnabled is true) "
|
|
+ "and jenisPetugas.statusEnabled is true " + "and dokter.statusEnabled is true "
|
|
+ "and produk.statusEnabled is true " + "and detail.statusEnabled is true "
|
|
+ "and kelas.statusEnabled is true " + "and kategoryPegawai.statusEnabled is true "
|
|
+ "and ruangan.statusEnabled is true " + "and departemen.statusEnabled is true "
|
|
+ "and jenisProduk.statusEnabled is true " + "and pelayananPasienPetugas.ObjectPegawaiId = :idPegawai "
|
|
+ "and jenisPetugas.id <> :idPetugasPelaksana "
|
|
+ "and to_char(pelayananPasien.tglPelayanan,'yyyy-MM') = :month ";
|
|
|
|
String orderGrid = "order by produk.namaProduk, kelas.namaKelas, to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd')";
|
|
|
|
String orderCetak = "order by to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd'), produk.namaProduk, kelas.namaKelas";
|
|
|
|
@Query(tindakanDokterQuery + orderGrid)
|
|
public List<Map<String, Object>> getAllTindakanDokter(@Param("idKelasSatu") Integer idKelasSatu,
|
|
@Param("idPegawai") Integer idPegawai, @Param("idPetugasPelaksana") int idPetugasPelaksana,
|
|
@Param("month") String month);
|
|
|
|
@Query(tindakanDokterQuery + orderCetak)
|
|
public List<Map<String, Object>> getAllTindakanDokterCetak(@Param("idKelasSatu") Integer idKelasSatu,
|
|
@Param("idPegawai") Integer idPegawai, @Param("idPetugasPelaksana") int idPetugasPelaksana,
|
|
@Param("month") String month);
|
|
|
|
String detailPasienQuery = "select new Map(pelayananPasienPetugas.noRec as norecPetugas,"
|
|
+ "ruangan.namaRuangan as ruangan," + "pelayananPasien.noRec as noRecPelayananPasien,"
|
|
+ "detail.id as detailId, " + "produk.namaProduk as namaProduk," + "pasien.namaPasien as namapasien,"
|
|
+ "pasien.noCm as noCm," + "pasien.tglLahir as tglLahir," + "pasienDaftar.noRegistrasi as noRegistrasi,"
|
|
+ "pasienDaftar.tglRegistrasi as tglRegistrasi," + "pelayananPasien.hargaSatuan as harga,"
|
|
+ "coalesce(pelayananPasien.hargaDiscount,0) as diskon," + "pelayananPasien.jumlah as jumlah, "
|
|
+ "(select distinct harga.hargaNetto1 from HargaNettoProdukByKelas harga "
|
|
+ "where harga.produkId = produk.id "
|
|
+ "and ((harga.statusEnabled is true and harga.reportDisplay = 'tarif_2022_Nov') "
|
|
+ "or (harga.statusEnabled is false and harga.reportDisplay <> 'tarif_2022_Nov')) "
|
|
+ "and harga.kelasId = :idKelasSatu) as hargaKelas1," + "pelayananPasien.tglPelayanan as tglpelayanan,"
|
|
+ "kelas.namaKelas as namaKelas," + "pasienDaftar.tglPulang as tglPulang," + "produk.id as idProduk,"
|
|
+ "dokter.id as idPegawai," + "to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') as tglpel,"
|
|
+ "cast(pelayananPasien.tglPelayanan as timestamp) as tanggalPelayanan, "
|
|
+ "pasienDaftar.kelompokPasienId as kelompokPasienId," + "pasienDaftar.rekananId as rekananId,"
|
|
+ "pasienDaftar.diskonPegawai as statusDiskon, " + "antrian.pegawaiId as idDPJP, "
|
|
+ "kategoryPegawai.id as kategoryPegawaiId, " + "kelas.id as idKelas,"
|
|
+ "jenisPetugas.id as idJenisPetugas,jenisPetugas.jenisPetugasPe as jenisPetugas, "
|
|
+ "departemen.id as departemenId, " + "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, "
|
|
+ "shift.jamMasuk as jamMasuk, " + "shift.jamPulang as jamPulang, " + "shift.namaShift as namaShift) "
|
|
+ "from PelayananPasienPetugas pelayananPasienPetugas, " + "PegawaiJadwalKerja jadwalKerja, "
|
|
+ "Kalender kalender, " + "ShiftKerja shift "
|
|
+ "left join pelayananPasienPetugas.pelayananPasien pelayananPasien "
|
|
+ "left join pelayananPasienPetugas.kdjenispetugaspe jenisPetugas "
|
|
+ "left join pelayananPasienPetugas.kdpegawai dokter " + "left join pelayananPasien.produk produk "
|
|
+ "left join pelayananPasien.kelas kelas " + "left join pelayananPasien.pasienDaftar antrian "
|
|
+ "left join dokter.kategoryPegawai kategoryPegawai " + "left join produk.detailJenisProduk detail "
|
|
+ "left join antrian.ruangan ruangan " + "left join antrian.pasienDaftar pasienDaftar "
|
|
+ "left join detail.jenisProduk jenisProduk " + "left join ruangan.departemen departemen "
|
|
+ "left join pasienDaftar.pasien pasien " + "where dokter.id = jadwalKerja.pegawaiId "
|
|
+ "and kalender.id = jadwalKerja.tanggalId " + "and shift.id = jadwalKerja.shiftId "
|
|
+ "and to_char(kalender.tanggal, 'yyyy-MM-dd') = to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') "
|
|
+ "and (pelayananPasienPetugas.statusEnabled is null or pelayananPasienPetugas.statusEnabled is true) "
|
|
+ "and (pelayananPasien.statusEnabled is null or pelayananPasien.statusEnabled is true) "
|
|
+ "and (antrian.statusEnabled is null or antrian.statusEnabled is true) "
|
|
+ "and (pasienDaftar.statusEnabled is null or pasienDaftar.statusEnabled is true) "
|
|
+ "and jenisPetugas.statusEnabled is true " + "and dokter.statusEnabled is true "
|
|
+ "and produk.statusEnabled is true " + "and detail.statusEnabled is true "
|
|
+ "and kelas.statusEnabled is true " + "and kategoryPegawai.statusEnabled is true "
|
|
+ "and ruangan.statusEnabled is true " + "and departemen.statusEnabled is true "
|
|
+ "and jenisProduk.statusEnabled is true " + "and antrian.kelasId = :idKelas "
|
|
+ "and pelayananPasienPetugas.ObjectPegawaiId = :idPegawai " + "and produk.id = :idProduk "
|
|
+ "and pasienDaftar.kelompokPasienId = :idKelompokPasien " + "and jenisPetugas.id <> :idPetugasPelaksana ";
|
|
|
|
String detailPasienQueryBundled = "select new Map(pelayananPasienPetugas.noRec as norecPetugas,"
|
|
+ "ruangan.namaRuangan as ruangan," + "pelayananPasien.noRec as noRecPelayananPasien,"
|
|
+ "detail.id as detailId, " + "produk.namaProduk as namaProduk," + "pasien.namaPasien as namapasien,"
|
|
+ "pasien.noCm as noCm," + "pasien.tglLahir as tglLahir," + "pasienDaftar.noRegistrasi as noRegistrasi,"
|
|
+ "pasienDaftar.tglRegistrasi as tglRegistrasi," + "antrian.pegawaiId as idDPJP,"
|
|
+ "pelayananPasien.hargaSatuan as harga," + "coalesce(pelayananPasien.hargaDiscount,0) as diskon,"
|
|
+ "pelayananPasien.jumlah as jumlah, "
|
|
+ "(select distinct harga.hargaNetto1 from HargaNettoProdukByKelas harga "
|
|
+ "where harga.produkId = produk.id "
|
|
+ "and ((harga.statusEnabled is true and harga.reportDisplay = 'tarif_2022_Nov') "
|
|
+ "or (harga.statusEnabled is false and harga.reportDisplay <> 'tarif_2022_Nov')) "
|
|
+ "and harga.kelasId = :idKelasSatu) as hargaKelas1," + "pelayananPasien.tglPelayanan as tglpelayanan,"
|
|
+ "kelas.namaKelas as namaKelas," + "pasienDaftar.tglPulang as tglPulang," + "produk.id as idProduk,"
|
|
+ "dokter.id as idPegawai," + "to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') as tglpel,"
|
|
+ "cast(pelayananPasien.tglPelayanan as timestamp) as tanggalPelayanan, "
|
|
+ "pasienDaftar.kelompokPasienId as kelompokPasienId, " + "pasienDaftar.rekananId as rekananId,"
|
|
+ "kategoryPegawai.id as kategoryPegawaiId, " + "kelas.id as idKelas,"
|
|
+ "jenisPetugas.id as idJenisPetugas,jenisPetugas.jenisPetugasPe as jenisPetugas, "
|
|
+ "departemen.id as departemenId, " + "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, "
|
|
+ "shift.jamMasuk as jamMasuk, " + "shift.jamPulang as jamPulang, " + "shift.namaShift as namaShift) "
|
|
+ "from PelayananPasienPetugas pelayananPasienPetugas, " + "PegawaiJadwalKerja jadwalKerja, "
|
|
+ "Kalender kalender, " + "ShiftKerja shift "
|
|
+ "left join pelayananPasienPetugas.pelayananPasien pelayananPasien "
|
|
+ "left join pelayananPasienPetugas.kdjenispetugaspe jenisPetugas "
|
|
+ "left join pelayananPasienPetugas.kdpegawai dokter " + "left join pelayananPasien.produk produk "
|
|
+ "left join pelayananPasien.kelas kelas " + "left join pelayananPasien.pasienDaftar antrian "
|
|
+ "left join dokter.kategoryPegawai kategoryPegawai " + "left join produk.detailJenisProduk detail "
|
|
+ "left join antrian.ruangan ruangan " + "left join antrian.pasienDaftar pasienDaftar "
|
|
+ "left join detail.jenisProduk jenisProduk " + "left join ruangan.departemen departemen "
|
|
+ "left join pasienDaftar.pasien pasien " + "where dokter.id = jadwalKerja.pegawaiId "
|
|
+ "and kalender.id = jadwalKerja.tanggalId " + "and shift.id = jadwalKerja.shiftId "
|
|
+ "and to_char(kalender.tanggal, 'yyyy-MM-dd') = to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') "
|
|
+ "and (pelayananPasienPetugas.statusEnabled is null or pelayananPasienPetugas.statusEnabled is true) "
|
|
+ "and (pelayananPasien.statusEnabled is null or pelayananPasien.statusEnabled is true) "
|
|
+ "and (antrian.statusEnabled is null or antrian.statusEnabled is true) "
|
|
+ "and (pasienDaftar.statusEnabled is null or pasienDaftar.statusEnabled is true) "
|
|
+ "and jenisPetugas.statusEnabled is true " + "and dokter.statusEnabled is true "
|
|
+ "and produk.statusEnabled is true " + "and detail.statusEnabled is true "
|
|
+ "and kelas.statusEnabled is true " + "and kategoryPegawai.statusEnabled is true "
|
|
+ "and ruangan.statusEnabled is true " + "and departemen.statusEnabled is true "
|
|
+ "and jenisProduk.statusEnabled is true " + "and pelayananPasienPetugas.ObjectPegawaiId = :idPegawai "
|
|
+ "and jenisPetugas.id <> :idPetugasPelaksana ";
|
|
|
|
String tanggal = "and to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') = :tgl ";
|
|
|
|
String bulan = "and to_char(pelayananPasien.tglPelayanan,'yyyy-MM') = :periode ";
|
|
|
|
String orderTanggal = "order by pelayananPasien.tglPelayanan";
|
|
|
|
@Query(detailPasienQuery + tanggal + orderTanggal)
|
|
public List<Map<String, Object>> getDetailPasienTindakanDokter(@Param("idKelasSatu") Integer idKelasSatu,
|
|
@Param("idKelas") Integer idKelas, @Param("idPegawai") Integer idPegawai,
|
|
@Param("idProduk") Integer idProduk, @Param("idKelompokPasien") Integer idKelompokPasien,
|
|
@Param("idPetugasPelaksana") int idPetugasPelaksana, @Param("tgl") String tgl);
|
|
|
|
@Query(detailPasienQuery + bulan + orderTanggal)
|
|
public List<Map<String, Object>> getDetailPasienTindakanDokterPerPeriode(@Param("idKelasSatu") Integer idKelasSatu,
|
|
@Param("idKelas") Integer idKelas, @Param("idPegawai") Integer idPegawai,
|
|
@Param("idProduk") Integer idProduk, @Param("idKelompokPasien") Integer idKelompokPasien,
|
|
@Param("idPetugasPelaksana") int idPetugasPelaksana, @Param("periode") String periode);
|
|
|
|
@Query(detailPasienQueryBundled + tanggal + orderTanggal)
|
|
public List<Map<String, Object>> getDetailPasienTindakanDokter(@Param("idKelasSatu") Integer idKelasSatu,
|
|
@Param("idPegawai") Integer idPegawai, @Param("idPetugasPelaksana") int idPetugasPelaksana,
|
|
@Param("tgl") String tgl);
|
|
|
|
@Query(detailPasienQueryBundled + bulan + orderTanggal)
|
|
public List<Map<String, Object>> getDetailPasienTindakanDokterPerPeriode(@Param("idKelasSatu") Integer idKelasSatu,
|
|
@Param("idPegawai") Integer idPegawai, @Param("idPetugasPelaksana") int idPetugasPelaksana,
|
|
@Param("periode") String periode);
|
|
|
|
}
|