diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/LicenseReportService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/LicenseReportService.java index e6168882b..88c7ba434 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/LicenseReportService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/LicenseReportService.java @@ -35,14 +35,20 @@ public class LicenseReportService { public LicenseReport getLicenseReport(LicenseReportRequest licenseReportRequest) { var files = fileStatusService.getStatusesAddedBefore(OffsetDateTime.ofInstant(licenseReportRequest.getEndDate(), UTC_ZONE_ID)); + var addDossiers = dossierService.getAllDossiers(); if (files == null || files.isEmpty()) { - return LicenseReport.builder().startDate(licenseReportRequest.getStartDate()).endDate(licenseReportRequest.getEndDate()).build(); + return LicenseReport.builder() + .startDate(licenseReportRequest.getStartDate()) + .endDate(licenseReportRequest.getEndDate()).numberOfDossiers(addDossiers.stream() + .filter(dossier -> dossier.getDate().toInstant().isAfter(licenseReportRequest.getStartDate()) && (dossier.getHardDeletedTime() == null || dossier.getHardDeletedTime() + .isAfter(OffsetDateTime.ofInstant(licenseReportRequest.getEndDate(), UTC_ZONE_ID)))) + .collect(Collectors.toSet()) + .size()).build(); } files.sort(Comparator.comparing(FileModel::getAdded)); - var addDossiers = dossierService.getAllDossiers(); var dossiersById = addDossiers.stream().collect(Collectors.toMap(DossierEntity::getId, Function.identity())); Map> adds = new HashMap<>(); @@ -181,8 +187,8 @@ public class LicenseReportService { .numberOfAnalyzedFiles(numberOfAnalyzedFiles) .numberOfOcrFiles(numberOfOcrFiles) .numberOfDossiers(addDossiers.stream() - .filter(dossier -> dossier.getHardDeletedTime() == null || dossier.getHardDeletedTime() - .isAfter(OffsetDateTime.ofInstant(licenseReportRequest.getEndDate(), UTC_ZONE_ID))) + .filter(dossier -> dossier.getDate().toInstant().isAfter(licenseReportRequest.getStartDate()) && (dossier.getHardDeletedTime() == null || dossier.getHardDeletedTime() + .isAfter(OffsetDateTime.ofInstant(licenseReportRequest.getEndDate(), UTC_ZONE_ID)))) .collect(Collectors.toSet()) .size()) .startDate(licenseReportRequest.getStartDate()) diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/license/LicenseReportRequest.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/license/LicenseReportRequest.java index 9d0c25709..485febb43 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/license/LicenseReportRequest.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/license/LicenseReportRequest.java @@ -29,7 +29,7 @@ public class LicenseReportRequest { public Instant getEndDate() { - if (endDate == null) { + if (endDate == null || endDate.isAfter(Instant.now())) { endDate = Instant.now(); } return endDate;