Done ticket GEPAFINBE-145

This commit is contained in:
nisha
2025-01-28 13:08:34 +05:30
parent 31ce02e726
commit 73715b4edf
14 changed files with 255 additions and 23 deletions

View File

@@ -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
);
}

View File

@@ -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;
@@ -91,6 +93,19 @@ public interface ApplicationRepository extends JpaRepository<ApplicationEntity,
Long countSoccorsoApplicationsByHubId(@Param("hubId") Long hubId);
@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 = :status AND a.isDeleted = false")
Long countApplicationsByIdsAndStatus(@Param("applicationIds") List<Long> applicationIds, @Param("status") String status);
@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);
}

View File

@@ -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,4 +26,21 @@ 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 ApplicationEntity a ON aa.application.id = a.id
WHERE a.hubId = :hubId
AND a.isDeleted = false
AND aa.createdDate >= :yesterday
""")
Long countApplicationsAddedYesterdayForHub(
@Param("hubId") Long hubId,
@Param("yesterday") LocalDateTime yesterday
);
}