package com.dacrt.SBIABackend.repository;

import java.util.Date;
import java.util.Optional;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.dacrt.SBIABackend.entity.Coverageprocesseshistory;


@Repository
public interface CoverageprocesseshistoryRepository extends JpaRepository<Coverageprocesseshistory,Integer>,JpaSpecificationExecutor<Coverageprocesseshistory>{
	@Query("SELECT e FROM Coverageprocesseshistory e WHERE e.coverageprocessid.id =?1 and e.id =?2")
	Optional<Coverageprocesseshistory> findByCoverageprocesseshistory(int coverageprocessid, int coverageprocesshistoryid);
	
	@Query("SELECT count(e) FROM Coverageprocesseshistory e WHERE e.coverageprocessid.id =?1 and date=?2")
	int existByCoverageprocesseshistory(int coverageprocessid, Date fecha);
	
	@Query("select count(1) from Coverageprocesseshistory where coverageprocessid in "
			+ "	(select id from Coverageprocesses where strategiesdetprocessid in "
			+ "	(select id from Strategiesdetprocesses where strategyid = ?1)) " )
	Integer existeStrategiesHistory(int idestrategia);
	
	@Query("SELECT count(e) FROM Coverageprocesseshistory e WHERE e.coverageprocessid.id =?1 and date > ?2")
	int findByCoverageprocessesshistoryFecha(int coverageprocessid, Date fecha);
}
