Resolve RED-7158 "2" #75

Closed
timo.bejan.ext wants to merge 3 commits from RED-7158-2 into master
11 changed files with 51 additions and 3 deletions

View File

@ -121,14 +121,20 @@ public class FileManagementController implements FileManagementResource {
return getResponseEntityForPDFDocument(fileId, dossierId, FileType.ORIGIN, inline);
}
@Timed
@Override
@PreAuthorize("hasAuthority('" + DOWNLOAD_ORIGINAL_FILE + "')")
public ResponseEntity<?> downloadViewerDocument(@PathVariable(DOSSIER_ID) String dossierId,
@PathVariable(FILE_ID) String fileId,
@RequestParam(value = "inline", required = false, defaultValue = FALSE) boolean inline) {
@PathVariable(FILE_ID) String fileId,
@RequestParam(value = "inline", required = false, defaultValue = FALSE) boolean inline) {
return getResponseEntityForPDFDocument(fileId, dossierId, FileType.VIEWER_DOCUMENT, inline);
// Viewer Document Returns
if (storageService.objectExists(TenantContext.getTenantId(), StorageIdUtils.getStorageId(dossierId, fileId, FileType.VIEWER_DOCUMENT))) {
return getResponseEntityForPDFDocument(fileId, dossierId, FileType.VIEWER_DOCUMENT, inline);
} else {
return getResponseEntityForPDFDocument(fileId, dossierId, FileType.ORIGIN, inline);
}
}

View File

@ -469,6 +469,7 @@ public class StatusController implements StatusResource {
.dictionaryVersion(status.getDictionaryVersion())
.rulesVersion(status.getRulesVersion())
.legalBasisVersion(status.getLegalBasisVersion())
.lastLayoutProcessed(status.getLastLayoutProcessed())
.lastProcessed(status.getLastProcessed())
.approvalDate(status.getApprovalDate())
.lastUploaded(status.getLastUploaded())

View File

@ -70,6 +70,9 @@ public class FileEntity {
@Column
private OffsetDateTime lastProcessed;
@Column
private OffsetDateTime lastLayoutProcessed;
@Column
private OffsetDateTime lastIndexed;

View File

@ -3,6 +3,7 @@ package com.iqser.red.service.persistence.management.v1.processor.service;
import static com.knecon.fforesight.service.layoutparser.internal.api.queue.LayoutParsingQueueNames.LAYOUT_PARSING_REQUEST_QUEUE;
import java.time.OffsetDateTime;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
@ -717,6 +718,12 @@ public class FileStatusService {
}
public void updateLayoutProcessedTime(String fileId) {
fileStatusPersistenceService.updateLayoutProcessedTime(fileId);
}
public int countSoftDeletedFiles(String dossierId) {
return fileStatusPersistenceService.countSoftDeletedFilesPerDossierId(dossierId);

View File

@ -548,4 +548,10 @@ public class FileStatusPersistenceService {
OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
}
public void updateLayoutProcessedTime(String fileId) {
fileRepository.updateLayoutProcessedTime(fileId, OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
}
}

View File

@ -220,6 +220,12 @@ public interface FileRepository extends JpaRepository<FileEntity, String> {
@Query(value = "update FileEntity f set f.numberOfOCRedPages = :numberOfOCRedPages, f.numberOfPagesToOCR = :numberOfPagesToOCR, f.ocrEndTime = :ocrEndTime, " + " f.lastUpdated = :lastUpdated where f.id = :fileId")
void updateOCRStatus(String fileId, int numberOfPagesToOCR, int numberOfOCRedPages, OffsetDateTime ocrEndTime, OffsetDateTime lastUpdated);
@Transactional
@Modifying(clearAutomatically = true)
@Query(value = "update FileEntity f set f.lastLayoutProcessed = :offsetDateTime where f.id = :fileId")
void updateLayoutProcessedTime(String fileId, OffsetDateTime offsetDateTime);
}

View File

@ -41,6 +41,8 @@ public class LayoutParsingFinishedMessageReceiver {
layoutParsingRequestIdentifierService.parseFileId(response.identifier()),
layoutParsingRequestIdentifierService.parsePriority(response.identifier()));
fileStatusService.updateLayoutProcessedTime(layoutParsingRequestIdentifierService.parseFileId(response.identifier()));
log.info("Received message {} in {}", response, MessagingConfiguration.OCR_STATUS_UPDATE_RESPONSE_QUEUE);
}

View File

@ -153,3 +153,6 @@ databaseChangeLog:
file: db/changelog/tenant/105-add-remove-watermark-to-dossier-template.yaml
- include:
file: db/changelog/tenant/106-add-add-to-all-dossiers-to-resize-redactions.yaml
- include:
file: db/changelog/tenant/107-add-last-layout-processed-column.yaml

View File

@ -0,0 +1,11 @@
databaseChangeLog:
- changeSet:
id: add-last-layout-processed-column-to-file
author: timo
changes:
- addColumn:
columns:
- column:
name: last_layout_processed
type: TIMESTAMP WITHOUT TIME ZONE
tableName: file

View File

@ -103,6 +103,8 @@ public class FileStatus {
private boolean excluded;
@Schema(description = "Shows the last date of a successful analysis.")
private OffsetDateTime lastProcessed;
@Schema(description = "Shows the last date of a layout parsing.")
private OffsetDateTime lastLayoutProcessed;
@Schema(description = "Shows the date of approval, if approved.")
private OffsetDateTime approvalDate;
@Schema(description = "Shows last date the document was uploaded.")

View File

@ -31,6 +31,7 @@ public class FileModel {
private OffsetDateTime deleted;
private OffsetDateTime lastProcessed;
private OffsetDateTime lastIndexed;
private OffsetDateTime lastLayoutProcessed;
private OffsetDateTime lastManualChangeDate;
private int numberOfAnalyses;
private String assignee;