Salman Manoe 12d307816b Update controller bridging daftar online
Perbaikan struktur mvc services bridging daftar online
2023-05-20 19:53:40 +07:00

219 lines
13 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.DetailDiagnosaPasien;
import com.jasamedika.medifirst2000.entities.Profile;
@Repository("BridgingDao")
public interface BridgingDao extends PagingAndSortingRepository<DetailDiagnosaPasien, String> {
@Query("from Diagnosa ddp")
public List<Object[]> findICDbyDate();
@Query("from Profile pf")
public List<Profile> biosProfile();
@Query("select p.ruangan.id, p.qtyBed from Kamar p "
+ "where p.kelasId=1 or p.kelasId=2 or p.kelasId=3 or p.kelasId=4 or p.kelasId=5 or p.kelasId=7 or p.kelasId=8")
public List<Object[]> getQtyBed();
@Query("select p.tglRegistrasi, p.pasienDaftar.tglPulang from AntrianPasienDiPeriksa p "
+ "where p.ruangan.departemenId=16 and date(p.tglRegistrasi) between :dateNow and :dateThen order by p.tglRegistrasi")
public List<Object[]> getListPasienRanap(@Param("dateNow") Date dateNow, @Param("dateThen") Date dateThen);
@Query("select p.pasienDaftarId, p.ruangan.kdRuangan, p.ruangan.namaRuangan, p.pasienDaftar.kelompokPasien.id from AntrianPasienDiPeriksa p where date(p.tglRegistrasi)=:dateNow and p.ruangan.departemenId=18 order by p.ruangan.kdRuangan")
public List<Object[]> kunjunganIrj(@Param("dateNow") Date dateNow);
@Query("select p.pasienDaftarId, p.ruangan.kdRuangan, p.ruangan.namaRuangan, p.pasienDaftar.kelompokPasien.id from AntrianPasienDiPeriksa p where date(p.tglRegistrasi)=:dateNow and p.ruangan.departemenId=16 order by p.ruangan.kdRuangan")
public List<Object[]> kunjunganIri(@Param("dateNow") Date dateNow);
@Query("select p.pasienDaftarId, p.ruangan.kdRuangan, p.ruangan.namaRuangan, p.pasienDaftar.kelompokPasien.id from AntrianPasienDiPeriksa p where date(p.tglRegistrasi)=:dateNow and p.ruangan.departemenId=24 order by p.ruangan.kdRuangan")
public List<Object[]> kunjunganIgd(@Param("dateNow") Date dateNow);
@Query("select new map(jadwalPraktek.jamPraktek as jamPraktek,jadwalPraktek.waktumulai as jamBuka, jadwalPraktek.waktuselesai as jamTutup"
+ ",hari.namaHari as hari, ruangan.namaRuangan as namaRuangan, ruangan.id as id)"
+ " from JadwalPraktikDokter model " + " left join model.hari hari "
+ " left join model.jadwalPraktek jadwalPraktek " + " left join model.ruangan ruangan "
+ " left join model.dokter dokter " + " where model.statusEnabled = true ")
public List<Map<String, Object>> getJadwalKlinik();
@Query("select p.name from DataJadwal p where p.id =:id")
public String getDay(@Param("id") Integer id);
@Query("select new map(jadwalPraktek.jamPraktek as jamPraktek,jadwalPraktek.waktumulai as jamBuka, jadwalPraktek.waktuselesai as jamTutup"
+ ",hari.namaHari as hari, ruangan.namaRuangan as namaRuangan, ruangan.id as id)"
+ " from JadwalPraktikDokter model " + " left join model.hari hari "
+ " left join model.jadwalPraktek jadwalPraktek " + " left join model.ruangan ruangan "
+ " left join model.dokter dokter " + " where model.statusEnabled = true "
+ " and ruangan.id = :idKlinik and dokter.id = :idDokter and hari.id=:tanggal")
public List<Map<String, Object>> getJadwalKlinikbyId(@Param("idDokter") Integer idDokter,
@Param("idKlinik") Integer idKlinik, @Param("tanggal") Integer tanggal);
@Query(" select setting.nilaiField as nilaiField " + " from SettingDataFixed setting"
+ " where setting.namaField = 'IdDepartemenRawatInap'")
public String findIdDepartemenRawatInap();
@Query(" select ruangan.id " + "from Ruangan ruangan " + "left join ruangan.departemen departemen "
+ "where departemen.id in (:id)")
public List<Integer> findIdRuanganDepartemenRawatInap(@Param("id") List<Integer> id);
@Query(" select new map (statusBed.statusBed as statusBed, " + "kelas.kodeExternal as namaKelas, "
+ "ruangPerawatan.kodeExternal as tipePasien, " + "count (tempatTidur.id) as countBed) "
+ "from TempatTidur tempatTidur " + "left join tempatTidur.statusBed statusBed "
+ "left join tempatTidur.kamar kamar " + "left join tempatTidur.ruangPerawatanKemenkes ruangPerawatan "
+ "left join kamar.kelas kelas " + "left join kamar.ruangan ruangan "
+ "where ruangPerawatan.id =:idRuangan and kelas.id = :idKelas "
+ "group by statusBed.statusBed,kelas.kodeExternal,ruangPerawatan.kodeExternal")
public List<Map<String, Object>> findCountBed(@Param("idRuangan") Integer idRuangan,
@Param("idKelas") Integer idKelas);
@Query(" select distinct kelas.id " + "from TempatTidur tempatTidur " + "left join tempatTidur.kamar kamar "
+ "left join tempatTidur.ruangPerawatanKemenkes ruangPerawatan " + "left join kamar.kelas kelas "
+ "where ruangPerawatan.id = :id " + "order by kelas.id")
public List<Integer> findIdKelasRuangan(@Param("id") Integer id);
@Query(" select asuransi.noAsuransi " + "from AsuransiPasien asuransi " + "left join asuransi.noCm pasien "
+ "left join asuransi.rekanan rekanan " + "where rekanan.id = :idRekanan and pasien.noCm = :noCm")
public String findNoAsuransi(@Param("idRekanan") Integer idRekanan, @Param("noCm") String noCm);
@Query(" select setting.nilaiField as nilaiField " + " from SettingDataFixed setting"
+ " where setting.namaField = 'IdRekananBPJS'")
public String findIdBPJS();
@Query(" select distinct ruangPerawatan.id as idRuangan " + "from TempatTidur tempatTidur "
+ "left join tempatTidur.kamar kamar " + "left join tempatTidur.ruangPerawatanKemenkes ruangPerawatan "
+ "left join kamar.ruangan ruangan " + "where ruangan.id in ( :id) " + "order by ruangPerawatan.id asc")
public List<Integer> findIdRuanganPerawatan(@Param("id") List<Integer> id);
@Query(" select distinct to_char(kamar.tglUpdate, 'yyyy-MM-dd') " + "from TempatTidur tempatTidur "
+ "left join tempatTidur.kamar kamar " + "left join tempatTidur.ruangPerawatanKemenkes ruangPerawatan "
+ "left join kamar.kelas kelas "
+ "where ruangPerawatan.id =:idRuangan and kelas.id = :idKelas and kamar.tglUpdate is not null "
+ "order by to_char(kamar.tglUpdate, 'yyyy-MM-dd') desc")
public List<String> findTanggalUpdate(@Param("idRuangan") Integer idRuangan, @Param("idKelas") Integer idKelas);
@Query(" select setting.nilaiField as nilaiField " + " from SettingDataFixed setting"
+ " where setting.namaField = 'KdKelompokPasienUmum'")
public String findIdPasienUmum();
@Query(" select setting.nilaiField as nilaiField " + " from SettingDataFixed setting"
+ " where setting.namaField = 'KdDepartemenInstalasiGawatDarurat'")
public String findIdUGD();
@Query(" select setting.nilaiField as nilaiField " + " from SettingDataFixed setting"
+ " where setting.namaField = 'IdRawatInap'")
public String findIdRawatInap();
@Query(" select setting.nilaiField as nilaiField " + " from SettingDataFixed setting"
+ " where setting.namaField = 'IdRawatJalan'")
public String findIdRawatjalan();
@Query(" select setting.nilaiField as nilaiField " + " from SettingDataFixed setting"
+ " where setting.namaField = 'IdProdukAkomodasi'")
public String findIdProdukAkomodasi();
@Query(" select count(antrian.noRec) " + "from PasienDaftar antrian "
+ "where to_char(antrian.tglRegistrasi,'yyyy')=:tahun " + "and to_char(antrian.tglRegistrasi,'MM')=:bulan")
public Long findTotalKunjungan(@Param("tahun") String tahun, @Param("bulan") String bulan);
@Query(" select count(pasien.id) " + "from Pasien pasien " + "where pasien.id is not null and "
+ "to_char(pasien.tglDaftar,'yyyy') = :tahun " + "and to_char(pasien.tglDaftar,'mm') = :bulan")
public Long findTotalPasien(@Param("tahun") String tahun, @Param("bulan") String bulan);
@Query(" select count(pasienDaftar.noRec) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.kelompokPasien kelompokPasien " + "where kelompokPasien.id = :idPasienUmum and "
+ "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalKunjunganPasienUmum(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idPasienUmum") Integer idPasienUmum);
@Query(" select count(distinct pasien.id) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.kelompokPasien kelompokPasien " + "left join pasienDaftar.pasien pasien "
+ "where kelompokPasien.id = :idPasienUmum and " + "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalPasienUmum(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idPasienUmum") Integer idPasienUmum);
@Query(" select count(distinct pasien.id) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.ruangan ruangan " + "left join ruangan.departemen departemen "
+ "left join pasienDaftar.pasien pasien " + "where departemen.id = :idDepUGD and "
+ "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalPasienUGD(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idDepUGD") Integer idDepUGD);
@Query(" select count(pasienDaftar.noRec) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.ruangan ruangan " + "left join ruangan.departemen departemen "
+ "left join pasienDaftar.pasien pasien " + "where departemen.id = :idDepUGD and "
+ "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalKunjunganPasienUGD(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idDepUGD") Integer idDepUGD);
@Query(" select count(distinct pasien.id) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.ruangan ruangan " + "left join ruangan.departemen departemen "
+ "left join pasienDaftar.pasien pasien " + "where departemen.id in (:idDep) and "
+ "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalPasienRawatJalan(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idDep") List<Integer> idDep);
@Query(" select count(pasienDaftar.noRec) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.ruangan ruangan " + "left join ruangan.departemen departemen "
+ "left join pasienDaftar.pasien pasien " + "where departemen.id in (:idDep) and "
+ "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalKunjunganPasienRawatJalan(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idDep") List<Integer> idDep);
@Query(" select count(distinct pasien.id) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.ruangan ruangan " + "left join ruangan.departemen departemen "
+ "left join pasienDaftar.pasien pasien " + "where departemen.id in (:idDep) and "
+ "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalPasienRawatInap(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idDep") List<Integer> idDep);
@Query(" select count(pasienDaftar.noRec) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.ruangan ruangan " + "left join ruangan.departemen departemen "
+ "left join pasienDaftar.pasien pasien " + "where departemen.id in (:idDep) and "
+ "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalKunjunganPasienRawatInap(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idDep") List<Integer> idDep);
@Query(" select count(pasienDaftar.noRec) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.kelompokPasien kelompokPasien " + "where kelompokPasien.id != :idPasienUmum and "
+ "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalKunjunganPasienJaminan(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idPasienUmum") Integer idPasienUmum);
@Query(" select count(distinct pasien.id) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.kelompokPasien kelompokPasien " + "left join pasienDaftar.pasien pasien "
+ "where kelompokPasien.id != :idPasienUmum and " + "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalPasienJaminan(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idPasienUmum") Integer idPasienUmum);
@Query(" select distinct new map(harga.hargaSatuan as hargaSatuan, " + "kelas.namaKelas as namaKelas) "
+ "from HargaNettoProdukByKelas harga " + "left join harga.produk produk " + "left join harga.kelas kelas "
+ "where produk.id = :idproduk ")
public List<Map<String, Object>> findTarifAkomodasi(@Param("idproduk") Integer idproduk);
@Query(" select count(pasienDaftar.noRec) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.kelas kelas " + "where to_char(pasienDaftar.tglRegistrasi,'yyyy')= :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm')= :bulan and kelas.id in (:kelas)")
public Integer findTotalKunjunganPasienPerKelas(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("kelas") List<Integer> kelas);
}