Merge pull request #187 from Kitzanos/feature/GEPAFINBE-145
GEPAFINBE-145 (Instructor: dashboard stats)
This commit is contained in:
@@ -132,4 +132,20 @@ public interface ApplicationAmendmentRequestRepository extends JpaRepository<App
|
||||
@Param("startDate") LocalDateTime startDate,
|
||||
@Param("endDate") LocalDateTime endDate
|
||||
);
|
||||
@Query(value = """
|
||||
SELECT COUNT(*)
|
||||
FROM {h-schema}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 >= :startOfDay
|
||||
AND e.start_date + INTERVAL '1 DAY' * e.response_days < :endOfDay
|
||||
AND e.is_deleted = false
|
||||
""", nativeQuery = true)
|
||||
Long countAmendmentsExpiringToday(
|
||||
@Param("applicationIds") List<Long> applicationIds,
|
||||
@Param("statuses") List<String> statuses,
|
||||
@Param("startOfDay") LocalDateTime startOfDay,
|
||||
@Param("endOfDay") LocalDateTime endOfDay
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@ import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@@ -92,5 +94,16 @@ public interface ApplicationRepository extends JpaRepository<ApplicationEntity,
|
||||
@Query("SELECT a.id FROM ApplicationEntity a WHERE a.hubId = :hubId AND a.isDeleted = false")
|
||||
List<Long> findApplicationIdsByHubId(@Param("hubId") Long hubId);
|
||||
|
||||
@Query("SELECT COUNT(a) FROM ApplicationEntity a WHERE a.id IN :applicationIds AND a.status IN :statuses AND a.isDeleted = false AND a.updatedDate >= :sevenDaysAgo")
|
||||
Long countEvaluatedApplicationsInLast7Days(@Param("applicationIds") List<Long> applicationIds,
|
||||
@Param("statuses") List<String> statuses,
|
||||
@Param("sevenDaysAgo") LocalDateTime sevenDaysAgo);
|
||||
|
||||
@Query("SELECT (COUNT(a) / 7.0) FROM ApplicationEntity a WHERE a.id IN :applicationIds AND a.status IN :statuses AND a.isDeleted = false AND a.updatedDate >= :sevenDaysAgo")
|
||||
BigDecimal countDailyAverageEvaluatedApplicationsInLast7Days(@Param("applicationIds") List<Long> applicationIds,
|
||||
@Param("statuses") List<String> statuses,
|
||||
@Param("sevenDaysAgo") LocalDateTime sevenDaysAgo);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@@ -25,6 +26,23 @@ public interface AssignedApplicationsRepository extends JpaRepository<AssignedAp
|
||||
|
||||
@Query("SELECT aa.application.id FROM AssignedApplicationsEntity aa WHERE aa.isDeleted = false AND aa.userId = :userId")
|
||||
List<Long> findApplicationIdsByUserIdAndIsDeletedFalse(@Param("userId") Long userId);
|
||||
|
||||
@Query("SELECT COUNT(a) FROM AssignedApplicationsEntity a WHERE a.application.id IN :applicationIds AND a.isDeleted = false")
|
||||
Long countAssignedApplicationsByApplicationIds(@Param("applicationIds") List<Long> applicationIds);
|
||||
|
||||
@Query("""
|
||||
SELECT COUNT(aa)
|
||||
FROM AssignedApplicationsEntity aa
|
||||
JOIN aa.application a
|
||||
WHERE a.hubId = :hubId
|
||||
AND a.isDeleted = false
|
||||
AND aa.createdDate >= :yesterday
|
||||
AND (:applicationIds IS NULL OR aa.application.id IN :applicationIds)
|
||||
""")
|
||||
Long countApplicationsAddedYesterdayForHub(@Param("applicationIds") List<Long> applicationIds, @Param("hubId") Long hubId, @Param("yesterday") LocalDateTime yesterday);
|
||||
|
||||
@Query("SELECT COUNT(a) FROM AssignedApplicationsEntity a WHERE a.application.id IN :applicationIds AND a.status = :status AND a.isDeleted = false")
|
||||
Long countApplicationsByIdsAndStatus(@Param("applicationIds") List<Long> applicationIds, @Param("status") String status);
|
||||
|
||||
@Query("""
|
||||
SELECT
|
||||
|
||||
Reference in New Issue
Block a user