diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibraryRepositoriesServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibraryRepositoriesServiceImpl.java index 68d562af8..26cbfcdd3 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibraryRepositoriesServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibraryRepositoriesServiceImpl.java @@ -86,6 +86,12 @@ public class PmsProductLibraryRepositoriesServiceImpl implements IPmsProductLibr if (count > 0) { throw new ServiceException("该制品库标识在当前组织下已存在(制品库标识[%s])", groupRepositoriesInputVo.getName()); } + // 校验制品库别名 + PmsProductLibraryRepositories aliasRepo = pmsProductLibraryRepositoriesMapper.selectPmsProductLibraryRepositoriesByAlias( + groupRepositoriesInputVo.getAlias(), groupRepositoriesInputVo.getEnterpriseIdentifier(), groupRepositoriesInputVo.getFormat()); + if (aliasRepo != null) { + throw new ServiceException("该制品库名称在当前组织下已存在(制品库名称[%s])", groupRepositoriesInputVo.getAlias()); + } checkGroupMemberRepoList(groupRepositoriesInputVo); NexusGroupRepoInputVo requestBody = groupRepositoriesInputVo.toNexusGroupRepoInputVo(); @@ -268,8 +274,15 @@ public class PmsProductLibraryRepositoriesServiceImpl implements IPmsProductLibr PmsProductLibraryRepositories oldRepo = selectPmsProductLibraryRepositoriesByName( groupRepositoriesOperateVo.getEnterpriseIdentifier(), groupRepositoriesOperateVo.getName()); + checkLockRepositoryStatus(groupRepositoriesOperateVo.getEnterpriseIdentifier(), oldRepo.getId()); groupRepositoriesOperateVo.setFormat(oldRepo.getFormat()); groupRepositoriesOperateVo.setId(oldRepo.getId()); + // 校验制品库别名 + PmsProductLibraryRepositories aliasRepo = pmsProductLibraryRepositoriesMapper.selectPmsProductLibraryRepositoriesByAlias( + groupRepositoriesOperateVo.getAlias(), groupRepositoriesOperateVo.getEnterpriseIdentifier(), groupRepositoriesOperateVo.getFormat()); + if (aliasRepo != null && !aliasRepo.getId().equals(oldRepo.getId())) { + throw new ServiceException("该制品库名称在当前组织下已存在(制品库名称[%s])", groupRepositoriesOperateVo.getAlias()); + } checkGroupMemberRepoList(groupRepositoriesOperateVo); NexusGroupRepoInputVo requestBody = groupRepositoriesOperateVo.toNexusGroupRepoInputVo(); // 调用制品库更新接口更新制品库