fix(oms,wms): 出库单下发WMS失败被静默吞掉,修复WMS出库拣货不显示OMS单据

- 建单/下发前统一校验(数量>0、已关联库存、WMS可用库存),错误汇总一次性提示
- 新增WMS库存校验接口,库存不足在OMS侧拦截不再推送WMS;拦截重复下发
- 检查WMS自动分配/生成拣货单返回值,失败报错并补偿清理WMS残留单据
- 下发状态逐单提交,避免批量部分失败造成两边状态撕裂
- 预约单多仓下发增加逐仓预校验
- 修复取消下发不删拣货单、无库存脏单无法取消两个历史问题
This commit is contained in:
rcx
2026-09-05 13:42:02 +08:00
parent c0bcedbdc3
commit be8ba45067
7 changed files with 258 additions and 30 deletions
@@ -542,10 +542,21 @@ public class StockOutOrderApi extends BaseController {
stockOutOrderApplicationService.omsOrderAddDetail(outMaterialDetails);
}
/**
* oms下发前库存校验:不足时返回错误,OMS据此拦截下发,避免单据落库后分配失败残留垃圾单
*/
@ApiOperation("oms下发前库存校验")
@PostMapping(value = "/checkOmsAssignInventory")
public AjaxResult checkOmsAssignInventory(@RequestBody List<OutMaterialDetail> outMaterialDetails) {
stockOutOrderApplicationService.checkOmsAssignInventory(outMaterialDetails);
return AjaxResult.success("库存校验通过");
}
@ApiOperation("oms下发单保存")
@PostMapping(value = "/cancelExecutionOrder")
public void omsCancelExecutionOrder(@RequestBody StockOutOrder stockOutOrder) {
public AjaxResult omsCancelExecutionOrder(@RequestBody StockOutOrder stockOutOrder) {
stockOutOrderApplicationService.cancelExecutionOrder(stockOutOrder);
return AjaxResult.success();
}
/**