diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java index cb9e2fc02..3106cf9ea 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java @@ -58,6 +58,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemp 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.ProcessingStatus; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.WorkflowStatus; +import com.iqser.red.service.persistence.service.v1.api.shared.mongo.service.EntityLogMongoService; import com.knecon.fforesight.databasetenantcommons.providers.utils.MagicConverter; import com.knecon.fforesight.service.layoutparser.internal.api.queue.LayoutParsingType; import com.knecon.fforesight.service.ocr.v1.api.model.DocumentRequest; @@ -100,6 +101,7 @@ public class FileStatusService { FileManagementServiceSettings fileManagementServiceSettings; LayoutParsingRequestFactory layoutParsingRequestFactory; ComponentMappingService componentMappingService; + EntityLogMongoService entityLogMongoService; WebsocketService websocketService; @@ -304,6 +306,13 @@ public class FileStatusService { log.info("Add file: {} from dossier {} to Analysis queue with MessageType {}", fileId, dossierId, messageType); + // a full processing is supposed to happen when the FIRST manual reanalyze is executed for a file uploaded with imported redactions and disabled automatic analysis + if (fileEntity.isExcludedFromAutomaticAnalysis() + && manualRedactionReanalyse + && analyseRequest.getAnalysisNumber() == 2 + && entityLogMongoService.entityLogContainsImportedEntries(dossierId, fileId)) { + analyseRequest.setMessageType(MessageType.ANALYSE); + } if (messageType.equals(MessageType.REANALYSE)) { setStatusProcessing(fileId); } else { diff --git a/persistence-service-v1/persistence-service-shared-mongo-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/mongo/repository/EntityLogEntryDocumentRepository.java b/persistence-service-v1/persistence-service-shared-mongo-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/mongo/repository/EntityLogEntryDocumentRepository.java index 8867852fd..58d380726 100644 --- a/persistence-service-v1/persistence-service-shared-mongo-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/mongo/repository/EntityLogEntryDocumentRepository.java +++ b/persistence-service-v1/persistence-service-shared-mongo-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/mongo/repository/EntityLogEntryDocumentRepository.java @@ -60,4 +60,8 @@ public interface EntityLogEntryDocumentRepository extends MongoRepository