2021-01-07 11:34:56 +07:00

127 lines
3.8 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.PengkajianAwalBaru;
@Repository("PengkajianAwalBaruDao")
public interface PengkajianAwalBaruDao extends PagingAndSortingRepository<PengkajianAwalBaru, String>{
@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<String, Object> 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<Map<String, Object>> 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<String, Object> 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<String, Object> 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<Map<String, Object>> getAllLanjutan(
@Param("noCm") String noCm);
}