feat(制品库功能完善): 受控库和产品库 均增加 名称和标识字段

产品库限制名称不能重复
This commit is contained in:
OTTO 2024-07-30 11:07:40 +08:00
parent ccd8d0089b
commit a713407f7f
4 changed files with 18 additions and 15 deletions

View File

@ -87,10 +87,9 @@ public interface PmsProductLibraryRepositoriesMapper {
*
* @param alias 制品库别名
* @param pmsEnterpriseIdentifier 组织标识
* @param format 制品格式
* @return 制品库数量
*/
PmsProductLibraryRepositories selectPmsProductLibraryRepositoriesByAlias(@Param("alias") String alias, @Param("pmsEnterpriseIdentifier") String pmsEnterpriseIdentifier, @Param("format") String format);
PmsProductLibraryRepositories selectPmsProductLibraryRepositoriesByAlias(@Param("alias") String alias, @Param("pmsEnterpriseIdentifier") String pmsEnterpriseIdentifier);
/**
* 根据制品库标识查找制品库

View File

@ -80,6 +80,13 @@ public class PmsProductLibraryProductRepoServiceImpl implements IPmsProductLibra
PmsProductLibraryRepositories oldRepo = selectPmsProductLibraryByName(
productRepositoriesOperateVo.getEnterpriseIdentifier(),
productRepositoriesOperateVo.getName());
// 校验制品库别名
PmsProductLibraryRepositories aliasRepo = pmsProductLibraryRepositoriesMapper.selectPmsProductLibraryRepositoriesByAlias(
productRepositoriesOperateVo.getAlias(), productRepositoriesOperateVo.getEnterpriseIdentifier());
if (aliasRepo != null && !aliasRepo.getId().equals(oldRepo.getId())) {
throw new ServiceException("该产品库名称在当前组织下已存在(产品库名称[%s])", productRepositoriesOperateVo.getAlias());
}
// 构建更新对象
PmsProductLibraryRepositories pmsProductLibraryRepositories = productRepositoriesOperateVo.toPmsProductLibraryRepositories();
pmsProductLibraryRepositories.setId(oldRepo.getId());
@ -109,6 +116,12 @@ public class PmsProductLibraryProductRepoServiceImpl implements IPmsProductLibra
if (count > 0) {
throw new ServiceException("该产品库标识在当前组织下已存在(产品库标识[%s])", productRepositoriesInputVo.getName());
}
// 校验制品库别名
PmsProductLibraryRepositories aliasRepo = pmsProductLibraryRepositoriesMapper.selectPmsProductLibraryRepositoriesByAlias(
productRepositoriesInputVo.getAlias(), productRepositoriesInputVo.getEnterpriseIdentifier());
if (aliasRepo != null) {
throw new ServiceException("该产品库名称在当前组织下已存在(产品库名称[%s])", productRepositoriesInputVo.getAlias());
}
NexusHostedRepoInputVo requestBody = productRepositoriesInputVo.toNexusRepoDataVo();
// 调用制品库创建接口创建产品库

View File

@ -88,7 +88,7 @@ public class PmsProductLibraryRepositoriesServiceImpl implements IPmsProductLibr
}
// 校验制品库别名
PmsProductLibraryRepositories aliasRepo = pmsProductLibraryRepositoriesMapper.selectPmsProductLibraryRepositoriesByAlias(
groupRepositoriesInputVo.getAlias(), groupRepositoriesInputVo.getEnterpriseIdentifier(), groupRepositoriesInputVo.getFormat());
groupRepositoriesInputVo.getAlias(), groupRepositoriesInputVo.getEnterpriseIdentifier());
if (aliasRepo != null) {
throw new ServiceException("该制品库名称在当前组织下已存在(制品库名称[%s])", groupRepositoriesInputVo.getAlias());
}
@ -178,7 +178,7 @@ public class PmsProductLibraryRepositoriesServiceImpl implements IPmsProductLibr
}
// 校验制品库别名
PmsProductLibraryRepositories aliasRepo = pmsProductLibraryRepositoriesMapper.selectPmsProductLibraryRepositoriesByAlias(
hostedPmsProductLibraryRepositoriesInputVo.getAlias(), hostedPmsProductLibraryRepositoriesInputVo.getEnterpriseIdentifier(), hostedPmsProductLibraryRepositoriesInputVo.getFormat());
hostedPmsProductLibraryRepositoriesInputVo.getAlias(), hostedPmsProductLibraryRepositoriesInputVo.getEnterpriseIdentifier());
if (aliasRepo != null) {
throw new ServiceException("该制品库名称在当前组织下已存在(制品库名称[%s])", hostedPmsProductLibraryRepositoriesInputVo.getAlias());
}
@ -245,7 +245,7 @@ public class PmsProductLibraryRepositoriesServiceImpl implements IPmsProductLibr
hostedRepositoriesOperateVo.setId(oldRepo.getId());
// 校验制品库别名
PmsProductLibraryRepositories aliasRepo = pmsProductLibraryRepositoriesMapper.selectPmsProductLibraryRepositoriesByAlias(
hostedRepositoriesOperateVo.getAlias(), hostedRepositoriesOperateVo.getEnterpriseIdentifier(), hostedRepositoriesOperateVo.getFormat());
hostedRepositoriesOperateVo.getAlias(), hostedRepositoriesOperateVo.getEnterpriseIdentifier());
if (aliasRepo != null && !aliasRepo.getId().equals(oldRepo.getId())) {
throw new ServiceException("该制品库名称在当前组织下已存在(制品库名称[%s])", hostedRepositoriesOperateVo.getAlias());
}
@ -279,7 +279,7 @@ public class PmsProductLibraryRepositoriesServiceImpl implements IPmsProductLibr
groupRepositoriesOperateVo.setId(oldRepo.getId());
// 校验制品库别名
PmsProductLibraryRepositories aliasRepo = pmsProductLibraryRepositoriesMapper.selectPmsProductLibraryRepositoriesByAlias(
groupRepositoriesOperateVo.getAlias(), groupRepositoriesOperateVo.getEnterpriseIdentifier(), groupRepositoriesOperateVo.getFormat());
groupRepositoriesOperateVo.getAlias(), groupRepositoriesOperateVo.getEnterpriseIdentifier());
if (aliasRepo != null && !aliasRepo.getId().equals(oldRepo.getId())) {
throw new ServiceException("该制品库名称在当前组织下已存在(制品库名称[%s])", groupRepositoriesOperateVo.getAlias());
}

View File

@ -139,15 +139,6 @@
<include refid="selectPmsProductLibraryRepositoriesAliasVo"/>
where pplr.alias = #{alias}
and pe.enterprise_identifier = #{pmsEnterpriseIdentifier}
<choose>
<when test="format != null and format != 'product'">
and pplr.format != 'product'
and pplr.snapshot_name IS NULL
</when>
<otherwise>
and pplr.format = 'product'
</otherwise>
</choose>
</select>
<insert id="insertPmsProductLibraryRepositories" parameterType="PmsProductLibraryRepositories"