package com.jasamedika.medifirst2000.dao;

import java.util.List;

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

/**
 * Repository class for PasienInstruksiPerjanjian
 * 
 * @author adik
 */
@Repository("PasienInstruksiPerjanjianDao")
public interface PasienInstruksiPerjanjianDao extends PagingAndSortingRepository<PasienInstruksiPerjanjian, String> {
	
	@Query("select a from PasienInstruksiPerjanjian a "
			+ "left join a.pasien b "
			+ "left join a.ruangan c "
			+ "where b.id=:pasienId and c.id=:ruanganId and a.status=true ")
	PasienInstruksiPerjanjian checkInstruksiPerjanjian(
			@Param("pasienId") Integer pasienId,@Param("ruanganId") Integer ruanganId);
	
	@Query("select pasien.noCm, pasienInstruksiPerjanjian.status from PasienInstruksiPerjanjian pasienInstruksiPerjanjian left join pasienInstruksiPerjanjian.pasien pasien where pasienInstruksiPerjanjian.status = true and pasien.noCm=:noCm")
	List<Object[]> checkInstruksiPerjanjianByNocm(@Param("noCm") String noCm);
	
	@Query("select pasien.namaPasien,pasien.noCm, to_char(instruksiPerjanjian.tglPerjanjian,'yyyy-MM-dd'),to_char(instruksiPerjanjian.tglPerjanjian,'HH:mm'),ruangan.namaRuangan,dokter.namaLengkap, instruksiPerjanjian.keteranganLainnya from PapInstruksiPerjanjian instruksiPerjanjian left join instruksiPerjanjian.dokter dokter left join instruksiPerjanjian.pasien pasien left join instruksiPerjanjian.ruangan ruangan where pasien.noCm=:noCm and dokter.id = :dokterId")
	List<Object[]> findInstruksiPerjanjian(@Param("noCm") String noCm,@Param("dokterId") Integer dokterId);
	
		
}
