activiti7+springboot2.1.x动态指定任务执行人(九)

在之前的文章里面,我面实现了一个简单的请假流程,这个流程里面有主管审批,总经理审批,人事部审批等几个流程节点,但是有一个很大的缺点就是每一个流程几点里面的执行人都是写死的或者是没有指定。而实际的业务中任务的执行人不变几乎是不可能的。所以这里我们介绍一下如何动态的指定流程的执行人。

要实现动态指定流程任务的执行者我们注意一下两点:

  1. 绘制流程图的时候在每个流程节点添加:assignee属性。assignee翻译成中文就是受托人的意思。
  2. 启动流程的时候map参数,map里面存放每个流程节点执行人的信息集合。

重新绘制流程图指定assignee属性。

image.png

同样的下面的总经理审批添加assignee为jingli。

启动流程

依照之前的介绍流程部署和启动流程的方法来部署并启动一个新的流程。同时添指定 任务的执行人的集合。
代码实现:

/**
     * 启动流程,并制定执行人
     */
    @Override
    public void startPorcInstance2() {
        // 指定流程执行人
        Map<String,Object> map = new HashMap<>();
        map.put("zhuguan","zhangsan");
        map.put("jinngli","lisi");

        //通过流程部署id启动
        runtimeService.startProcessInstanceById("holiday2:1:15004",map);
        List<HistoricProcessInstance> list = historyService.createHistoricProcessInstanceQuery().processDefinitionId("holiday2:1:15004").list();
        System.out.println(list.get(0).getBusinessKey());
    }

这时在act_ru_task里面可以看到此时任务的执行人为:zhangsan。这个zhangsan刚刚在上面的代码中通过map动态指定的。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 13,028评论 0 13
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 9,371评论 0 5
  • 目的这篇教程从用户的角度出发,全面地介绍了Hadoop Map/Reduce框架的各个方面。先决条件请先确认Had...
    SeanC52111阅读 5,711评论 0 1
  • 原本效果还不错,勾了个边,就………… 这说明了一个道理,没事儿不要乱勾边。
    何夕轻语阅读 2,425评论 0 0
  • 文|璇子 始于乍见之欢 深于心悦之惜 终于无缘在续 与至亲相邻 与陌生相距 从此的界限,不再跨越 甘愿成为 从此不...
    花非物欲阅读 1,400评论 0 4

友情链接更多精彩内容