package com.jasamedika.medifirst2000.dao;

import java.util.Date;

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

/**
 * Repository class for PemakaianAsuransi
 * 
 * @author Generator
 */
@Repository("PemakaianAsuransiDao")
public interface PemakaianAsuransiDao extends PagingAndSortingRepository<PemakaianAsuransi, String> {
	
	@Query("select p from PemakaianAsuransi p "
			+ "left join p.pasienDaftar a "
			+ "left join a.pasien b "
			+ "where b.noCm=:noCm "
			+ "and p.kdProfile=:kdProfile "
			+ "and date(a.tglRegistrasi)=:tglRegistrasi ")
	PemakaianAsuransi finByNoCmAndTglRegistrasi(
			@Param("noCm") String noCm, 
			@Param("kdProfile") short kdProfile, 
			@Param("tglRegistrasi") Date tglRegistrasi);
	
	@Query("select p from PemakaianAsuransi p where p.noSep=:noSep")
	PemakaianAsuransi finByNoSep(
			@Param("noSep") String noSep);
	
	@Query("select a from PemakaianAsuransi a left join a.pasienDaftar b where a.noRec=:noRec")
	PemakaianAsuransi findByPasienDaftarPasienDaftarNoRec(@Param("noRec") String noRec);
	
	@Query("select p from PemakaianAsuransi p "
			+ "left join p.pasienDaftar a "
			+ "where a.noRec=:noRec")
	PemakaianAsuransi findByPasienDaftar(@Param("noRec") String noRec);
	
}
