flowable 动态多实例



 
    多实例动态测试
   
   
     
        ${nrOfCompletedInstances/nrOfInstances >= 0.25}
     

   

   
   
     
       
       
     

   

   
   
   
 

 
   
     
       
     

     
       
     

     
       
     

     
       
     

     
       
       
     

     
       
       
     

     
       
       
       
       
     

   

 

/**
 * 启动流程
 *
 * @param users       用户组
 * @param processName 流程key
 * @return 流程id
 */
@PostMapping("startGroup")
@ResponseBody
public String start_process_group(@RequestParam(value = "users", required = false) String[] users, @RequestParam(value = "processName", required = false) String processName) {
    List assigneeList = Arrays.asList("group1", "group2", "group3", "group4", "group5");
    String s = flowableUtil.startProcess(assigneeList, processName);
    return s;
}
/**
 * 启动流程
 *
 * @param assigneeList 候选组
 * @param processName  流程key
 */
public String startProcess(List assigneeList, String processName) {
    //启动流程
    Map map = CollectionUtil.singletonMap("assigneeList", assigneeList);
    map.put("num", assigneeList.size());
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processName, map);
    saveFLowModel(processInstance.getId(), processName);
    return "提交成功.流程Id为:" + processInstance.getId();
}

 多实例需要给用户组签收任务

/**
 * 签收任务
 */
public void claim(String taskId, String userId) {
    taskService.claim(taskId, userId);
}
查看用户未签收的任务

/**
 * 待签收任务查询
 */
public List getNotClaim(String userId) {
    return taskService.createTaskQuery().taskCandidateUser(userId).list();
}

查看 ACT_RU_IDENTITYLINK 表

nr_of_instances 实例总数
nr_of_completed_instances 当前还没有完成的实例 nr是number单词缩写 
loop_counter 已经循环的次数
nr_of_active_instances 已经完成的实例个数
Loop cardinality 用户数量,用于标识起单次数
${nrofcompletedinstances/nrofinstances >= 0.25}  //条件表达式 总共4个人大于0.25,也就是一个人通过流程便通过

你可能感兴趣的:(flowable)