diff --git a/src/main/java/ru/soune/nocopy/repository/ComplaintEntityRepository.java b/src/main/java/ru/soune/nocopy/repository/ComplaintEntityRepository.java index 2c0a522..762c946 100644 --- a/src/main/java/ru/soune/nocopy/repository/ComplaintEntityRepository.java +++ b/src/main/java/ru/soune/nocopy/repository/ComplaintEntityRepository.java @@ -41,7 +41,7 @@ public interface ComplaintEntityRepository extends JpaRepository violations); @Query("SELECT c FROM ComplaintEntity c WHERE c.email IN :emails") diff --git a/src/main/java/ru/soune/nocopy/repository/LawCaseRepository.java b/src/main/java/ru/soune/nocopy/repository/LawCaseRepository.java index b0aa1d8..8777583 100644 --- a/src/main/java/ru/soune/nocopy/repository/LawCaseRepository.java +++ b/src/main/java/ru/soune/nocopy/repository/LawCaseRepository.java @@ -44,7 +44,7 @@ public interface LawCaseRepository extends JpaRepository { @Query("SELECT COUNT(lc.id) FROM LawCase lc") Long getTotalLawCasesCount(); - @Query("SELECT COUNT(*) FROM LawCase l WHERE l.violationId IN :violationIds") + @Query("SELECT COUNT(l) FROM LawCase l WHERE l.violationId IN :violationIds") int countLawCaseByViolationIds(@Param("violationIds") List violationIds); Optional getLawCaseByViolationIdAndType(Long violationId, LawCaseType type); diff --git a/src/main/java/ru/soune/nocopy/service/violation/ViolationService.java b/src/main/java/ru/soune/nocopy/service/violation/ViolationService.java index c839c53..5924c86 100644 --- a/src/main/java/ru/soune/nocopy/service/violation/ViolationService.java +++ b/src/main/java/ru/soune/nocopy/service/violation/ViolationService.java @@ -237,9 +237,13 @@ public class ViolationService { List violationIds = violations.stream().map(Violation::getId).toList(); - int totalComplaints = complaintRepository.countComplaintByViolations(violationIds); + int totalComplaints = 0; + int totalLawCases = 0; - int totalLawCases = lawCaseRepository.countLawCaseByViolationIds(violationIds); + if (!violationIds.isEmpty()) { + totalComplaints = complaintRepository.countComplaintByViolations(violationIds); + totalLawCases = lawCaseRepository.countLawCaseByViolationIds(violationIds); + } return ViolationStatisticsResponse.builder() .totalViolations(violations.size())