RED-4497: Delete update dictionary resize redaction on remove
This commit is contained in:
parent
d6791d7248
commit
a49f67aa7d
@ -91,4 +91,9 @@ public class ResizeRedactionPersistenceService {
|
||||
return resizeRedactionRepository.findByFileIdIncludeDeletions(fileId, includeDeletions);
|
||||
}
|
||||
|
||||
|
||||
public List<ManualResizeRedactionEntity> findByAnnotationStatusAndValue(AnnotationStatus status, String value){
|
||||
return resizeRedactionRepository.findByStatusAndValue(status, value);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -36,4 +36,6 @@ public interface ResizeRedactionRepository extends JpaRepository<ManualResizeRed
|
||||
@Query("update ManualResizeRedactionEntity m set m.textBefore = :textBefore, m.textAfter = :textAfter where m.id = :id")
|
||||
void updateSurroundingText(AnnotationEntityId id, String textBefore, String textAfter);
|
||||
|
||||
List<ManualResizeRedactionEntity> findByStatusAndValue(AnnotationStatus status, String value);
|
||||
|
||||
}
|
||||
|
||||
@ -60,6 +60,7 @@ import com.iqser.red.service.persistence.service.v1.api.model.annotations.Remove
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.ResizeRedactionRequest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped.ManualRedactionEntry;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.ProcessingStatus;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.WorkflowStatus;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.DictionaryEntryType;
|
||||
import com.iqser.red.service.redaction.v1.model.AnalyzeRequest;
|
||||
import com.iqser.red.service.redaction.v1.model.MessageType;
|
||||
@ -813,6 +814,17 @@ public class ManualRedactionService {
|
||||
addToDictionary(buildTypeId(redactionLogEntry, dossier), redactionLogEntry.getValue(), dossier.getId(), fileId, DictionaryEntryType.ENTRY);
|
||||
} else {
|
||||
removeFromDictionary(buildTypeId(redactionLogEntry, dossier), redactionLogEntry.getValue(), dossier.getId(), fileId, DictionaryEntryType.ENTRY);
|
||||
|
||||
// This is needed to remove resizeRedactions with addToDictionary.
|
||||
var resizeRedactionsWithSameValue = resizeRedactionPersistenceService.findByAnnotationStatusAndValue(AnnotationStatus.APPROVED, redactionLogEntry.getValue());
|
||||
resizeRedactionsWithSameValue.forEach(resizeRedaction -> {
|
||||
var file = fileStatusPersistenceService.getStatus(resizeRedaction.getId().getFileId());
|
||||
var dossierForResizeRedaction = dossierPersistenceService.findByDossierId(file.getDossierId());
|
||||
if(!file.getWorkflowStatus().equals(WorkflowStatus.APPROVED) && dossier.getDossierTemplateId().equals(dossierForResizeRedaction.getDossierTemplateId())) {
|
||||
resizeRedactionPersistenceService.hardDelete(resizeRedaction.getId()
|
||||
.getFileId(), resizeRedaction.getId().getAnnotationId());
|
||||
}
|
||||
});
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user