diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseMaterialInfoServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseMaterialInfoServiceImpl.java index 20a3ed3a..674daca7 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseMaterialInfoServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/BaseMaterialInfoServiceImpl.java @@ -197,16 +197,36 @@ public class BaseMaterialInfoServiceImpl implements IBaseMaterialInfoService { */ private void validEntityBeforeSave(BaseMaterialInfo entity){ //TODO 做一些数据校验,如唯一约束 + + //编码校验 if (StringUtils.isNotBlank(entity.getMaterialCode())) { BaseMaterialInfoBo query = new BaseMaterialInfoBo(); query.setMaterialCode(entity.getMaterialCode()); MPJLambdaWrapper lqw = buildQueryWrapper(query); BaseMaterialInfo baseMaterialInfo = baseMapper.selectOne(lqw); - if (baseMaterialInfo != null + if (!ObjectUtils.isEmpty(baseMaterialInfo) && !baseMaterialInfo.getMaterialId().equals(entity.getMaterialId())) { throw new ServiceException("编码已存在"); } } + + //名称校验 + + + if (StringUtils.isNotBlank(entity.getMaterialName())) { + BaseMaterialInfoBo query = new BaseMaterialInfoBo(); + query.setMaterialName(entity.getMaterialName()); + MPJLambdaWrapper lqw = JoinWrappers.lambda(BaseMaterialInfo.class) + .selectAll(BaseMaterialInfo.class) + //buildQueryWrapper中getMaterialName是like,相似搜索 + .eq(StringUtils.isNotBlank(query.getMaterialName()), BaseMaterialInfo::getMaterialName, query.getMaterialName()); + BaseMaterialInfo baseMaterialInfo = baseMapper.selectOne(lqw); + if ( !ObjectUtils.isEmpty(baseMaterialInfo) + && !baseMaterialInfo.getMaterialId().equals(entity.getMaterialId())) { + throw new ServiceException("名称已存在"); + } + } + } /**