zoukankan      html  css  js  c++  java
  • Activiti获取当前活动(任务)的出口(动态生成提交按钮)

      1、设置出口变量

        当一个任务有一个或多个出口时,可以在出口连线出设置判断条件如图:

        2、根据任务Id获取出口集合

        public List<String> getOutGoingTransNames(String taskId) {
            List<String> transNames = new ArrayList<>();
            // 1.获取流程定义
            Task task = this.taskService.createTaskQuery().taskId(taskId).singleResult();
            ProcessDefinitionEntity pd = (ProcessDefinitionEntity) repositoryService.getProcessDefinition(task.getProcessDefinitionId());
            // 2.获取流程实例
            ProcessInstance pi =runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult(); 
            // 3.通过流程实例查找当前活动的ID
            String activitiId = pi.getActivityId();
            // 4.通过活动的ID在流程定义中找到对应的活动对象
            ActivityImpl activity = pd.findActivity(activitiId);
            // 5.通过活动对象找当前活动的所有出口
             List<PvmTransition> transitions =  activity.getOutgoingTransitions();
            // 6.提取所有出口的名称,封装成集合
             for (PvmTransition trans : transitions) {
                 String transName = (String) trans.getProperty("name");
                 if(StringUtils.isNotBlank(transName)){
                     transNames.add(transName);
                 }
            }
             if(transNames.size()==0){
                 transNames.add("提交");//默认
             }
            return transNames;
        }

      3、应用

        在页面展示的时候遍历节点出口,在提交的时候传入相应的提交出口名称

        提交代码:

         Map<String, Object> vars = new HashMap<>();
            vars.put("outcome", outcome);//outcome为提交按钮的名称
        // 完成任务
        taskService.complete(taskId,vars);

          

  • 相关阅读:
    Codeforces Round #276 (Div. 1) D. Kindergarten dp
    Codeforces Round #221 (Div. 1) B. Maximum Submatrix 2 dp排序
    hihoCoder Challenge 27 #1469 : 福字 dp
    Codeforces Beta Round #5 C. Longest Regular Bracket Sequence 括号序列 dp+栈
    Python id() 函数
    Python divmod() 函数
    Python any() 函数
    Python next() 函数
    Python slice() 函数
    Python3 hex() 函数
  • 原文地址:https://www.cnblogs.com/cxyj/p/3896204.html
Copyright © 2011-2022 走看看