Activiti监听器中设置候选人

简介: Activiti监听器中设置候选人

Activiti监听器中设置候选人

delegateTask.setAssignee与delegateTask.addCandidateUser区别

// 指定办理人
delegateTask.setAssignee("zhangsan");

这种表示在task表中设置

image-20231212163016533

但act_run_identityliink表中不会存

image-20231212163139489

设置候选人,可以设置多个

delegateTask.addCandidateUser("张三");

设置多个例如

delegateTask.addCandidateUser("张三");

delegateTask.addCandidateUser("李四");

这种设置task表assignee字段中不会有值,但act_run_identityliink表中会存候选人,且可以设置多个

图中是设置一个的效果

image-20231212163656594

image-20231212163849365

设置候选人后候选人候选人可以认领任务 认领了之后 assignee中就会设置值

例如zhangsan调用taskService.claim(taskId例如:67502, "认领人例如:zhangsan");认领了67502任务,则67502的task表中assignee会设置为zhangsan

import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;

/**
 *个人任务分配监听器
 */
public class UserTaskListener implements TaskListener {
   
   

   private static final long serialVersionUID = 1L;

   public void notify(DelegateTask delegateTask) {
   
   
      // 指定办理人
      // delegateTask.setAssignee("zhangsan");
      // 指定候选人
      delegateTask.addCandidateUser("张三");

//    delegateTask.addCandidateUser("李四");
//    delegateTask.addCandidateUser("王五");

   }

}
AI 代码解读

设置候选组

image-20231212165950461

组的数据从ACT_ID_GROUP获取,设置成表中name字段的值。 因为Activiti的权限表功能单一,所以一般不建议使用,适用业务自己的权限表。
如果想用,那就同步业务权限数据到Activiti,用户表对应ACT_ID_USER,角色表对应ACT_ID_GROUP,用户角色关系表对应ACT_ID_MEMBERSHIP

相关文章
深入探究Camunda监听器
执行监听器与任务监听器
1544 1
深入探究Camunda监听器
Flowable 任务监听器与执行监听器的介绍
Flowable 任务监听器与执行监听器的介绍
1243 0
|
9月前
javaWeb监听器Listener -自定义监听器类实现
javaWeb监听器Listener -自定义监听器类实现
JavaWeb第十三章课后题 监听器Listener详解
JavaWeb第十三章课后题 监听器Listener详解
122 0
浅谈入门ServletListener监听器
所有的监听器中的方法,当指定时间发生后,则Web服务器调用该方法。 第一步:创建一个类,实现监听接口和接口方法。
QGS
150 0
JavaWeb中的异卵双胞胎—监听器与过滤器
监听器与过滤器相关介绍以及代码实现流程(图文并茂)
JavaWeb中的异卵双胞胎—监听器与过滤器
监听器 - 基础篇
监听器 - 基础篇
216 0
监听器 - 基础篇

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等