Done ticket GEPAFINBE-158

This commit is contained in:
Piyush
2025-02-03 20:34:10 +05:30
parent 88f68432eb
commit 5438bc8d67
4 changed files with 37 additions and 21 deletions

View File

@@ -148,4 +148,6 @@ public interface ApplicationAmendmentRequestRepository extends JpaRepository<App
@Param("endOfDay") LocalDateTime endOfDay
);
@Query("SELECT COUNT(a) FROM ApplicationAmendmentRequestEntity a WHERE a.applicationId IN :applicationIds AND a.status IN :statuses AND a.isDeleted = false")
Long countAmendmentsByApplicationIds(@Param("applicationIds") List<Long> applicationIds, @Param("statuses") List<String> statuses);
}

View File

@@ -94,16 +94,5 @@ 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);
}

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.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Optional;
@@ -27,8 +28,8 @@ 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(a) FROM AssignedApplicationsEntity a WHERE a.application.id IN :applicationIds AND a.status IN :statuses AND a.isDeleted = false")
Long countAssignedApplicationsByApplicationIds(@Param("applicationIds") List<Long> applicationIds, @Param("statuses") List<String> statuses);
@Query("""
SELECT COUNT(aa)
@@ -36,10 +37,12 @@ public interface AssignedApplicationsRepository extends JpaRepository<AssignedAp
JOIN aa.application a
WHERE a.hubId = :hubId
AND a.isDeleted = false
AND aa.status IN :statuses
AND aa.createdDate >= :yesterday
AND aa.isDeleted = false
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);
Long countApplicationsAddedYesterdayForHub(@Param("applicationIds") List<Long> applicationIds, @Param("hubId") Long hubId, @Param("yesterday") LocalDateTime yesterday, @Param("statuses") List<String> statuses);
@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);
@@ -83,6 +86,28 @@ public interface AssignedApplicationsRepository extends JpaRepository<AssignedAp
@Query("SELECT aa.application.id FROM AssignedApplicationsEntity aa " +
"WHERE aa.application.hubId = :hubId AND aa.isDeleted = false")
List<Long> findApplicationIdsByHubId(@Param("hubId") Long hubId);
@Query(" SELECT COUNT(aa) FROM AssignedApplicationsEntity aa " +
"JOIN aa.application a " +
"WHERE a.status IN :statuses " +
"AND a.isDeleted = false " +
"AND a.updatedDate >= :sevenDaysAgo " +
"AND aa.status = 'CLOSE'" +
"AND aa.isDeleted = false " +
" AND (:applicationIds IS NULL OR aa.application.id IN :applicationIds) ")
Long countEvaluatedApplicationsInLast7Days(@Param("applicationIds") List<Long> applicationIds,
@Param("statuses") List<String> statuses,
@Param("sevenDaysAgo") LocalDateTime sevenDaysAgo);
@Query("SELECT (COUNT(a) / 7.0) FROM AssignedApplicationsEntity aa " +
"JOIN aa.application a " +
"WHERE a.status IN :statuses " +
"AND a.isDeleted = false " +
"AND a.updatedDate >= :sevenDaysAgo " +
"AND aa.status = 'CLOSE'" +
"AND aa.isDeleted = false " +
"AND (:applicationIds IS NULL OR aa.application.id IN :applicationIds)")
BigDecimal countDailyAverageEvaluatedApplicationsInLast7Days(@Param("applicationIds") List<Long> applicationIds,
@Param("statuses") List<String> statuses,
@Param("sevenDaysAgo") LocalDateTime sevenDaysAgo);
}