From 8d6df6f3f1bc4ef9fa021f5ecfcc18b515d0228d Mon Sep 17 00:00:00 2001 From: zch Date: Tue, 11 Mar 2025 16:15:16 +0800 Subject: [PATCH] =?UTF-8?q?change(hwmom-mes):=E4=BF=AE=E6=94=B9=E7=89=A9?= =?UTF-8?q?=E6=96=99=E5=90=8D=E7=A7=B0=E5=92=8C=E7=BC=96=E7=A0=81=E7=9A=84?= =?UTF-8?q?=E5=94=AF=E4=B8=80=E6=80=A7=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在保存物料信息前,对物料编码的唯一性校验 - 新增对物料名称的唯一性校验 --- .../impl/BaseMaterialInfoServiceImpl.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) 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("名称已存在"); + } + } + } /**