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.PengkajianAwalBaru; @Repository("PengkajianAwalBaruDao") public interface PengkajianAwalBaruDao extends PagingAndSortingRepository{ @Query("select " + "a.kdPap " + "from PengkajianAwalBaru a " + "where a.kdPap LIKE %:kode% and " + "a.tglRegistrasi=(select max(b.tglRegistrasi) " + "from PengkajianAwalBaru b " + "where a.kdPap LIKE %:kode%)") String kdPap(@Param("kode") String kode); @Query("select max(a.kdPap) " + "from PengkajianAwalBaru a " + "where a.kdPap LIKE %:kode% and " + "month(date(a.tglRegistrasi))=month(date(:dateNow)) and " + "year(date(a.tglRegistrasi))=year(date(:dateNow))") String countKdPap(@Param("kode") String kode, @Param("dateNow") Date dateNow); @Query("select NEW Map (" + "a.noRec as noRec," + "a.kdPap as kdPap," + "a.tglRegistrasi as tglRegistrasi," + "b.id as ruanganId," + "b.namaRuangan as namaRuangan," + "c.id as pasienId," + "c.namaPasien as namaPasien) " + "from PengkajianAwalBaru a " + "left join a.ruangan b " + "left join a.pasien c " + "where a.noRec=:noRec") Map getOne( @Param("noRec") String noRec); @Query("select NEW Map (" + "a.noRec as noRec," + "a.kdPap as kdPap," + "a.tglRegistrasi as tglRegistrasi," + "b.id as ruanganId," + "b.namaRuangan as namaRuangan," + "c.id as pasienId," + "c.namaPasien as namaPasien) " + "from PengkajianAwalBaru a " + "left join a.ruangan b " + "left join a.pasien c " + "where c.noCm=:noCm") List> getAll( @Param("noCm") String noCm); @Query("select " + "b.id as departemenId " + "from Ruangan a " + "left join a.departemen b " + "where a.id=:id") Integer getDepartementByRuangan( @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 (" + "a.noRec as noRec," + "a.kdPap as kdPap," + "a.tglRegistrasi as tglRegistrasi," + "b.id as ruanganId," + "b.namaRuangan as namaRuangan," + "c.id as pasienId," + "c.namaPasien as namaPasien) " + "from PengkajianAwalBaru a " + "left join a.ruangan b " + "left join a.pasien c " + "left join a.noRegistrasi d " + "where d.noRec=:noRegistrasi and " + "a.tglRegistrasi=(select max(e.tglRegistrasi) " + "from PengkajianAwalBaru e " + "left join e.noRegistrasi f " + "where f.noRec=:noRegistrasi)") Map getOneLast( @Param("noRegistrasi") String noRegistrasi); @Query("select NEW Map (" + "a.noRec as noRec," + "a.kdPap as kdPap," + "a.tglRegistrasi as tglRegistrasi," + "b.id as ruanganId," + "b.namaRuangan as namaRuangan," + "c.id as pasienId," + "c.namaPasien as namaPasien) " + "from PengkajianAwalBaru a " + "left join a.ruangan b " + "left join a.pasien c " + "where a.noRec=:noRec") Map getOneLajutan( @Param("noRec") String noRec); @Query("select NEW Map (" + "a.noRec as noRec," + "a.kdPap as kdPap," + "a.tglRegistrasi as tglRegistrasi," + "b.id as ruanganId," + "b.namaRuangan as namaRuangan," + "c.id as pasienId," + "c.namaPasien as namaPasien) " + "from PengkajianAwalBaru a " + "left join a.ruangan b " + "left join a.pasien c " + "where c.noCm=:noCm") List> getAllLanjutan( @Param("noCm") String noCm); }