fix(wms/material): 扩展钢卷重量校验至净重字段
在WmsMaterialCoilServiceImpl的validateCoilWeight私有方法中,新增对钢卷净重(netWeight)的校验逻辑,确保净重同样不超过100吨。同时将方法参数从仅接收毛重(grossWeight)调整为同时接收毛重和净重,并在所有调用该方法的地方(包括新增、修改、拆分、合并、移库、入库等操作)同步更新参数传递。校验失败时抛出运行时异常并分别提示毛重或净重超限。
This commit is contained in:
@@ -1341,7 +1341,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
|||||||
if (bo.getActualWarehouseId() != null) {
|
if (bo.getActualWarehouseId() != null) {
|
||||||
validateActualWarehouseForAssign(bo.getActualWarehouseId(), null);
|
validateActualWarehouseForAssign(bo.getActualWarehouseId(), null);
|
||||||
}
|
}
|
||||||
validateCoilWeight(bo.getGrossWeight());
|
validateCoilWeight(bo.getGrossWeight(), bo.getNetWeight());
|
||||||
validEntityBeforeSave(add);
|
validEntityBeforeSave(add);
|
||||||
// 在新增钢卷数据之前需要先看库区id是否被占用如果被占用则不能新增抛异常为实际库区已被占用 不能再当前库区修改或者新增
|
// 在新增钢卷数据之前需要先看库区id是否被占用如果被占用则不能新增抛异常为实际库区已被占用 不能再当前库区修改或者新增
|
||||||
int rows = baseMapper.insert(add);
|
int rows = baseMapper.insert(add);
|
||||||
@@ -1545,7 +1545,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
|||||||
throw new RuntimeException("已发货的钢卷不允许占用实际库区!");
|
throw new RuntimeException("已发货的钢卷不允许占用实际库区!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
validateCoilWeight(bo.getGrossWeight());
|
validateCoilWeight(bo.getGrossWeight(), bo.getNetWeight());
|
||||||
// 直接更新钢卷属性
|
// 直接更新钢卷属性
|
||||||
WmsMaterialCoil updateCoil = BeanUtil.toBean(bo, WmsMaterialCoil.class);
|
WmsMaterialCoil updateCoil = BeanUtil.toBean(bo, WmsMaterialCoil.class);
|
||||||
validEntityBeforeSave(updateCoil);
|
validEntityBeforeSave(updateCoil);
|
||||||
@@ -1653,7 +1653,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
|||||||
newCoil.setSupplierCoilNo(oldCoil.getSupplierCoilNo());
|
newCoil.setSupplierCoilNo(oldCoil.getSupplierCoilNo());
|
||||||
}
|
}
|
||||||
|
|
||||||
validateCoilWeight(newCoil.getGrossWeight());
|
validateCoilWeight(newCoil.getGrossWeight(), newCoil.getNetWeight());
|
||||||
validEntityBeforeSave(newCoil);
|
validEntityBeforeSave(newCoil);
|
||||||
|
|
||||||
// 把老记录的coilId赋值给新纪录的parentCoilId
|
// 把老记录的coilId赋值给新纪录的parentCoilId
|
||||||
@@ -1912,7 +1912,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
|||||||
// 在子卷的 parent_coil_nos 字段中记录母卷号
|
// 在子卷的 parent_coil_nos 字段中记录母卷号
|
||||||
newCoil.setParentCoilNos(oldCoil.getCurrentCoilNo());
|
newCoil.setParentCoilNos(oldCoil.getCurrentCoilNo());
|
||||||
|
|
||||||
validateCoilWeight(newCoil.getGrossWeight());
|
validateCoilWeight(newCoil.getGrossWeight(), newCoil.getNetWeight());
|
||||||
// 为每个子钢卷生成独立二维码
|
// 为每个子钢卷生成独立二维码
|
||||||
Long newQrcodeId = generateQrcodeForSplit(oldCoil, newCoilBo, allNewCoilNos);
|
Long newQrcodeId = generateQrcodeForSplit(oldCoil, newCoilBo, allNewCoilNos);
|
||||||
newCoil.setQrcodeRecordId(newQrcodeId);
|
newCoil.setQrcodeRecordId(newQrcodeId);
|
||||||
@@ -2043,7 +2043,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
|||||||
}
|
}
|
||||||
newCoil.setQrcodeRecordId(mergedQrcodeId);
|
newCoil.setQrcodeRecordId(mergedQrcodeId);
|
||||||
|
|
||||||
validateCoilWeight(newCoil.getGrossWeight());
|
validateCoilWeight(newCoil.getGrossWeight(), newCoil.getNetWeight());
|
||||||
validEntityBeforeSave(newCoil);
|
validEntityBeforeSave(newCoil);
|
||||||
// 收集所有参与合卷的原始钢卷ID并用逗号分隔
|
// 收集所有参与合卷的原始钢卷ID并用逗号分隔
|
||||||
List<Long> parentCoilIds = new ArrayList<>();
|
List<Long> parentCoilIds = new ArrayList<>();
|
||||||
@@ -2521,9 +2521,12 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
|||||||
|
|
||||||
private static final BigDecimal MAX_WEIGHT_TONS = new BigDecimal("100");
|
private static final BigDecimal MAX_WEIGHT_TONS = new BigDecimal("100");
|
||||||
|
|
||||||
private void validateCoilWeight(BigDecimal grossWeight) {
|
private void validateCoilWeight(BigDecimal grossWeight, BigDecimal netWeight) {
|
||||||
if (grossWeight != null && grossWeight.compareTo(MAX_WEIGHT_TONS) > 0) {
|
if (grossWeight != null && grossWeight.compareTo(MAX_WEIGHT_TONS) > 0) {
|
||||||
throw new RuntimeException("钢卷重量不能超过100吨,当前重量:" + grossWeight + "吨");
|
throw new RuntimeException("钢卷毛重不能超过100吨,当前毛重:" + grossWeight + "吨");
|
||||||
|
}
|
||||||
|
if (netWeight != null && netWeight.compareTo(MAX_WEIGHT_TONS) > 0) {
|
||||||
|
throw new RuntimeException("钢卷净重不能超过100吨,当前净重:" + netWeight + "吨");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4882,7 +4885,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
|||||||
childCoil.setQrcodeRecordId(childQrcodeId);
|
childCoil.setQrcodeRecordId(childQrcodeId);
|
||||||
|
|
||||||
// 7. 校验并插入子钢卷
|
// 7. 校验并插入子钢卷
|
||||||
validateCoilWeight(childCoil.getGrossWeight());
|
validateCoilWeight(childCoil.getGrossWeight(), childCoil.getNetWeight());
|
||||||
validEntityBeforeSave(childCoil);
|
validEntityBeforeSave(childCoil);
|
||||||
childCoil.setParentCoilId(String.valueOf(parentCoilId));
|
childCoil.setParentCoilId(String.valueOf(parentCoilId));
|
||||||
baseMapper.insert(childCoil);
|
baseMapper.insert(childCoil);
|
||||||
@@ -5155,7 +5158,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
|||||||
newCoil.setCreateBy(LoginHelper.getUsername());
|
newCoil.setCreateBy(LoginHelper.getUsername());
|
||||||
newCoil.setUpdateBy(LoginHelper.getUsername());
|
newCoil.setUpdateBy(LoginHelper.getUsername());
|
||||||
|
|
||||||
validateCoilWeight(newCoil.getGrossWeight());
|
validateCoilWeight(newCoil.getGrossWeight(), newCoil.getNetWeight());
|
||||||
validEntityBeforeSave(newCoil);
|
validEntityBeforeSave(newCoil);
|
||||||
boolean flag = baseMapper.insert(newCoil) > 0;
|
boolean flag = baseMapper.insert(newCoil) > 0;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user