Done ticket GEPAFINBE-141
This commit is contained in:
@@ -9,6 +9,8 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
@@ -80,4 +82,54 @@ public interface ApplicationAmendmentRequestRepository extends JpaRepository<App
|
||||
"AND a.endDate BETWEEN :startTime AND :endTime")
|
||||
List<ApplicationAmendmentRequestEntity> findExpiringBetween(LocalDateTime startTime, LocalDateTime endTime);
|
||||
|
||||
|
||||
|
||||
@Query("SELECT COUNT(a) FROM ApplicationAmendmentRequestEntity a WHERE a.applicationId IN :applicationIds AND a.isDeleted = false")
|
||||
Long countAmendmentsByApplicationIds(@Param("applicationIds") List<Long> applicationIds);
|
||||
|
||||
@Query("SELECT COUNT(a) FROM ApplicationAmendmentRequestEntity a WHERE a.applicationId IN :applicationIds AND a.status = :status AND a.isDeleted = false")
|
||||
Long countAmendmentsByApplicationIdsAndStatus(@Param("applicationIds") List<Long> applicationIds, @Param("status") String status);
|
||||
|
||||
@Query("""
|
||||
SELECT e
|
||||
FROM ApplicationAmendmentRequestEntity e
|
||||
WHERE e.applicationId IN :applicationIds
|
||||
AND e.status IN :statuses
|
||||
AND e.isDeleted = false
|
||||
""")
|
||||
List<ApplicationAmendmentRequestEntity> findAllByApplicationIdsAndStatuses(
|
||||
@Param("applicationIds") List<Long> applicationIds,
|
||||
@Param("statuses") List<String> statuses
|
||||
);
|
||||
List<ApplicationAmendmentRequestEntity> findAllByApplicationIdInAndStatusAndIsDeletedFalse(List<Long> applicationIds, String status);
|
||||
|
||||
@Query("""
|
||||
SELECT COALESCE(AVG(TIMESTAMPDIFF(DAY, a.startDate, a.closingDate)), 0)
|
||||
FROM ApplicationAmendmentRequestEntity a
|
||||
WHERE a.applicationId IN :applicationIds
|
||||
AND a.status = :status
|
||||
AND a.isDeleted = false
|
||||
AND a.closingDate IS NOT NULL
|
||||
""")
|
||||
BigDecimal findAverageResponseDaysByApplicationIdsAndStatus(
|
||||
@Param("applicationIds") List<Long> applicationIds,
|
||||
@Param("status") String status
|
||||
);
|
||||
|
||||
|
||||
@Query(value = """
|
||||
SELECT COUNT(*)
|
||||
FROM application_amendment_request e
|
||||
WHERE e.application_id IN :applicationIds
|
||||
AND e.status IN :statuses
|
||||
AND e.start_date + INTERVAL '1 DAY' * e.response_days <= :endDate
|
||||
AND e.start_date + INTERVAL '1 DAY' * e.response_days >= :startDate
|
||||
AND e.is_deleted = false
|
||||
""", nativeQuery = true)
|
||||
Long countExpiringRequestsIn48Hours(
|
||||
@Param("applicationIds") List<Long> applicationIds,
|
||||
@Param("statuses") List<String> statuses,
|
||||
@Param("startDate") LocalDateTime startDate,
|
||||
@Param("endDate") LocalDateTime endDate
|
||||
);
|
||||
}
|
||||
|
||||
@@ -22,4 +22,7 @@ public interface AssignedApplicationsRepository extends JpaRepository<AssignedAp
|
||||
|
||||
@Query("SELECT COUNT(aa) FROM AssignedApplicationsEntity aa WHERE aa.isDeleted = false AND aa.userId = :userId AND aa.status <> 'CLOSE'")
|
||||
Long countAssignedApplicationsByUserId(@Param("userId") Long userId);
|
||||
|
||||
@Query("SELECT aa.application.id FROM AssignedApplicationsEntity aa WHERE aa.isDeleted = false AND aa.userId = :userId")
|
||||
List<Long> findApplicationIdsByUserIdAndIsDeletedFalse(@Param("userId") Long userId);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user