RED-9255: implement file exchange

* add simplified text file to layoutparsing file export
* add validation for fileId/dossierId combinations
This commit is contained in:
Kilian Schuettler 2024-06-20 11:21:34 +02:00
parent f77c08aac8
commit 999ecafdf8
2 changed files with 20 additions and 2 deletions

View File

@ -270,9 +270,8 @@ public class ReanalysisService {
fileStatusService.getDossierTemplateStatus(dossierTemplateId)
.stream()
.filter(file -> !file.isSoftOrHardDeleted())
.filter(file -> isInList(file, reAnalysisSettings))
.filter(file -> file.getProcessingStatus().equals(ProcessingStatus.ERROR) || !reAnalysisSettings.onlyErrorFiles())
.filter(reAnalysisSettings.fileStatusFilter().fileStatusPredicate())
.peek(file -> log.info("Reanalyzing file {}", file.getId()))
.forEach(file -> fileStatusService.setStatusFullReprocess(file.getDossierId(), file.getId(), false, reAnalysisSettings.repeatStructureAnalysis()));

View File

@ -2,7 +2,9 @@ package com.iqser.red.service.persistence.service.v1.api.shared.model;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Predicate;
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.dossiertemplate.dossier.file.ProcessingStatus;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.WorkflowStatus;
@ -29,4 +31,21 @@ public class FileStatusFilter {
this.includeHardDeletedFiles = false;
}
public Predicate<FileModel> fileStatusPredicate() {
if (this.getProcessingStatusList() == null) {
this.setProcessingStatusList(new ArrayList<>());
}
if (this.getWorkflowStatusList() == null) {
this.setWorkflowStatusList(new ArrayList<>());
}
return fileStatus -> (this.getProcessingStatusList().isEmpty() || this.getProcessingStatusList().contains(fileStatus.getProcessingStatus()))
&& (this.getWorkflowStatusList().isEmpty() || this.getWorkflowStatusList().contains(fileStatus.getWorkflowStatus()))
&& (this.isIncludeSoftDeletedFiles() || fileStatus.getDeleted() == null)
&& (this.isIncludeHardDeletedFiles() || fileStatus.getHardDeletedTime() == null);
}
}