Skip to content

审批转办、委派、抄送

1. 转办与委派

1.1 转办

转办是将任务完全转交给另一个人。

操作流程

  1. 审批人 A 点击「转办」
  2. 选择目标审批人 B
  3. B 成为新的审批人,A 不再参与
  4. B 审批完成后,流程继续到下一节点

实现原理

  • 调用 TaskService.setAssignee(taskId, B)
  • 直接修改任务的 assignee 字段
  • A 的角色完全被 B 替代

1.2 委派

委派是将任务临时转交给另一个人,对方处理后再转回。

操作流程

  1. 审批人 A 点击「委派」
  2. 选择目标处理人 B
  3. B 收到委派任务,进行处理
  4. B 处理完成后(调用 resolveTask),任务自动回到 A
  5. A 继续审批

实现原理

  • 调用 TaskService.delegateTask(taskId, B)
  • 任务的 owner 设为 A,assignee 设为 B
  • B 调用 TaskService.resolveTask() 归还
  • 任务 assignee 恢复为 A

1.3 转办 vs 委派对比

维度转办委派
性质永久转交临时转交
审批人变化A → BA → B → A
owner不变设为 A
assignee改为 B改为 B,后恢复 A
适用场景审批人变更征询意见后回来审批

2. 抄送

抄送是将审批状态通知给指定人员,不阻塞流程

2.1 表结构

抄送记录存储在 bpm_process_instance_copy 表:

字段类型说明
idbigint编号
user_idbigint被抄送人 ID
process_instance_idvarchar(64)流程实例 ID
task_idvarchar(64)触发抄送的任务 ID
activity_namevarchar(200)节点名称
reasonvarchar(500)抄送原因

2.2 发起抄送

抄送可以通过两种方式触发:

  1. 手动抄送:审批人在审批时选择抄送对象
  2. 自动抄送:在流程设计时配置抄送节点

2.3 查看抄送

被抄送人在「抄送我的」页面查看收到的抄送:

抄送我的

同一审批默认排重,不重复抄送给同一人。