Flowable监听器

时间:2025-03-17 15:07:11
@Component public class ProcessTaskNoticeLister implements TaskListener { //注入参数 //添加属性FixedValue,param对应<flowable:field name="param" //获取参数值Sting (); private FixedValue param; @Autowired private RuntimeService runtimeService; @Override public void notify(DelegateTask delegateTask) { //1、环境信息 //流程id String delegateTask.getProcessInstanceId(); //任务指定人信息 String delegateTask.getAssignee(); //该任务xml id String delegateTask.getTaskDefinitionKey(); //该任务名称 String delegateTask.getName(); //该任务的人员信息 Set<IdentityLink> delegateTask.getCandidates(); //添加、删除候选人 delegateTask.deleteCandidateUser(String userId); delegateTask.deleteUserIdentityLink(String userId, String identityLinkType); //不设置identityLinkType时,默认=candidate delegateTask.addCandidateUser(String userId); delegateTask.addCandidateUsers(Collection<String> candidateUsers); delegateTask.addUserIdentityLink(String userId, String identityLinkType); //添加、删除候选组 delegateTask.deleteCandidateGroup(String groupId); delegateTask.deleteGroupIdentityLink(String groupId, String identityLinkType); //不设置identityLinkType时,默认=candidate delegateTask.addCandidateGroup(String groupId); delegateTask.addCandidateGroups(Collection<String> candidateGroups); delegateTask.addGroupIdentityLink(String groupId, String identityLinkType); //2、流程变量 //单个变量获取 Object varValue=delegateTask.getVariable(String key); //所有变量key、value Map<String, Object>variables= delegateTask.getVariables(); //所有变量key Set<String> setNames=delegateTask.getVariableNames(); //修改变量值 delegateTask.setVariable("name","kimi"); } }