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.Anamnesis; /** * Repository class for Anamensis * * @author Adik */ @Repository("AnamnesisDao") public interface AnamnesisDao extends PagingAndSortingRepository { // custom query @Query("select anamnesis from Anamnesis anamnesis left join anamnesis.pasienDaftar antrian left join antrian.pasienDaftar pasienDaftar left join pasienDaftar.pasien pasien where pasien.noCm=:noCm and anamnesis.tglRegistrasi=:tanggalPendaftaran") public Anamnesis findAnamnesisByNoCmAndTglInput(@Param("noCm") String noCm,@Param("tanggalPendaftaran") Date tanggalPendaftaran); /*@Query("select a.anamnesisDokter, a.anamnesisSuster, b.riwayatPengobatan, b.riwayatPenyakit from Anamnesis a, RiwayatPenyakitPengobatan b where b.anamesisId = a.noRec and a.pasien.noCm=:noCm") public List findByNoCm(@Param("noCm") String noCm); */ @Query("select new Map (anamnesis.anamnesisDokter as anamnesisDokter, "+ "anamnesis.anamnesisSuster as anamnesisSuster, "+ "petugas.id as idPetugas, "+ "petugas.namaLengkap as petugas, "+ "ruangan.id as idRuangan, "+ "ruangan.namaRuangan as namaRuangan, "+ "to_char(anamnesis.tanggalInput, 'dd-mm-yyyy HH.mm') as tanggalInput, "+ "pasienDaftar.noRec as noRecPasienDaftar, "+ "pasienDaftar.noRegistrasi as noRegistrasi, "+ "pasien.namaPasien as namaPasien, "+ "pasien.id as idPasien) "+ "from Anamnesis anamnesis "+ "left join anamnesis.petugas petugas "+ "left join anamnesis.ruangan ruangan "+ "left join anamnesis.pasienDaftar antrian "+ "left join antrian.pasienDaftar pasienDaftar "+ "left join pasienDaftar.pasien pasien "+ "where pasien.noCm =:noCm "+ "order by anamnesis.tanggalInput") public List> findAnamnesis(@Param("noCm") String noCm); }