From 723ccc9e5854c2cf3a8a246e2f06a8737450d3e9 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Tue, 5 May 2026 13:10:08 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E7=82=89?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E9=92=A2=E5=8D=B7=E9=87=8D=E5=A4=8D=E6=80=A7?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 实现 planId 和 coilId 组合的唯一性检查 - 在更新操作时排除当前记录的重复校验 - 查询数据库验证相同计划下的钢卷是否存在 - 抛出运行时异常阻止重复添加相同钢卷到计划 - 完善数据校验逻辑确保业务规则正确执行 --- .../impl/WmsFurnacePlanCoilServiceImpl.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanCoilServiceImpl.java index a6ffdeb3..d4364fc4 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanCoilServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanCoilServiceImpl.java @@ -95,7 +95,20 @@ public class WmsFurnacePlanCoilServiceImpl implements IWmsFurnacePlanCoilService * 保存前的数据校验 */ private void validEntityBeforeSave(WmsFurnacePlanCoil entity){ - //TODO 做一些数据校验,如唯一约束 + // 检查是否已存在相同的planId和coilId组合 + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(WmsFurnacePlanCoil::getPlanId, entity.getPlanId()) + .eq(WmsFurnacePlanCoil::getCoilId, entity.getCoilId()); + + // 如果是更新操作,需要排除当前记录 + if (entity.getPlanCoilId() != null) { + queryWrapper.ne(WmsFurnacePlanCoil::getPlanCoilId, entity.getPlanCoilId()); + } + + long count = baseMapper.selectCount(queryWrapper); + if (count > 0) { + throw new RuntimeException("该计划下已存在此钢卷,不能重复添加"); + } } /**