/**
*
*/
package net.conselldemallorca.helium.v3.core.repository;
import java.util.List;
import net.conselldemallorca.helium.core.model.hibernate.Expedient;
import net.conselldemallorca.helium.core.model.hibernate.Portasignatures;
import net.conselldemallorca.helium.core.model.hibernate.Portasignatures.TipusEstat;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
/**
* Especifica els mètodes que s'han d'emprar per obtenir i modificar la
* informació relativa a un document enviat al portasignatures que està
* emmagatzemat a dins la base de dades.
*
* @author Limit Tecnologies <limit@limit.es>
*/
public interface PortasignaturesRepository extends JpaRepository<Portasignatures, Long> {
@Query(
"from " +
" Portasignatures p " +
"where " +
" processInstanceId = :processInstanceId")
List<Portasignatures> findByProcessInstanceId(
@Param("processInstanceId") String processInstanceId);
@Query(
"from " +
" Portasignatures p " +
"where " +
" p.processInstanceId = :processInstanceId " +
"and p.estat not in :estats ")
List<Portasignatures> findByProcessInstanceIdAndEstatNotIn(
@Param("processInstanceId") String processInstanceId,
@Param("estats") List<TipusEstat> estats);
@Query(
"from " +
" Portasignatures p " +
"where " +
" p.processInstanceId = :processInstanceId " +
"and p.documentStoreId = :documentStoreId ")
Portasignatures findByProcessInstanceIdAndDocumentStoreId(
@Param("processInstanceId") String processInstanceId,
@Param("documentStoreId") Long documentStoreId);
Portasignatures findByDocumentId(Integer documentId);
@Query("select p from Portasignatures p where processInstanceId=:processInstanceId")
List<Portasignatures> findPendentsPerProcessInstanceId(@Param("processInstanceId") String processInstanceId);
List<Portasignatures> findByExpedientAndEstat(
Expedient expedient,
TipusEstat estat);
}