diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierTemplateImportService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierTemplateImportService.java index daba77c0d..1b9a8681b 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierTemplateImportService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierTemplateImportService.java @@ -448,7 +448,12 @@ public class DossierTemplateImportService { dictionaryPersistenceService.incrementVersion(typeId); typeIdsAdded.add(typeId); // added to the list, since the type can not be deleted }); - Set typesToRemove = currentTypes.stream().map(TypeEntity::getId).filter(t -> !typeIdsAdded.contains(t)).collect(Collectors.toSet()); + Set typesToRemove = currentTypes.stream() + .filter(t -> !t.isDeleted()) // remove the ones already soft deleted + .map(TypeEntity::getId) + .filter(t -> !typeIdsAdded.contains(t)) // exclude the type ids already added from the import + .filter(t -> !currentTypesIdSystemManaged.contains(t)) // exclude the types system managed + .collect(Collectors.toSet()); typesToRemove.forEach(dictionaryService::deleteType); }