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

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

}
