50 lines
2.1 KiB
Java
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);
|
|
|
|
}
|