码迷,mamicode.com
首页 > 编程语言 > 详细

activiti 7 + springboot2(八) Activiti流程实例动态设置assignee执行人

时间:2020-01-13 20:12:13      阅读:436      评论:0      收藏:0      [点我收藏+]

标签:实例   流程   com   div   col   使用   技术   设置   val   

(一)activiti流程图用流程变量设置节点执行人

技术图片

Activiti 使用 UEL 表达式, UEL 是 java EE6 规范的一部分, UEL(Unified Expression Language)即统一表达式语言, activiti 支持两个 UEL 表达式: UEL-value 和 UEL-method。 

<!--UEL-value: user1 是一个流程变量 -->
<userTask activiti:assignee="${user1}$" activiti:exclusive="true" id="_3" name="申请人提交申请"/>
 
<!--UEL-method: user 是一个流程变量对象, user1.assignee 表示通过调用 user1 的 getter 方法获取值  -->
<userTask activiti:assignee="${user1.assignee}$" activiti:exclusive="true" id="_3" name="申请人提交申请"/>

 

(二)方法调用赋值

${userService.findUserById(userId)}

userService 是 spring 容器的一个 bean, findUserById 是该 bean 的一个方法, userId 是流程变量。

 

(三)程序中动态指定任务实例执行人

    /**
     * 启动一个实例,动态设置设置assignee
     */
    @Test
    public void startProcessInstance() {
        //设置assignee,map键对应配置中的变量名
        Map<String,Object> map=new HashMap<>();
        map.put("user1","张三");
        map.put("user2","李四");
        map.put("user3","王五");

        //启动流程实例,同时还要设置流程定义的assignee的值
        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess_1", map);
    }

activiti 7 + springboot2(八) Activiti流程实例动态设置assignee执行人

标签:实例   流程   com   div   col   使用   技术   设置   val   

原文地址:https://www.cnblogs.com/zsg88/p/12188229.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!