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
999ecafdf8
commit
cdece93037
@ -23,7 +23,7 @@ import com.iqser.red.service.persistence.management.v1.processor.service.FileSta
|
|||||||
import com.iqser.red.service.persistence.management.v1.processor.service.FileStatusMapper;
|
import com.iqser.red.service.persistence.management.v1.processor.service.FileStatusMapper;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.ReanalysisService;
|
import com.iqser.red.service.persistence.management.v1.processor.service.ReanalysisService;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.dataexchange.service.FileExchangeExportService;
|
import com.iqser.red.service.persistence.management.v1.processor.dataexchange.service.FileExchangeExportService;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.external.model.ReAnalysisSettings;
|
import com.iqser.red.service.persistence.service.v1.api.external.model.ReanalysisSettings;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.external.resource.SupportResource;
|
import com.iqser.red.service.persistence.service.v1.api.external.resource.SupportResource;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.DownloadResponse;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.DownloadResponse;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.FileStatus;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.FileStatus;
|
||||||
@ -48,10 +48,10 @@ public class SupportController implements SupportResource {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void reanalyzeFiles(String dossierTemplateId, ReAnalysisSettings reAnalysisSettings) {
|
public void reanalyzeFiles(String dossierTemplateId, ReanalysisSettings reanalysisSettings) {
|
||||||
|
|
||||||
log.info("Scheduling reanalysis for all files in Dossier Tempalte {} with settings {}", dossierTemplateId, reAnalysisSettings);
|
log.info("Scheduling reanalysis for all files in Dossier Tempalte {} with settings {}", dossierTemplateId, reanalysisSettings);
|
||||||
reanalysisService.reanalyzeTemplate(dossierTemplateId, reAnalysisSettings);
|
reanalysisService.reanalyzeTemplate(dossierTemplateId, reanalysisSettings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
|
|||||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.external.model.ReAnalysisSettings;
|
import com.iqser.red.service.persistence.service.v1.api.external.model.ReanalysisSettings;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.DownloadResponse;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.DownloadResponse;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.FileStatus;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.FileStatus;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.FileStatusFilter;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.FileStatusFilter;
|
||||||
@ -55,7 +55,7 @@ public interface SupportResource {
|
|||||||
@Operation(summary = "Reanalyze all files in dossier template", description = "None")
|
@Operation(summary = "Reanalyze all files in dossier template", description = "None")
|
||||||
@ApiResponses(value = {@ApiResponse(responseCode = "204", description = "OK"), @ApiResponse(responseCode = "403", description = "Forbidden")})
|
@ApiResponses(value = {@ApiResponse(responseCode = "204", description = "OK"), @ApiResponse(responseCode = "403", description = "Forbidden")})
|
||||||
void reanalyzeFiles(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId,
|
void reanalyzeFiles(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId,
|
||||||
@RequestBody ReAnalysisSettings reAnalysisSettings);
|
@RequestBody ReanalysisSettings reAnalysisSettings);
|
||||||
|
|
||||||
|
|
||||||
@PostMapping(value = ERROR_REANALYSIS_REST_PATH)
|
@PostMapping(value = ERROR_REANALYSIS_REST_PATH)
|
||||||
|
|||||||
@ -9,7 +9,7 @@ import com.iqser.red.service.persistence.management.v1.processor.exception.BadRe
|
|||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService;
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.external.model.ReAnalysisSettings;
|
import com.iqser.red.service.persistence.service.v1.api.external.model.ReanalysisSettings;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.DeleteImportedRedactionsRequest;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.DeleteImportedRedactionsRequest;
|
||||||
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.FileModel;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileType;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileType;
|
||||||
@ -266,19 +266,19 @@ public class ReanalysisService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void reanalyzeTemplate(String dossierTemplateId, ReAnalysisSettings reAnalysisSettings) {
|
public void reanalyzeTemplate(String dossierTemplateId, ReanalysisSettings reanalysisSettings) {
|
||||||
|
|
||||||
fileStatusService.getDossierTemplateStatus(dossierTemplateId)
|
fileStatusService.getDossierTemplateStatus(dossierTemplateId)
|
||||||
.stream()
|
.stream()
|
||||||
.filter(file -> isInList(file, reAnalysisSettings))
|
.filter(file -> isInList(file, reanalysisSettings))
|
||||||
.filter(reAnalysisSettings.fileStatusFilter().fileStatusPredicate())
|
.filter(reanalysisSettings.fileStatusFilter().fileStatusPredicate())
|
||||||
.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()));
|
.forEach(file -> fileStatusService.setStatusFullReprocess(file.getDossierId(), file.getId(), false, reanalysisSettings.repeatStructureAnalysis()));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private boolean isInList(FileModel file, ReAnalysisSettings reAnalysisSettings) {
|
private boolean isInList(FileModel file, ReanalysisSettings reAnalysisSettings) {
|
||||||
|
|
||||||
return (reAnalysisSettings.fileIds().isEmpty() || reAnalysisSettings.fileIds().contains(file.getId())) //
|
return (reAnalysisSettings.fileIds().isEmpty() || reAnalysisSettings.fileIds().contains(file.getId())) //
|
||||||
&& (reAnalysisSettings.dossierIds().isEmpty() || reAnalysisSettings.dossierIds().contains(file.getDossierId()));
|
&& (reAnalysisSettings.dossierIds().isEmpty() || reAnalysisSettings.dossierIds().contains(file.getDossierId()));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user