RED-9255: implement file exchange
* add simplified text file to layoutparsing file export * add validation for fileId/dossierId combinations
This commit is contained in:
parent
fbf9320f6c
commit
4b61a19a95
@ -270,13 +270,31 @@ public class ReanalysisService {
|
||||
public void reanalyzeTemplate(String dossierTemplateId, ReanalysisSettings reanalysisSettings) {
|
||||
|
||||
requestValidator.validateRequestOrThrow404(dossierTemplateId, reanalysisSettings.dossierIds(), reanalysisSettings.fileIds());
|
||||
fileStatusService.getDossierTemplateStatus(dossierTemplateId)
|
||||
|
||||
var files = fileStatusService.getDossierTemplateStatus(dossierTemplateId)
|
||||
.stream()
|
||||
.filter(file -> isInList(file, reanalysisSettings))
|
||||
.filter(reanalysisSettings.fileStatusFilter().fileStatusPredicate())
|
||||
.filter(reanalysisSettings.fileStatusFilter().asPredicate())
|
||||
.peek(file -> log.info("Reanalyzing file {}", file.getId()))
|
||||
.forEach(file -> fileStatusService.setStatusFullReprocess(file.getDossierId(), file.getId(), false, reanalysisSettings.repeatStructureAnalysis()));
|
||||
.toList();
|
||||
|
||||
validateFilesForReanalysis(files);
|
||||
|
||||
files.forEach(file -> fileStatusService.setStatusFullReprocess(file.getDossierId(), file.getId(), false, reanalysisSettings.repeatStructureAnalysis()));
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void validateFilesForReanalysis(List<FileModel> files) {
|
||||
|
||||
for (var file : files) {
|
||||
if (file.isSoftOrHardDeleted()) {
|
||||
throw new BadRequestException("Cannot reanalyse deleted file!");
|
||||
}
|
||||
if (file.getWorkflowStatus() == WorkflowStatus.APPROVED) {
|
||||
throw new BadRequestException("Cannot reanalyse approved file!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ public class FileStatusFilter {
|
||||
}
|
||||
|
||||
|
||||
public Predicate<FileModel> fileStatusPredicate() {
|
||||
public Predicate<FileModel> asPredicate() {
|
||||
|
||||
if (this.getProcessingStatusList() == null) {
|
||||
this.setProcessingStatusList(new ArrayList<>());
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user