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.JadwalDpjpRawatInap; @Repository("JadwalDpjpRawatInapDao") public interface JadwalDpjpRawatInapDao extends PagingAndSortingRepository{ @Query("select NEW Map (" + "a.tglAwal as tglAwal," + "a.tglAhir as tglAhir," + "b.id as ruanganId," + "b.namaRuangan as namaRuangan," + "c.id as dokterId," + "c.namaLengkap as namaDokter) " + "from JadwalDpjpRawatInap a " + "left join a.ruangan b " + "left join a.dokter c " + "where c.id=:id") List> getAll(@Param("id") Integer id); @Query("select NEW Map (" + "a.id as ruanganId," + "a.namaRuangan as namaRuangan) " + "from Ruangan a " + "left join a.departemen b " + "where b.id=:id") List> ruangan( @Param("id") Integer id); @Query("select NEW Map (" + "a.id as dokterId," + "a.namaLengkap as namaDokter) " + "from Pegawai a " + "left join a.jenisPegawai b " + "where b.id=:id and a.statusEnabled=true") List> dokter( @Param("id") Integer id); @Query("select a.nilaiField from SettingDataFixed a where a.namaField=:value") String getSettingDataFixed(@Param("value") String value); @Query("select NEW Map (" + "b.id as dokterId," + "b.namaLengkap as namaDokter) " + "from JadwalDpjpRawatInap a " + "left join a.dokter b " + "left join a.ruangan c " + "where c.id=:id") List> getJadwalDpjpByRuangan( @Param("id") Integer id); @Query("select NEW Map (" + "a.noRec as noRec," + "b.id as dokterId," + "b.namaLengkap as namaDokter," + "a.tglAwal as tglAwal," + "a.tglAhir as tglAhir," + "c.id as ruanganId," + "c.namaRuangan as namaRuangan) " + "from JadwalDpjpRawatInap a " + "left join a.dokter b " + "left join a.ruangan c " + "where c.id=:id and " + "(date(:dateNow) " + "between date(a.tglAwal) and " + "date(a.tglAhir))") List> getJadwalDpjpDokterPelayanan( @Param("id") Integer id, @Param("dateNow") Date dateNow); }