RED-6543: Fixed license report QA findings 3

This commit is contained in:
deiflaender 2023-06-30 13:00:42 +02:00
parent 17412ee828
commit a84c98cc5d

View File

@ -14,6 +14,7 @@ import java.util.stream.Collectors;
import org.springframework.stereotype.Service;
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity;
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileModel;
import com.iqser.red.service.persistence.service.v1.api.shared.model.license.LicenseReport;
import com.iqser.red.service.persistence.service.v1.api.shared.model.license.LicenseReportRequest;
@ -34,13 +35,18 @@ public class LicenseReportService {
public LicenseReport getLicenseReport(LicenseReportRequest licenseReportRequest) {
if(licenseReportRequest.getEndDate().isBefore(licenseReportRequest.getStartDate())){
throw new BadRequestException("Invalid date period: End date is before start date.");
}
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()).numberOfDossiers(addDossiers.stream()
.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())
@ -78,7 +84,7 @@ public class LicenseReportService {
}
}
YearMonth currentMonth = YearMonth.from(files.get(0).getAdded());
YearMonth currentMonth = files.get(0).getAdded().toInstant().isBefore(licenseReportRequest.getStartDate()) ? YearMonth.from(files.get(0).getAdded()) : YearMonth.from(licenseReportRequest.getStartDate().atZone(UTC_ZONE_ID).toLocalDate());
YearMonth endMonth = YearMonth.from(licenseReportRequest.getEndDate().atZone(UTC_ZONE_ID).toLocalDate());
YearMonth reportStartMonth = YearMonth.from(licenseReportRequest.getStartDate().atZone(UTC_ZONE_ID).toLocalDate());