fix(order): 优化收货托盘状态校验逻辑
- 在查询托盘编号时增加状态筛选,仅获取运输中的托盘 - 移除冗余的待收货托盘存在性校验,改为直接判断托盘列表是否为空 - 校验请求中的托盘编号集合是否与实际托盘集合匹配,确保托盘齐套 - 更新托盘状态时,设置为已收货并记录接收人信息
This commit is contained in:
parent
ac8e64884d
commit
54d3bcd2f0
|
|
@ -1164,17 +1164,14 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
List<String> trayNos = structuralPackageOrderTrayService.lambdaQuery()
|
||||
.select(WmsStructuralPackageOrderTray::getNo)
|
||||
.eq(WmsStructuralPackageOrderTray::getOrderId, request.getId())
|
||||
.eq(WmsStructuralPackageOrderTray::getState, OrderState.InTransit.getState())
|
||||
.list()
|
||||
.stream()
|
||||
.map(WmsStructuralPackageOrderTray::getNo)
|
||||
.toList();
|
||||
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(trayNos)).throwMessage("没有需要收货的数据");
|
||||
VUtil.trueThrowBusinessError(!new HashSet<>(trayNos).equals(new HashSet<>(request.getTrayNos())))
|
||||
.throwMessage("托盘未齐套");
|
||||
VUtil.trueThrowBusinessError(!structuralPackageOrderTrayService.lambdaQuery()
|
||||
.eq(WmsStructuralPackageOrderTray::getOrderId, request.getId())
|
||||
.eq(WmsStructuralPackageOrderTray::getState, OrderState.InTransit.getState())
|
||||
.exists())
|
||||
.throwMessage("没有需要收货的数据");
|
||||
structuralPackageOrderTrayService.lambdaUpdate()
|
||||
.set(WmsStructuralPackageOrderTray::getState, OrderState.Received.getState())
|
||||
.set(WmsStructuralPackageOrderTray::getReceiveBy, UserUtil.getUserName())
|
||||
|
|
|
|||
Loading…
Reference in New Issue