flowable工作流中如果审批人是发起人的部门领导,审批人是动态的不知道是谁,代码实现
时间: 2024-03-04 13:49:42 浏览: 32
在Flowable中,可以通过任务监听器来动态指定审批人,具体实现可以参考以下步骤:
1. 在流程定义中定义一个用户任务,并在该任务的候选人或候选组中设置发起人所在部门的领导。
2. 在该任务的监听器中,通过以下代码获取发起人所在部门的领导:
```
// 获取当前任务
TaskEntity task = (TaskEntity) delegateTask;
// 获取当前任务的流程实例
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(task.getProcessInstanceId())
.singleResult();
// 获取流程实例中的变量
String departmentLeader = (String) runtimeService.getVariable(processInstance.getId(), "departmentLeader");
```
3. 将获取到的审批人设置为候选人或候选组:
```
// 将审批人设置为候选人
task.addCandidateUser(departmentLeader);
// 将审批人设置为候选组
task.addCandidateGroup(departmentLeader);
```
4. 最后,需要在流程启动时设置流程实例变量,存储发起人所在部门的领导,以便后续任务监听器中获取:
```
// 设置流程实例变量
runtimeService.setVariable(processInstance.getId(), "departmentLeader", departmentLeader);
```
通过以上步骤,即可实现在Flowable工作流中动态指定审批人的功能。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)