审批加签、减签
加签允许审批人在审批过程中临时增加审批人,减签则是移除已加签的审批人。
1. 向前加签
向前加签是指在当前审批人审批之前,先让新增的审批人审批。
操作步骤
- 当前审批人 A 点击「向前加签」
- 选择新增审批人 B
- B 收到待办任务,先行审批
- B 审批完成后,A 的任务恢复为待审批状态
- A 继续审批
实现原理
- 将 A 的
assignee清空,存入owner字段 - 创建子任务分配给 B(
scopeType = BEFORE_SIGN) - B 完成后,系统自动将 A 的任务恢复(通过
handleParentTaskIfSign方法) - A 可以继续审批
2. 向后加签
向后加签是指在当前审批人审批之后,再让新增的审批人审批。
操作步骤
- 当前审批人 A 点击「向后加签」
- 选择新增审批人 B
- A 先审批,状态变为中间态「APPROVING」
- A 审批完成后,B 收到待办任务
- B 审批完成后,流程继续到下一节点
实现原理
- A 审批后状态变为
APPROVING(中间状态,非最终完成) - 创建子任务分配给 B(
scopeType = AFTER_SIGN) - B 完成后,系统检查所有加签子任务是否完成
- 全部完成后,原任务标记为完成,流程继续
3. 减签
减签(取消加签)是在加签审批人操作之前,移除已添加的加签审批人。
操作步骤
- 点击「减签」
- 选择要移除的加签审批人
- 对应的子任务被删除
实现原理
调用 TaskService.deleteTask() 删除加签子任务,并通过 handleParentTaskIfSign 递归检查父任务状态。
4. 注意事项
- 加签创建的是子任务(通过
parentTaskId关联) - 减签只能移除尚未处理的加签任务
- 加签支持多层嵌套(A 加签 B,B 可以继续加签 C)