activiti会签的实现

      activiti的会签功能可实现在同级审批多人参与审批的功能,多人审批可串行也可并行审批,可设置全部人审批通过时候才进入下一级审批,也可设置部分审批人审批通过就可进入下级审批,特别灵活

1、首先编辑相应的bpmn文件

  nrOfInstances 实例总数

  nrOfActiveInstances 当前还没有完成的实例

  nrOfCompletedInstances 已经完成的实例个数,图中表示只要有百分之60的人审批通过,则直接进入下一流程 SecondCheck

       

 

 

 

 

 2、第一步,仍然是注册流程;第二步启动流程,在启动流程时,把参与会签的人设置进去

 public boolean startActivityDemo(String key,String multyInstance) {
   
        
            List<String> assigneeList=new ArrayList<String>(); //分配任务的人员
            assigneeList.add("tom");
            assigneeList.add("jack");
            assigneeList.add("mary");
            Map<String, Object> vars = new HashMap<String, Object>(); //参数
            vars.put("assigneeList", assigneeList);//这个assigneeList与图中的Collection的值对应
            ProcessInstance test01=runtimeService.startProcessInstanceById(key,vars);//表act_re_procdef  ID_字段
            String id = test01.getId();
            System.out.println("流程ids="+id);

        

        return true;
    }

3、启动流程之后,会在act_ru_task生成三条正在运行的任务记录

 因为我们设置了在firstCheck完成百分之60就可以进入下一级,测试提交了id为20和25的任务,就直接进入secondCheck了,经测试效果是符合预期的。

 

posted @ 2021-04-26 14:08  smellycats  阅读(1136)  评论(0编辑  收藏  举报