Skip to content

审批加签、减签

加签允许审批人在审批过程中临时增加审批人,减签则是移除已加签的审批人。

1. 向前加签

向前加签是指在当前审批人审批之前,先让新增的审批人审批。

操作步骤

  1. 当前审批人 A 点击「向前加签」
  2. 选择新增审批人 B
  3. B 收到待办任务,先行审批
  4. B 审批完成后,A 的任务恢复为待审批状态
  5. A 继续审批

实现原理

  1. 将 A 的 assignee 清空,存入 owner 字段
  2. 创建子任务分配给 B(scopeType = BEFORE_SIGN
  3. B 完成后,系统自动将 A 的任务恢复(通过 handleParentTaskIfSign 方法)
  4. A 可以继续审批

2. 向后加签

向后加签是指在当前审批人审批之后,再让新增的审批人审批。

操作步骤

  1. 当前审批人 A 点击「向后加签」
  2. 选择新增审批人 B
  3. A 先审批,状态变为中间态「APPROVING」
  4. A 审批完成后,B 收到待办任务
  5. B 审批完成后,流程继续到下一节点

实现原理

  1. A 审批后状态变为 APPROVING(中间状态,非最终完成)
  2. 创建子任务分配给 B(scopeType = AFTER_SIGN
  3. B 完成后,系统检查所有加签子任务是否完成
  4. 全部完成后,原任务标记为完成,流程继续

3. 减签

减签(取消加签)是在加签审批人操作之前,移除已添加的加签审批人。

操作步骤

  1. 点击「减签」
  2. 选择要移除的加签审批人
  3. 对应的子任务被删除

实现原理

调用 TaskService.deleteTask() 删除加签子任务,并通过 handleParentTaskIfSign 递归检查父任务状态。

4. 注意事项

  • 加签创建的是子任务(通过 parentTaskId 关联)
  • 减签只能移除尚未处理的加签任务
  • 加签支持多层嵌套(A 加签 B,B 可以继续加签 C)