feat(wms): 添加钢卷物料的物品类型校验功能
- 启用 WmsProductMapper 和 WmsRawMaterialMapper 的依赖注入 - 实现根据 itemType 参数校验 itemId 存在性的逻辑 - 添加原材料类型的校验支持 - 添加产品的校验支持 - 对无效物品类型抛出异常 - 在钢卷修改逻辑中集成物品存在性验证
This commit is contained in:
@@ -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) {
|
||||
// 若与原库位不同,常规占用校验;若相同,仅校验拆分/层级
|
||||
|
||||
Reference in New Issue
Block a user