From fc93015dfb3e3354f0c7ccff854075360fc22b84 Mon Sep 17 00:00:00 2001 From: Philipp Schramm Date: Mon, 25 Jul 2022 10:38:18 +0200 Subject: [PATCH] RED-4680: Enhance FileStatus even if dossier is deleted --- .../ReanalysisRequiredStatusService.java | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ReanalysisRequiredStatusService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ReanalysisRequiredStatusService.java index 48f345f18..427871ec4 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ReanalysisRequiredStatusService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ReanalysisRequiredStatusService.java @@ -1,5 +1,16 @@ package com.iqser.red.service.peristence.v1.server.service; +import static com.iqser.red.service.peristence.v1.server.service.ReanalysisRequiredStatusService.VersionType.DICTIONARY; +import static com.iqser.red.service.peristence.v1.server.service.ReanalysisRequiredStatusService.VersionType.LEGAL_BASIS; +import static com.iqser.red.service.peristence.v1.server.service.ReanalysisRequiredStatusService.VersionType.RULES; + +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.springframework.stereotype.Service; + import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.DossierNotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DictionaryPersistenceService; @@ -8,18 +19,11 @@ import com.iqser.red.service.persistence.management.v1.processor.service.persist import com.iqser.red.service.persistence.management.v1.processor.service.persistence.RulesPersistenceService; import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileModel; import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.ProcessingStatus; + import lombok.AllArgsConstructor; import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static com.iqser.red.service.peristence.v1.server.service.ReanalysisRequiredStatusService.VersionType.*; @Slf4j @Service @@ -68,7 +72,7 @@ public class ReanalysisRequiredStatusService { // enhance with dossierTemplateId DossierEntity dossier; try { - dossier = dossierMap.computeIfAbsent(fileStatus.getDossierId(), k -> dossierPersistenceService.getAndValidateDossier(fileStatus.getDossierId())); + dossier = dossierMap.computeIfAbsent(fileStatus.getDossierId(), k -> dossierPersistenceService.findByDossierId(fileStatus.getDossierId())); } catch (DossierNotFoundException e) { log.info("Dossier {} was not found, thus analysis is not required", fileStatus.getDossierId()); return new AnalysisRequiredResult(false, false); @@ -78,6 +82,10 @@ public class ReanalysisRequiredStatusService { fileStatus.setDossierTemplateId(dossier.getDossierTemplateId()); fileStatus.setDossierStatusId(dossier.getDossierStatusId()); + if (dossier.getSoftDeletedTime() != null || dossier.getHardDeletedTime() != null || dossier.getArchivedTime() != null) { + log.info("Dossier {} is deleted, thus analysis is not required", fileStatus.getDossierId()); + return new AnalysisRequiredResult(false, false); + } if (ProcessingStatus.ERROR.equals(fileStatus.getProcessingStatus()) && !ignoreProcessingStates) { return new AnalysisRequiredResult(false, true);