fix(oms,wms): 出库单下发WMS失败被静默吞掉,修复WMS出库拣货不显示OMS单据
- 建单/下发前统一校验(数量>0、已关联库存、WMS可用库存),错误汇总一次性提示 - 新增WMS库存校验接口,库存不足在OMS侧拦截不再推送WMS;拦截重复下发 - 检查WMS自动分配/生成拣货单返回值,失败报错并补偿清理WMS残留单据 - 下发状态逐单提交,避免批量部分失败造成两边状态撕裂 - 预约单多仓下发增加逐仓预校验 - 修复取消下发不删拣货单、无库存脏单无法取消两个历史问题
This commit is contained in:
@@ -100,7 +100,7 @@ public interface WmsServiceFeign {
|
||||
|
||||
@ApiOperation("oms取消下发单保存")
|
||||
@PostMapping(value = "/stockOutOrderApi/cancelExecutionOrder")
|
||||
public void omsCancelExecutionOrder(@RequestBody StockOutOrder stockOutOrder);
|
||||
public AjaxResult omsCancelExecutionOrder(@RequestBody StockOutOrder stockOutOrder);
|
||||
|
||||
@ApiOperation("oms取消下发单自动分配")
|
||||
@PostMapping(value = "/stockOutOrderApi/omsAutoAssign")
|
||||
@@ -110,6 +110,14 @@ public interface WmsServiceFeign {
|
||||
@PostMapping(value = "/stockOutOrderApi/execution")
|
||||
public AjaxResult execution(@RequestBody com.mhd.system.api.domain.StockOutOrderDTO stockOutOrderDTO);
|
||||
|
||||
/**
|
||||
* oms下发前库存校验:可用库存不足时返回错误,OMS据此在推送前拦截下发,
|
||||
* 避免单据先落库、分配才失败而在WMS残留"已审核"状态的垃圾单
|
||||
*/
|
||||
@ApiOperation("oms下发前库存校验")
|
||||
@PostMapping(value = "/stockOutOrderApi/checkOmsAssignInventory")
|
||||
public AjaxResult checkOmsAssignInventory(@RequestBody List<OutMaterialDetail> outMaterialDetails);
|
||||
|
||||
/**
|
||||
* oms下发单明细保存
|
||||
*/
|
||||
|
||||
+9
-2
@@ -74,8 +74,9 @@ public class RemoteWmsFallbackFactory implements FallbackFactory<WmsServiceFeign
|
||||
}
|
||||
|
||||
@Override
|
||||
public void omsCancelExecutionOrder(StockOutOrder stockOutOrder) {
|
||||
|
||||
public AjaxResult omsCancelExecutionOrder(StockOutOrder stockOutOrder) {
|
||||
//返回错误而非静默成功,让OMS侧补偿清理能感知失败并记录告警
|
||||
return AjaxResult.error("WMS取消下发清理失败:" + cause.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -88,6 +89,12 @@ public class RemoteWmsFallbackFactory implements FallbackFactory<WmsServiceFeign
|
||||
return AjaxResult.error(cause.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult checkOmsAssignInventory(List<OutMaterialDetail> outMaterialDetails) {
|
||||
//校验接口本身不可用时返回错误,OMS会阻止下发(不能在WMS状态未知时盲目推送)
|
||||
return AjaxResult.error("WMS库存校验服务不可用:" + cause.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void omsInOrderAddDetail(List<InMaterialDetail> inMaterialDetails) {
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user