审批任务
审批任务,是流程执行节点的操作,主要实现类
TaskService接口定义操作方法。
- 注入
FlowLongEngine引擎实例
提示!
业务层调用该方法时,请务必保证事务一致性例如 SpringBoot 使用 @Transactional(rollbackFor = Exception.class) 方法注解
审批同意
待审批任务,执行任务处理,并返回下一个处理节点。
java
flowLongEngine.executeTask(taskId, flowCreator, args);| 参数 | 说明 |
|---|---|
| taskId | 当前任务ID |
| flowCreator | 当前处理人 |
| args | 任务参数,可存放临时变量 |
审批拒绝
拒绝当前任务,默认返回上一级节点,节点模型
NodeModel可配置:驳回策略rejectStrategy属性, 驳回重新审批策略rejectStart属性。
java
flowLongEngine.executeRejectTask(flwTask, nodeKey, flowCreator, args, termination)| 参数 | 说明 |
|---|---|
| taskId | 当前任务ID |
| nodeKey | 跳转的节点key,如果设置为空,则默认返回上一级节点,如果设置为任意节点,则跳转到指定节点 |
| flowCreator | 当前处理人 |
| args | 任务参数,可存放临时变量 |
| termination | 是否终止流程,该参数为 true 时,其它驳回策略无效 |
- 节点模型
NodeModel模型策略
| 参数 | 说明 |
|---|---|
| rejectStrategy | 驳回策略 1,驳回到发起人,2,驳回到上一节点,3,驳回到指定节点 4,终止审批流程 5,驳回到模型父节点 |
| rejectStart | 驳回重新审批策略 1,继续往下执行 2,回到上一个节点 |
转办任务
指定任务ID
taskId转办给指定处理人assigneeFlowCreator。
java
flowLongEngine.taskService().transferTask(taskId, flowCreator, assigneeFlowCreator, args)| 参数 | 说明 |
|---|---|
| taskId | 当前任务ID |
| flowCreator | 当前处理人 |
| assigneeFlowCreator | 指定办理人 |
| args | 任务参数,可存放临时变量 |
委派任务
指定任务ID
taskId代理人办理完任务该任务重新归还给原处理人assigneeFlowCreator。
java
flowLongEngine.taskService().delegateTask(taskId, flowCreator, assigneeFlowCreator, args)| 参数 | 说明 |
|---|---|
| taskId | 当前任务ID |
| flowCreator | 当前处理人 |
| assigneeFlowCreator | 指定办理人 |
| args | 任务参数,可存放临时变量 |
撤回任务
撤回指定任务ID
taskId该任务后续任务未执行前有效。
java
flowLongEngine.taskService().withdrawTask(taskId, flowCreator)| 参数 | 说明 |
|---|---|
| taskId | 当前任务ID |
| flowCreator | 当前处理人 |
唤醒任务
唤醒指定实例ID
instanceId默认最后一个节点,如果指定nodeKey节点,则跳转到指定节点。
java
flowLongEngine.taskService().resume(instanceId, nodeKey, flowCreator)| 参数 | 说明 |
|---|---|
| taskId | 当前实例ID |
| nodeKey | 节点key历史任务 |
| flowCreator | 当前处理人 |
创建抄送任务
指定任务模型
taskModel创建抄送任务flwTask抄送给ccUserList。
java
flowLongEngine.createCcTask(taskModel, flwTask, ccUserList, flowCreator)| 参数 | 说明 |
|---|---|
| taskModel | 任务模型 |
| flwTask | 当前任务 |
| ccUserList | 抄送任务分配到任务的人或角色列表 |
| flowCreator | 任务创建者 |
指定代理人
指定任务ID
taskId指定代理人agentFlowCreators第一个人为主办assignorId其他人为协办assignor多个英文逗号分隔。
java
flowLongEngine.taskService().agentTask(taskId, flowCreator, agentFlowCreators, args)| 参数 | 说明 |
|---|---|
| taskId | 当前任务ID |
| flowCreator | 当前处理人 |
| agentFlowCreators | 指定代理人列表 |
| args | 任务参数,可存放临时变量 |
跳转到任意节点
指定任务ID
taskId跳转到nodeKey节点位置。
java
flowLongEngine.executeJumpTask(taskId, nodeKey, flowCreator, args)| 参数 | 说明 |
|---|---|
| taskId | 当前任务ID |
| nodeKey | 跳转的节点key |
| flowCreator | 当前处理人 |
| args | 任务参数,可存放临时变量 |
执行追加节点模型
指定任务ID
taskId所在节点nodeModel追加节点模型。
java
flowLongEngine.executeAppendNodeModel(taskId, nodeModel, flowCreator, args, beforeAfter)| 参数 | 说明 |
|---|---|
| taskId | 当前任务ID |
| nodeModel | 节点模型 |
| flowCreator | 当前处理人 |
| args | 任务参数,可存放临时变量 |
| beforeAfter | true 前置 false 后置 |
认领角色任务
将所属角色任务认领给当前处理人。
java
flowLongEngine.taskService().claimRole(taskId, flowCreator)| 参数 | 说明 |
|---|---|
| taskId | 当前任务ID |
| flowCreator | 当前处理人 |
认领部门任务
将所属部门任务认领给当前处理人。
java
flowLongEngine.taskService().claimDepartment(taskId, flowCreator)| 参数 | 说明 |
|---|---|
| taskId | 当前任务ID |
| flowCreator | 当前处理人 |
