From 857daa24af2ad4d2abd03b5e7e4439de42ba0396 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Sun, 14 Jun 2026 11:31:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E9=92=A2?= =?UTF-8?q?=E5=8D=B7=E6=95=B0=E6=8D=AE=E6=A0=A1=E9=AA=8C=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 实现钢卷存在性校验,确保钢卷未被删除 - 添加钢卷类型校验,只允许现存钢卷(dataType=1)参与加工 - 阻止历史钢卷被用于退火操作 - 提供详细的错误提示信息 --- .../service/impl/WmsFurnacePlanServiceImpl.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanServiceImpl.java index c754bf05..2d73acc4 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanServiceImpl.java @@ -264,6 +264,20 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService { throw new ServiceException("计划进行中,无法再领料"); } + // 校验钢卷必须为现存钢卷(dataType=1),历史钢卷不能被加工 + List coils = materialCoilMapper.selectBatchIds(coilIds); + Set existingIds = coils.stream().map(WmsMaterialCoil::getCoilId).collect(Collectors.toSet()); + for (Long coilId : coilIds) { + if (!existingIds.contains(coilId)) { + throw new ServiceException("钢卷被删除无法执行退火"); + } + } + for (WmsMaterialCoil coil : coils) { + if (coil.getDataType() == null || coil.getDataType() != 1) { + throw new ServiceException("钢卷" + coil.getEnterCoilNo() + "为历史钢卷,不能被加工"); + } + } + for (Long coilId : coilIds) { if (planCoilMapper.selectCount(Wrappers.lambdaQuery() .eq(WmsFurnacePlanCoil::getPlanId, bo.getPlanId())