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) {
|
public void reanalyzeTemplate(String dossierTemplateId, ReanalysisSettings reanalysisSettings) {
|
||||||
|
|
||||||
requestValidator.validateRequestOrThrow404(dossierTemplateId, reanalysisSettings.dossierIds(), reanalysisSettings.fileIds());
|
requestValidator.validateRequestOrThrow404(dossierTemplateId, reanalysisSettings.dossierIds(), reanalysisSettings.fileIds());
|
||||||
fileStatusService.getDossierTemplateStatus(dossierTemplateId)
|
|
||||||
|
var files = fileStatusService.getDossierTemplateStatus(dossierTemplateId)
|
||||||
.stream()
|
.stream()
|
||||||
.filter(file -> isInList(file, reanalysisSettings))
|
.filter(file -> isInList(file, reanalysisSettings))
|
||||||
.filter(reanalysisSettings.fileStatusFilter().fileStatusPredicate())
|
.filter(reanalysisSettings.fileStatusFilter().asPredicate())
|
||||||
.peek(file -> log.info("Reanalyzing file {}", file.getId()))
|
.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) {
|
if (this.getProcessingStatusList() == null) {
|
||||||
this.setProcessingStatusList(new ArrayList<>());
|
this.setProcessingStatusList(new ArrayList<>());
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user