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

50 lines
2.1 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.Anamnesis;
/**
* Repository class for Anamensis
*
* @author Adik
*/
@Repository("AnamnesisDao")
public interface AnamnesisDao extends PagingAndSortingRepository<Anamnesis, String> {
// 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<Object[]> 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<Map<String,Object>> findAnamnesis(@Param("noCm") String noCm);
}