feat(wms): 历史钢卷不允许占用实际库区

- 实现历史钢卷(dataType=0)禁止修改实际库区的业务规则
- 当原钢卷为历史钢卷时阻止实际库区ID的更新操作
- 添加置空(-1)判断避免误操作历史钢卷库区占用
- 抛出运行时异常提示历史钢卷不允许占用实际库区
This commit is contained in:
2026-03-07 10:29:36 +08:00
parent 4fdddac389
commit e5147564ce

View File

@@ -1108,6 +1108,13 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
validateActualWarehouseForAssign(bo.getActualWarehouseId(), ignoreOccupiedId);
}
// 1. 历史钢卷dataType=0禁止修改实际库区actualWarehouseId非空且不等于-1
if (0 == oldCoil.getDataType()) { // 原钢卷是历史钢卷
// 场景1传入了新的实际库区ID且不是置空-1禁止操作
if (bo.getActualWarehouseId() != null && !bo.getActualWarehouseId().equals(-1L)) {
throw new RuntimeException("历史钢卷不允许占用实际库区!");
}
}
// 直接更新钢卷属性
WmsMaterialCoil updateCoil = BeanUtil.toBean(bo, WmsMaterialCoil.class);
validEntityBeforeSave(updateCoil);