From b58a14bc879641db5adf954d12fc80c5fd578b60 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Wed, 8 Apr 2026 13:39:03 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E9=92=A2?= =?UTF-8?q?=E5=8D=B7=E7=89=A9=E6=96=99=E7=9A=84=E7=89=A9=E5=93=81=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=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 - 启用 WmsProductMapper 和 WmsRawMaterialMapper 的依赖注入 - 实现根据 itemType 参数校验 itemId 存在性的逻辑 - 添加原材料类型的校验支持 - 添加产品的校验支持 - 对无效物品类型抛出异常 - 在钢卷修改逻辑中集成物品存在性验证 --- .../impl/WmsMaterialCoilServiceImpl.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java index a97f3c2c..4ee238a3 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java @@ -75,8 +75,8 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { private final IWmsProductService productService; private final ISysUserService userService; // private final WmsDeliveryPlanMapper deliveryPlanMapper; -// private final WmsProductMapper productMapper; -// private final WmsRawMaterialMapper rawMaterialMapper; + private final WmsProductMapper productMapper; + private final WmsRawMaterialMapper rawMaterialMapper; private final WmsDeliveryWaybillDetailMapper deliveryWaybillDetailMapper; private final WmsCoilWarehouseOperationLogMapper wmsCoilWarehouseOperationLogMapper; private final IWmsCoilAbnormalService coilAbnormalService; @@ -1182,6 +1182,23 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { throw new RuntimeException("钢卷不存在"); } + // 校验itemId是否存在(根据itemType) + if (bo.getItemId() != null && StringUtils.isNotBlank(bo.getItemType())) { + if ("raw_material".equals(bo.getItemType())) { + WmsRawMaterial rawMaterial = rawMaterialMapper.selectById(bo.getItemId()); + if (rawMaterial == null) { + throw new RuntimeException("原材料不存在,ID: " + bo.getItemId()); + } + } else if ("product".equals(bo.getItemType())) { + WmsProduct product = productMapper.selectById(bo.getItemId()); + if (product == null) { + throw new RuntimeException("产品不存在,ID: " + bo.getItemId()); + } + } else { + throw new RuntimeException("无效的物品类型: " + bo.getItemType()); + } + } + // 若修改实际库位,先进行校验 if (bo.getActualWarehouseId() != null) { // 若与原库位不同,常规占用校验;若相同,仅校验拆分/层级