fix(wms): 修复钢卷发货时判级检查逻辑

- 移除原有的空白质检状态检查条件
- 添加特免逻辑库ID集合用于豁免未判级检查
- 实现针对特定仓库ID的判级检查绕过机制
- 保留对非特免仓库的未判级钢卷发货限制
- 修复历史数据检查的位置确保正确的执行顺序
This commit is contained in:
2026-04-24 13:10:07 +08:00
parent b4bd96147f
commit 323d90db92

View File

@@ -2860,13 +2860,17 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
if (wmsMaterialCoilVo != null && Objects.equals(wmsMaterialCoilVo.getQualityStatus(), "O")) {
throw new RuntimeException("当前钢卷为质检未通过,请勿发货!");
}
if (wmsMaterialCoilVo != null && StringUtils.isBlank(wmsMaterialCoilVo.getQualityStatus())) {
throw new RuntimeException("该钢卷未判级,请勿发货!");
}
// 如果当前钢卷为历史数据应该抛异常
if (wmsMaterialCoilVo != null && wmsMaterialCoilVo.getDataType() == 0) {
throw new RuntimeException("当前数据为历史数据,请勿发货!");
}
// 检查是否需要判级:排除四个特定逻辑库,这些库的钢卷即使未判级也能发货
Set<Long> exemptWarehouseIds = new HashSet<>(Arrays.asList(1988150210872930306L, 1988150380649967617L, 1988150800092950529L, 1988151027466170370L));
if (wmsMaterialCoilVo != null
&& StringUtils.isBlank(wmsMaterialCoilVo.getQualityStatus())
&& !exemptWarehouseIds.contains(wmsMaterialCoilVo.getWarehouseId())) {
throw new RuntimeException("该钢卷未判级,请勿发货!");
}
// 1. 更新钢卷为已发货并记录发货时间同时清空实际库区占用改用Wrapper实现
int rows = 0;
//获取当前调用接口的这个人的username