activiti第五步流程图定义会审并设置串行用户任务

第一步编写.bpmn20.xml

声明监听类,通过监听类来处理串行的用户信息,在xml标签中声明并行会签设置用户信息

例如:

 <userTask id="sid-55d7db9f-69c9-4856-ad63-8ce45485b921" name="技术标否决投标评审" activiti:assignee="${jsbFj}">
      <extensionElements>
        <activiti:executionListener  delegateExpression="${SgZhpgf1V1JsbFjpbPsExecuteListener}"  class="com.jgpt.kpbxt.api.gongzuoliu.executeListener.zhpgf.JsbFjpbPsExecuteListener" event="start"/>
        <activiti:executionListener class="com.jgpt.kpbxt.api.gongzuoliu.executeListener.zhpgf.JsbFjpbPsExecuteListener" event="end"/>
      </extensionElements>
      <!--  并行会签    -->
      <multiInstanceLoopCharacteristics isSequential="false" activiti:collection="${jsbFjList}" activiti:elementVariable="jsbFj"/>
    </userTask>

特殊声明 activiti:collection=" j s b F j L i s t " 需要传入的用户集合,类似于 f o r 循环中的 l i s t 集合, a c t i v i t i : e l e m e n t V a r i a b l e = " j s b F j " 中的 j s b F j 类似于循环中的对象,特殊标注使用中的 j s b F j 必须和 a c t i v i t i : a s s i g n e e = " {jsbFjList}"需要传入的用户集合,类似于for循环中的list集合,activiti:elementVariable="jsbFj"中的jsbFj 类似于循环中的对象,特殊标注使用中的jsbFj必须和activiti:assignee=" jsbFjList"需要传入的用户集合,类似于for循环中的list集合,activiti:elementVariable="jsbFj"中的jsbFj类似于循环中的对象,特殊标注使用中的jsbFj必须和activiti:assignee="{jsbFj}"一致

使用配置监听器

import com.jgpt.kpbxt.api.gongzuoliu.executeListener.ExecuteListener;
import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.delegate.DelegateExecution;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 技术标否决投标评审
 *
 * jsbFjList    传参 集合
 */
//@Service
@Slf4j
public class JsbFjpbPsExecuteListener extends ExecuteListener {

    @Override
    public void start(DelegateExecution execution) {

        Map<String, Object> variables = new HashMap<>();
        List<String> cbshList = new ArrayList<>();
        cbshList.add("11");
        cbshList.add("22");
        cbshList.add("33");
        variables.put("jsbFjList", cbshList);
        execution.setVariables(variables);

        log.info("综合评估法 JsbFjpbPsExecuteListener  。。。 JsbFjpbPsExecuteListener... ");
    }

    @Override
    public void end(DelegateExecution execution) {
        super.end(execution);
    }

    @Override
    public void take(DelegateExecution execution) {
        super.take(execution);
    }
}

特殊声明jsbFjList是传入的 声明list集合,这个用户集合jsbFjList中的用户,是后续需要完成的任务用户

只能list中的用户才可以完成当前任务

相关推荐
硬件人某某某5 分钟前
Java基于SSM框架的社区团购系统小程序设计与实现(附源码,文档,部署)
java·开发语言·社区团购小程序·团购小程序·java社区团购小程序
程序员徐师兄6 分钟前
Java 基于 SpringBoot 的校园外卖点餐平台微信小程序(附源码,部署,文档)
java·spring boot·微信小程序·校园外卖点餐·外卖点餐小程序·校园外卖点餐小程序
chengpei14723 分钟前
chrome游览器JSON Formatter插件无效问题排查,FastJsonHttpMessageConverter导致Content-Type返回不正确
java·前端·chrome·spring boot·json
五味香25 分钟前
Java学习,List 元素替换
android·java·开发语言·python·学习·golang·kotlin
Joeysoda28 分钟前
Java数据结构 (从0构建链表(LinkedList))
java·linux·开发语言·数据结构·windows·链表·1024程序员节
扫地僧00931 分钟前
(Java版本)基于JAVA的网络通讯系统设计与实现-毕业设计
java·开发语言
天乐敲代码32 分钟前
JAVASE入门九脚-集合框架ArrayList,LinkedList,HashSet,TreeSet,迭代
java·开发语言·算法
endcy20161 小时前
IoTDB结合Mybatis使用示例(增删查改自定义sql等)
java·mybatis·iotdb
带刺的坐椅1 小时前
Solon Cloud Gateway 开发:导引
java·gateway·solon·solon cloud
securitor2 小时前
【java】IP来源提取国家地址
java·前端·python