133 lines
8.4 KiB
Java
133 lines
8.4 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.JadwalDokter;
|
|
|
|
@Repository("JadwalDokterDao")
|
|
public interface JadwalDokterDao extends PagingAndSortingRepository<JadwalDokter, Integer> {
|
|
|
|
@Query("select model from JadwalDokter model where date(model.tanggalJadwal)=date(:tanggalJadwal)")
|
|
public List<JadwalDokter> findJadwalByTanggal(@Param("tanggalJadwal") Date tanggalJadwal);
|
|
|
|
@Query("select model from JadwalDokter model where model.ruangan.id=:id and to_char(model.tanggalJadwal,'yyyy-MM-dd') >= :date")
|
|
public List<JadwalDokter> findJadwalByRuangan(@Param("id") Integer id,@Param("date") String date);
|
|
|
|
@Query("select model from JadwalDokter model where model.ruangan.id=:idRuangan and date(model.tanggalJadwal)=date(:tanggalJadwal)")
|
|
public List<JadwalDokter> findJadwalByTanggalRuangan(@Param("idRuangan") Integer idRuangan,
|
|
@Param("tanggalJadwal") Date tanggalJadwal);
|
|
|
|
@Query("select count(model) from JadwalDokter model where model.dokter.id=:id and date(model.tanggalJadwal)=date(:date)")
|
|
public Integer CheckJadwalDokter(@Param("date") Date date, @Param("id") Integer id);
|
|
|
|
@Query("select model from JadwalDokter model where model.ruangan.id=:idRuangan and date(model.tanggalJadwal)=date(:tanggalJadwal) and model.dokter.qPegawai=:kdPegawai")
|
|
public JadwalDokter findJadwalByTanggalRuanganAndKdPegawai(@Param("idRuangan") Integer idRuangan,
|
|
@Param("tanggalJadwal") Date tanggalJadwal, @Param("kdPegawai") short kdPegawai);
|
|
|
|
@Query("select model from JadwalDokter model order by model.tanggalJadwal desc,model.dokter.namaLengkap desc,model.ruangan.namaRuangan")
|
|
public List<JadwalDokter> findJadwalAll();
|
|
|
|
@Query("select model from JadwalDokter model where model.ruangan.id=:idRuangan and date(model.tanggalJadwal)=date(:tanggalJadwal) and model.dokter.qPegawai=:kdPegawai")
|
|
public List<JadwalDokter> findJadwalByTanggalRuanganAndKdPegawaiList(@Param("idRuangan") Integer idRuangan,
|
|
@Param("tanggalJadwal") Date tanggalJadwal, @Param("kdPegawai") short kdPegawai);
|
|
|
|
@Query("select model from JadwalDokter model where model.ruangan.id=:idRuangan and date(model.tanggalJadwal)=date(:tanggalJadwal)")
|
|
public List<JadwalDokter> findJadwalByTanggalRuanganList(@Param("idRuangan") Integer idRuangan,
|
|
@Param("tanggalJadwal") Date tanggalJadwal);
|
|
|
|
@Query("select p from JadwalDokter p where p.dokter.id=:idDokter ")
|
|
public List<JadwalDokter> getJadwalDokterByIdDokter(@Param("idDokter") Integer idDokter);
|
|
|
|
@Query("select p from JadwalDokter p where p.dokter.id=:idDokter and p.tanggalJadwal between :now and :nextWeek")
|
|
public List<JadwalDokter> getJadwalDokterMingguanByIdDokter(@Param("idDokter") Integer idDokter,
|
|
@Param("now") Date now, @Param("nextWeek") Date nextWeek);
|
|
|
|
@Query("select Distinct NEW com.jasamedika.medifirst2000.entities.JadwalDokter(p.ruangan,p.tanggalJadwal,p.dokter,p.jadwalPraktek) from JadwalDokter p where p.dokter.id=:idDokter and p.tanggalJadwal between :now and :nextWeek")
|
|
public List<JadwalDokter> getJadwalDokterMingguanByIdDokter2(@Param("idDokter") Integer idDokter,
|
|
@Param("now") Date now, @Param("nextWeek") Date nextWeek);
|
|
|
|
@Query("select NEW Map(pg.id as id,pg.namaLengkap as namaLengkap) from Pegawai pg left join pg.jabatanFungsional jf "
|
|
+ "where jf.id in (24,58)")
|
|
public List<Map<String, Object>> getSupirAmbulances();
|
|
|
|
@Query("select distinct NEW Map(dkt.id as id,dkt.namaLengkap as namaLengkap,jd.tanggalJadwal as tglJadwal,jp.id as jadwalPraktekId,"
|
|
+ "jp.reportDisplay as reportDisplay) from JadwalDokter jd left join jd.jadwalPraktek jp left join jd.dokter dkt "
|
|
+ "where jd.dokter.id=:id and month(jd.tanggalJadwal)=:bulan and year(jd.tanggalJadwal)=:tahun order by jd.tanggalJadwal")
|
|
public List<Map<String, Object>> getJadwalSupirAmbulanceByIdPegawaiAndPeriode(@Param("id") Integer id,
|
|
@Param("bulan") Integer bulan, @Param("tahun") Integer tahun);
|
|
|
|
@Query("select p from JadwalDokter p where p.tanggalJadwal between :dateFrom and :dateTo and ( p.dokter.jabatanFungsional.id in (24,58) or p.dokter.jabatanStruktural.id in (24,58) ) ")
|
|
public List<JadwalDokter> getJadwalSupirAmbulanceByDate(@Param("dateFrom") Date dateFrom,
|
|
@Param("dateTo") Date dateTo);
|
|
|
|
@Query("select model from JadwalDokter model where model.ruangan.id=:ruangan and month(model.tanggalJadwal)=:bulan and year(model.tanggalJadwal) = :tahun and model.dokter.id = (:pegawai)")
|
|
public List<JadwalDokter> findJadwalByTanggalRuangan(@Param("ruangan") Integer ruangan,
|
|
@Param("tahun") Integer tahun, @Param("bulan") Integer bulan, @Param("pegawai") Integer pegawai);
|
|
|
|
@Query("select model from JadwalDokter model, MapPegawaiJabatanToUnitKerja mapPegawai inner join model.dokter dokter "
|
|
+ "where mapPegawai.pegawaiId = dokter.id and mapPegawai.isPrimary is true and mapPegawai.statusEnabled is true and mapPegawai.unitKerjaPegawaiId = :unitKerja "
|
|
+ "and month(model.tanggalJadwal) = :bulan and year(model.tanggalJadwal) = :tahun and dokter.id = (:pegawai)")
|
|
public List<JadwalDokter> findJadwalByTanggalUnitKerja(@Param("unitKerja") Integer unitKerja,
|
|
@Param("tahun") Integer tahun, @Param("bulan") Integer bulan, @Param("pegawai") Integer pegawai);
|
|
|
|
|
|
@Query("select model from JadwalDokter model where model.ruangan.headRuangan.id=:idRuangan and date(model.tanggalJadwal)=date(:tanggalJadwal)")
|
|
public List<JadwalDokter> findJadwalByTanggalRuanganBilik(@Param("idRuangan") Integer idRuangan,
|
|
@Param("tanggalJadwal") Date tanggalJadwal);
|
|
|
|
@Query("select model from JadwalDokter model where model.ruangan.id=:idRuangan and date(model.tanggalJadwal)=date(:tanggalJadwal)")
|
|
public List<JadwalDokter> findJadwalByTanggalRuanganBilik3(@Param("idRuangan") Integer idRuangan,
|
|
@Param("tanggalJadwal") Date tanggalJadwal);
|
|
|
|
@Query("select model from JadwalDokter model where model.dokter.id=:pegawai and date(model.tanggalJadwal)=date(:jamMasuk)")
|
|
public JadwalDokter findByTanggalAndPegawai(@Param("jamMasuk") Date jamMasuk, @Param("pegawai") Integer pegawai);
|
|
|
|
@Query("select model from JadwalDokter model where model.ruangan.headRuangan.id=:idRuangan and to_char(date(model.tanggalJadwal),'yyyy-mm-dd')=to_char(date(:tanggalJadwal),'yyyy-mm-dd')")
|
|
public List<JadwalDokter> findJadwalByTanggalRuanganBilik2(@Param("idRuangan") Integer idRuangan,
|
|
@Param("tanggalJadwal") Date tanggalJadwal);
|
|
|
|
//add by iwankasan 210417
|
|
@Query("select distinct new map(j.dokter.id as idDokter, " +
|
|
" j.dokter.namaLengkap as nmDokter, j.ruangan.id as idRuangan, " +
|
|
" j.ruangan.namaRuangan as namaRuangan, to_char(j.tanggalJadwal,'yyyy-mm-dd') as tglJadwal, " +
|
|
" j.jadwalPraktek.id as idPraktek, j.jadwalPraktek.jamPraktek as jamPraktek) from " +
|
|
" JadwalDokter j where j.dokter.id=:idDokter and j.ruangan.id=:idRuangan and to_char(date(j.tanggalJadwal),'yyyy-mm-dd') between to_char(date(:from),'yyyy-mm-dd') and to_char(date(:to),'yyyy-mm-dd')")
|
|
public List<JadwalDokter> findJadwalDokterByKisaranTglRuangan(
|
|
@Param("idDokter") int idDokter,
|
|
@Param("idRuangan") int idRuangan,
|
|
@Param("from") Date from,
|
|
@Param("to") Date to);
|
|
|
|
@Query("select distinct new map(j.dokter.id as idDokter, " +
|
|
" j.dokter.namaLengkap as nmDokter, j.ruangan.id as idRuangan, " +
|
|
" j.ruangan.namaRuangan as namaRuangan, to_char(j.tanggalJadwal,'yyyy-mm-dd') as tglJadwal, " +
|
|
" j.jadwalPraktek.id as idPraktek, j.jadwalPraktek.jamPraktek as jamPraktek) from " +
|
|
" JadwalDokter j where j.dokter.id=:idDokter and to_char(date(j.tanggalJadwal),'yyyy-mm-dd') between to_char(date(:from),'yyyy-mm-dd') and to_char(date(:to),'yyyy-mm-dd')")
|
|
public List<JadwalDokter> findJadwalDokterByKisaranTglRuanganAll(
|
|
@Param("idDokter") int idDokter,
|
|
@Param("from") Date from,
|
|
@Param("to") Date to);
|
|
|
|
/*@Query("select NEW Map ("
|
|
+ "a.quota as quota, "
|
|
+ "b.id as ruanganId, "
|
|
+ "b.namaRuangan as namaRuangan, "
|
|
+ "c.id as kamarId, "
|
|
+ "c.namaKamar as namaKamar) "
|
|
+ "from JadwalDokter a "
|
|
+ "left join a.ruangan b "
|
|
+ "left join b.kamarSet c "
|
|
+ "where b.id=:idRuangan and "
|
|
+ "date(a.tanggalJadwal)=date(:tanggalJadwal)")
|
|
public List<Map<String, Object>> findJadwalByTanggalRuangan(
|
|
@Param("idRuangan") Integer idRuangan,
|
|
@Param("tanggalJadwal") Date tanggalJadwal);*/
|
|
}
|