package com.jasamedika.medifirst2000.dao;

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.PemeriksaanUmum;

@Repository("PemeriksaanUmumDao")
public interface PemeriksaanUmumDao extends PagingAndSortingRepository<PemeriksaanUmum, String> {
	
	@Query("select NEW map (pemeriksaanUmum.pemeriksaanUmum as pemeriksaanUmum, "+
			"petugas.id as idPetugas, "+
			"petugas.namaLengkap as petugas, "+
			"ruangan.id as idRuangan, "+
			"ruangan.namaRuangan as namaRuangan, "+
			"to_char(pemeriksaanUmum.tanggalInput, 'dd-mm-yyyy HH.mm') as tanggalInput )   "+
			"from PemeriksaanUmum pemeriksaanUmum "+
			"left join pemeriksaanUmum.petugas petugas "+
			"left join pemeriksaanUmum.Ruangan ruangan "+
			"left join pemeriksaanUmum.pasienDaftar antrian "+
			"left join antrian.pasienDaftar pasienDaftar "+
			"left join pasienDaftar.pasien pasien "+
			"where pasien.noCm =:noCm "+
			"order by pemeriksaanUmum.tanggalInput")
	List<Map<String,Object>> findPemeriksaanUmum(@Param("noCm") String noCm );

}
