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) { // 若与原库位不同,常规占用校验;若相同,仅校验拆分/层级