Compare commits

...

2 Commits

Author SHA1 Message Date
dc2624ece1 Merge remote-tracking branch 'origin/0.8.X' into 0.8.X 2026-04-08 13:39:58 +08:00
b58a14bc87 feat(wms): 添加钢卷物料的物品类型校验功能
- 启用 WmsProductMapper 和 WmsRawMaterialMapper 的依赖注入
- 实现根据 itemType 参数校验 itemId 存在性的逻辑
- 添加原材料类型的校验支持
- 添加产品的校验支持
- 对无效物品类型抛出异常
- 在钢卷修改逻辑中集成物品存在性验证
2026-04-08 13:39:03 +08:00

View File

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