RED-4975 - reanalysis on declined suggestions

This commit is contained in:
Timo Bejan 2022-08-12 12:39:07 +03:00
parent 1d44820a8c
commit 54db36711b

View File

@ -584,11 +584,19 @@ public class ManualRedactionService {
public void updateForceRedactionStatus(String dossierId, String fileId, List<String> annotationIds, AnnotationStatus annotationStatus) {
dossierPersistenceService.getAndValidateDossier(dossierId);
var actionPerformed = false;
for (var annotationId : annotationIds) {
var forceRedaction = forceRedactionPersistenceService.findForceRedaction(fileId, annotationId);
forceRedactionPersistenceService.updateStatus(fileId, annotationId, annotationStatus);
actionPerformed = actionPerformed || !(forceRedaction.getStatus() == AnnotationStatus.REQUESTED
&& annotationStatus == AnnotationStatus.DECLINED);
}
if (actionPerformed) {
reprocess(dossierId, fileId);
}
reprocess(dossierId, fileId);
analysisFlagsCalculationService.calculateFlags(dossierId, fileId);
}
@ -613,12 +621,18 @@ public class ManualRedactionService {
public void updateImageRecategorizationStatus(String dossierId, String fileId, List<String> annotationIds, AnnotationStatus annotationStatus) {
dossierPersistenceService.getAndValidateDossier(dossierId);
var actionPerformed = false;
for (var annotationId : annotationIds) {
var imageRecategorization = recategorizationPersistenceService.findRecategorization(fileId, annotationId);
recategorizationPersistenceService.updateStatus(fileId, annotationId, annotationStatus);
actionPerformed = actionPerformed || !(imageRecategorization.getStatus() == AnnotationStatus.REQUESTED
&& annotationStatus == AnnotationStatus.DECLINED);
}
reprocess(dossierId, fileId);
if (actionPerformed) {
reprocess(dossierId, fileId);
}
analysisFlagsCalculationService.calculateFlags(dossierId, fileId);
}
@ -636,6 +650,8 @@ public class ManualRedactionService {
public void updateResizeRedactionStatus(String dossierId, String fileId, List<String> annotationIds, AnnotationStatus annotationStatus) {
dossierPersistenceService.getAndValidateDossier(dossierId);
var actionPerformed = false;
for (var annotationId : annotationIds) {
var resizeRedaction = resizeRedactionPersistenceService.findResizeRedaction(fileId, annotationId);
@ -643,10 +659,16 @@ public class ManualRedactionService {
updateDictionaryForResizeRedactions(dossierId, fileId, annotationId, resizeRedaction.getValue(), null);
}
actionPerformed = actionPerformed || !(resizeRedaction.getStatus() == AnnotationStatus.REQUESTED
&& annotationStatus == AnnotationStatus.DECLINED);
resizeRedactionPersistenceService.updateStatus(fileId, annotationId, annotationStatus);
}
analysisFlagsCalculationService.calculateFlags(dossierId, fileId);
reprocess(dossierId, fileId);
if (actionPerformed) {
reprocess(dossierId, fileId);
}
}
@ -760,7 +782,6 @@ public class ManualRedactionService {
fileStatusService.setStatusReprocessForManual(dossierId, fileId, true);
}
private boolean handleRemoveFromDictionary(RedactionLog redactionLog, DossierEntity dossier, String fileId, String annotationId, AnnotationStatus status,
boolean removeFromDictionary, boolean revert) {