ERP 销售订单出库状态实时反馈 - 前端联调方案
涉及页面
- ERP 销售订单列表页
- ERP 销售订单详情页
- MES 发货通知单管理页
- MES 销售出库单管理页
业务流程与状态变化
状态枚举说明
| 状态值 |
状态名称 |
说明 |
| 0 |
未出库 |
销售订单初始状态,未开始出库流程 |
| 1 |
已预留 |
发货通知单审核通过,库存已预留 |
| 2 |
部分出库 |
销售出库单已拣货/占用库存 |
| 3 |
全部出库 |
销售出库单已完成出库 |
状态变化时机
| 步骤 |
操作 |
状态变化 |
触发位置 |
| 1 |
发货通知单审核通过 |
0 → 1(未出库 → 已预留) |
MES 发货通知单提交审核 |
| 2 |
销售出库单拣货 |
1 → 2(已预留 → 部分出库) |
MES 销售出库单拣货确认 |
| 3 |
销售出库单完成 |
2 → 3(部分出库 → 全部出库) |
MES 销售出库单完成出库 |
API 变更
新增 API
| 方法 |
路径 |
说明 |
| PUT |
/rpc-api/erp/sale-order/updateOrderOutStatusTo |
更新销售订单出库状态为指定值 |
请求参数:
| 参数 |
类型 |
必填 |
说明 |
| orderId |
Long |
是 |
销售订单编号 |
| outStatus |
Integer |
是 |
出库状态(0-3) |
响应:
{
"code": 0,
"data": true,
"msg": "操作成功"
}
响应字段变更
ErpSaleOrderRespDTO 新增字段:
| 字段 |
类型 |
说明 |
| outStatus |
Integer |
出库状态(0-3) |
| outCount |
BigDecimal |
已出库数量 |
ErpSaleOrderItemRespDTO 新增字段:
| 字段 |
类型 |
说明 |
| outCount |
BigDecimal |
已出库数量 |
字段展示规则
销售订单列表
| 字段 |
展示位置 |
说明 |
| 出库状态 |
列表 |
使用 Tag 标签展示,不同状态不同颜色 |
| 已出库数量 |
列表 |
格式:已出库数量/总数量 |
销售订单详情
| 字段 |
展示位置 |
说明 |
| 出库状态 |
基本信息区 |
使用 Tag 标签展示 |
| 已出库数量 |
基本信息区 |
数值展示 |
| 订单明细-已出库数量 |
明细表格 |
每行显示该项的已出库数量 |
出库状态颜色建议
| 状态 |
颜色 |
Tag 类型 |
| 未出库 |
灰色 |
info |
| 已预留 |
蓝色 |
primary |
| 部分出库 |
橙色 |
warning |
| 全部出库 |
绿色 |
success |
业务规则说明
| 场景 |
规则 |
| 发货通知单审核 |
审核通过时自动更新关联销售订单状态为"已预留" |
| 销售出库单拣货 |
拣货确认时自动更新关联销售订单状态为"部分出库" |
| 销售出库单完成 |
出库完成时自动更新关联销售订单状态为"全部出库",并累计出库数量 |
| 取消发货通知单 |
如果取消,需要将销售订单状态回退 |
| 取消销售出库单 |
如果取消,需要将销售订单状态回退 |
注意事项
- 状态实时性:MES 模块操作后立即回写 ERP 销售订单状态,前端刷新即可看到最新状态
- 多单据关联:一个销售订单可能对应多个发货通知单和销售出库单,状态会按流程推进
- 状态回退:目前仅实现状态推进,暂不支持状态回退(如取消后状态恢复)
- 出库数量累计:只有销售出库单完成时才会累计出库数量,拣货阶段仅更新状态
- 并发控制:状态更新有事务保证,避免并发更新导致状态不一致