盘点结果审批 BPM - 前端联调方案
涉及页面
- 盘点任务列表页(
wls/stocktaking/task)
- 盘点任务详情/实盘录入页(
wls/stocktaking/task 详情、result-form 录入实盘)
业务流程与数据带入
- 创建盘点任务(草稿)→「开始盘点」:任务进入盘点中,可录入/导入实盘。
- 录完实盘 →「提交结果审批」:调用提交审批接口(需选流程定义),任务进入审批中(带流程实例编号)。
- 审批通过 → 系统自动解冻并核销盘盈/盘亏差异,任务变为已完成。
- 审批驳回 → 任务仍为盘点中(清除流程实例编号),可修改实盘后重新提交。
- 审批取消 / 取消任务 → 任务变为已取消,冻结库存解冻。
API
| 方法 |
路径 |
说明 |
| GET |
/mes/wm/stocktaking-task/approval-process-list |
获得盘点结果可用的审批流程定义列表 |
| PUT |
/mes/wm/stocktaking-task/submit-approval |
提交盘点结果审批 |
| PUT |
/mes/wm/stocktaking-task/cancel |
取消盘点任务 |
注意:原「完成盘点」接口 /mes/wm/stocktaking-task/finish 已移除,核销改由审批通过事件驱动,不再提供完成盘点按钮。
提交审批请求参数:
| 参数 |
类型 |
必填 |
说明 |
| id |
Long |
是 |
盘点任务编号 |
| processDefinitionKey |
String |
是 |
流程定义 Key(从审批流程定义列表选择) |
审批流程定义列表响应: { "code": 0, "data": [{ "key": "stock_taking_result_approve", "name": "xxx", ... }] },取其中的 key 作为提交审批参数。
响应字段新增(任务列表/详情 RespVO):
| 字段 |
类型 |
说明 |
| processInstanceId |
String |
BPM 流程实例编号;非空表示已提交审批,可点击查看审批进度 |
字段展示规则
| 字段 |
展示位置 |
说明 |
| processInstanceId |
列表、详情 |
非空时显示「审批中/查看审批」入口,为空时显示「可提交审批」 |
业务规则说明
| 场景 |
规则 |
| 提交前置校验 |
仅盘点中任务可提交;需已有 >=1 条盘点结果;未提交过(processInstanceId 为空)防重复提交 |
| 审批通过 |
置已完成 + 解冻 + 自动核销差异(同一事务,失败整体回滚仍为盘点中) |
| 审批驳回 |
任务保持盘点中,清 processInstanceId,允许修改实盘后重提 |
| 审批取消 |
任务变已取消,解冻 |
| 开始盘点前置 |
仅草稿可开始;盘点行非空;开启冻结则冻结对应库存 |
| 完成路线 |
完成后无「完成盘点」操作,核销自动执行,无需前端干预 |
注意事项
- 任务列表按钮态建议按
status + processInstanceId 组合判断:盘点中且 processInstanceId 为空才显示「提交结果审批」。
- 提交后详情/列表响应中 processInstanceId 已有值,可据此加载审批进度详情。
- 按钮权限复用:提交审批使用
mes:wm-stock-taking-task:update,审批流程列表使用 mes:wm-stock-taking-task:query。