29 lines
1.3 KiB
Java
29 lines
1.3 KiB
Java
package eu.dnetlib.validatorapi.repositories;
|
|
|
|
import eu.dnetlib.validatorapi.entities.SummaryResult;
|
|
import eu.dnetlib.validatorapi.entities.ValidationRuleResult;
|
|
import org.springframework.data.jpa.repository.JpaRepository;
|
|
import org.springframework.data.jpa.repository.Query;
|
|
import org.springframework.data.repository.query.Param;
|
|
import org.springframework.stereotype.Repository;
|
|
|
|
import java.util.List;
|
|
|
|
@Repository
|
|
public interface ValidationResultRepository extends JpaRepository<ValidationRuleResult, Long> {
|
|
|
|
@Query(value =
|
|
"SELECT NEW eu.dnetlib.validatorapi.entities.SummaryResult(sr.ruleName, sr.ruleWeight," +
|
|
"COUNT(CASE WHEN sr.status = 'SUCCESS' THEN 1 END) AS passed_records, " +
|
|
"COUNT(CASE WHEN sr.status = 'FAILURE' THEN 1 END) AS failed_records) " +
|
|
"FROM ValidationRuleResult sr " + "WHERE sr.validationJobId = :id " +
|
|
"GROUP BY sr.ruleName, sr.ruleWeight")
|
|
List<SummaryResult> getSummaryResult(@Param("id") int validationJobId);
|
|
|
|
@Query("SELECT CASE WHEN COUNT(vr) > 0 THEN 'FAILURE' ELSE 'SUCCESS' END " +
|
|
"FROM ValidationRuleResult vr " +
|
|
"WHERE vr.validationJobId = :id AND vr.status = 'FAILURE'")
|
|
public String getStatus(@Param("id") int validationJobId);
|
|
|
|
}
|