RED-9782: fix for ignored flag excludeFromAutomaticAnalysis when overriding files that are hard deleted
This commit is contained in:
parent
8ea0b308e3
commit
4f8b9e07e3
@ -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());
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
@ -210,14 +210,14 @@ public interface FileRepository extends JpaRepository<FileEntity, String> {
|
||||
@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<FileEntity, String> {
|
||||
@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<FileEntity, String> {
|
||||
@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 "
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user