编辑 | blame | 历史 | 原始文档

盘点结果审批 BPM - 前端联调方案

涉及页面

  • 盘点任务列表页(wls/stocktaking/task
  • 盘点任务详情/实盘录入页(wls/stocktaking/task 详情、result-form 录入实盘)

业务流程与数据带入

  1. 创建盘点任务(草稿)→「开始盘点」:任务进入盘点中,可录入/导入实盘。
  2. 录完实盘 →「提交结果审批」:调用提交审批接口(需选流程定义),任务进入审批中(带流程实例编号)。
  3. 审批通过 → 系统自动解冻并核销盘盈/盘亏差异,任务变为已完成。
  4. 审批驳回 → 任务仍为盘点中(清除流程实例编号),可修改实盘后重新提交。
  5. 审批取消 / 取消任务 → 任务变为已取消,冻结库存解冻。

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