diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileService.java index 7267652c6..1b59f4892 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileService.java @@ -71,7 +71,7 @@ public class FileService { if (existingStatus != null) { // the file is already uploaded, just reanalyse it. - fileStatusService.overwriteFile(request.getDossierId(), request.getFileId(), request.getUploader(), request.getFilename(), keepManualRedactions); + fileStatusService.overwriteFile(request.getDossierId(), request.getFileId(), request.getUploader(), request.getFilename(), keepManualRedactions, disableAutomaticAnalysis); } else { // the file is new, should create a new status for it. log.info("File {} has no status yet, creating one and setting to unprocessed.", request.getFilename()); 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 3106cf9ea..cdc63fd66 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 @@ -60,7 +60,6 @@ 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.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; import jakarta.transaction.Transactional; @@ -779,7 +778,7 @@ public class FileStatusService { @Transactional - public void overwriteFile(String dossierId, String fileId, String uploader, String filename, boolean keepManualRedactions) { + public void overwriteFile(String dossierId, String fileId, String uploader, String filename, boolean keepManualRedactions, boolean disableAutomaticAnalysis) { fileManagementStorageService.deleteObject(dossierId, fileId, FileType.ORIGIN); fileManagementStorageService.deleteObject(dossierId, fileId, FileType.REDACTION_LOG); @@ -794,9 +793,9 @@ public class FileStatusService { fileManagementStorageService.deleteObject(dossierId, fileId, FileType.TABLES); if (keepManualRedactions) { - fileStatusPersistenceService.overwriteFile(fileId, uploader, filename, true); + fileStatusPersistenceService.overwriteFile(fileId, uploader, filename, true, disableAutomaticAnalysis); } else { - fileStatusPersistenceService.overwriteFile(fileId, uploader, filename, false); + fileStatusPersistenceService.overwriteFile(fileId, uploader, filename, false, disableAutomaticAnalysis); deleteManualRedactions(dossierId, fileId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java index 56f2affc8..154bf67ee 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java @@ -535,7 +535,7 @@ public class FileStatusPersistenceService { @Transactional - public void overwriteFile(String fileId, String uploader, String filename, boolean keepManualRedactions) { + public void overwriteFile(String fileId, String uploader, String filename, boolean keepManualRedactions, boolean disableAutomaticAnalysis) { int countUpdate; @@ -545,7 +545,7 @@ public class FileStatusPersistenceService { uploader, ProcessingStatus.UNPROCESSED, OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS), - OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS)); + OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS), disableAutomaticAnalysis); } else { fileRepository.findById(fileId) @@ -557,7 +557,7 @@ public class FileStatusPersistenceService { ProcessingStatus.UNPROCESSED, WorkflowStatus.NEW, OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS), - OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS)); + OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS), disableAutomaticAnalysis); deleteFileAttributes(fileId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java index 16d4538b8..902009138 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java @@ -210,14 +210,14 @@ public interface FileRepository extends JpaRepository { @Modifying(clearAutomatically = true) @Query("update FileEntity f set f.filename = :filename, f.uploader = :uploader, f.processingStatus = :processingStatus, " + "f.workflowStatus = :workflowStatus, f.lastUploaded = :lastUploaded, f.lastUpdated = :lastUpdated, " - + "f.fileManipulationDate = :lastUploaded, " + + "f.fileManipulationDate = :lastUploaded, f.excludedFromAutomaticAnalysis = :excludedFromAutomaticAnalysis, " + "f.ocrEndTime = null, f.ocrStartTime = null, f.numberOfPagesToOCR = null, f.numberOfOCRedPages = null, " + "f.excluded = false, f.lastProcessed = null, f.lastReviewer = null, f.lastApprover = null, " + "f.assignee = null, f.approvalDate = null, f.numberOfAnalyses = 0, f.lastManualChangeDate = null, " + "f.redactionModificationDate = null, " + "f.dictionaryVersion = 0, f.dossierDictionaryVersion = 0, f.rulesVersion = 0, f.hasImages = false, " + "f.hasHints = false, f.hasRedactions = false, f.hasSuggestions = false, f.hasUpdates = false, " - + "f.deleted = null, f.hardDeletedTime = null, f.hasHighlights = false, f.excludedFromAutomaticAnalysis = false, " + + "f.deleted = null, f.hardDeletedTime = null, f.hasHighlights = false, " + "f.processingErrorCounter = 0, f.errorCause = null, f.errorQueue = null, f.errorService = null, " + "f.errorTimestamp = null where f.id = :fileId") int overwriteFile(@Param("fileId") String fileId, @@ -226,13 +226,14 @@ public interface FileRepository extends JpaRepository { @Param("processingStatus") ProcessingStatus processingStatus, @Param("workflowStatus") WorkflowStatus workflowStatus, @Param("lastUploaded") OffsetDateTime lastUploaded, - @Param("lastUpdated") OffsetDateTime lastUpdated); + @Param("lastUpdated") OffsetDateTime lastUpdated, + @Param("excludedFromAutomaticAnalysis") boolean excludedFromAutomaticAnalysis); @Modifying(clearAutomatically = true) @Query("update FileEntity f set f.filename = :filename, f.uploader = :uploader, f.processingStatus = :processingStatus, " + "f.lastUploaded = :lastUploaded, f.lastUpdated = :lastUpdated, f.fileManipulationDate = :lastUploaded, " - + "f.lastProcessed = null," + + " f.excludedFromAutomaticAnalysis = :excludedFromAutomaticAnalysis, f.lastProcessed = null," + "f.approvalDate = null, f.numberOfAnalyses = 0, f.lastManualChangeDate = null, f.redactionModificationDate = null, " + "f.dictionaryVersion = 0, f.dossierDictionaryVersion = 0, f.rulesVersion = 0, f.hasImages = false, " + "f.hasHints = false, f.hasRedactions = false, f.hasSuggestions = false, f.hasUpdates = false, " @@ -245,7 +246,8 @@ public interface FileRepository extends JpaRepository { @Param("uploader") String uploader, @Param("processingStatus") ProcessingStatus processingStatus, @Param("lastUploaded") OffsetDateTime lastUploaded, - @Param("lastUpdated") OffsetDateTime lastUpdated); + @Param("lastUpdated") OffsetDateTime lastUpdated, + @Param("excludedFromAutomaticAnalysis") boolean excludedFromAutomaticAnalysis); @Query("select count(f) from FileEntity f inner join DossierEntity d on d.id = f.dossierId "