diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateImportService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateImportService.java index e0e467632..17a5ed46f 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateImportService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateImportService.java @@ -556,6 +556,7 @@ public class DossierTemplateImportService { private void updateDossierTemplateMeta(DossierTemplateEntity dossierTemplateEntity, DossierTemplate dossierTemplate, String userId) { + dossierTemplate.setId(dossierTemplateEntity.getId()); if (!dossierTemplateEntity.getName().equalsIgnoreCase(dossierTemplate.getName())) { this.validateDossierTemplateName(dossierTemplate); } @@ -714,7 +715,7 @@ public class DossierTemplateImportService { int nameSuffix = 0; String dossierTemplateName = dossierTemplateMeta.getName(); - while (dossierTemplatePersistenceService.isDossierTemplateNameNotUnique(dossierTemplateMeta.getName())) { + while (dossierTemplatePersistenceService.isDossierTemplateNameNotUnique(dossierTemplateMeta.getName(), dossierTemplateMeta.getId())) { if (nameSuffix == 0) { dossierTemplateMeta.setName("Copy of " + dossierTemplateName); } else { diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierTemplatePersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierTemplatePersistenceService.java index 52ff50436..79f743e0b 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierTemplatePersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierTemplatePersistenceService.java @@ -90,7 +90,7 @@ public class DossierTemplatePersistenceService { @Transactional public void validateDossierTemplateNameIsUnique(String templateName) { - if (isDossierTemplateNameNotUnique(templateName)) { + if (isDossierTemplateNameNotUnique(templateName, null)) { throw new ConflictException("DossierTemplate name must be unique"); } } @@ -109,9 +109,9 @@ public class DossierTemplatePersistenceService { @Transactional - public boolean isDossierTemplateNameNotUnique(String templateName) { + public boolean isDossierTemplateNameNotUnique(String templateName, String dossierTemplateIdToIgnore) { - return dossierTemplateRepository.existsByName(templateName); + return dossierTemplateRepository.existsByNameAndIdNot(templateName, dossierTemplateIdToIgnore); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierTemplateRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierTemplateRepository.java index b8f9348e5..057d20ca4 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierTemplateRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierTemplateRepository.java @@ -18,6 +18,6 @@ public interface DossierTemplateRepository extends JpaRepository findByIdAndNotDeleted(String dossierTemplateId); - boolean existsByName(String name); + boolean existsByNameAndIdNot(String name, String id); }