zoukankan      html  css  js  c++  java
  • Activiti 部分实用功能

      helloworld中已经写了关于部署流程图,查询个人任务,完成个人任务部分。现在添加几个新的实用功能

      1.判断流程是否完成,代码如下

    public void isProcessEnd()
        {
            String processInstanceId = "901";
            ProcessInstance pi = processEngine.getRuntimeService()//表示正在执行的流程实例和执行对象
                    .createProcessInstanceQuery()//创建流程实例查询
                    .processInstanceId(processInstanceId)//使用流程实例ID查询
                    .singleResult();
            if(pi==null){
                System.out.println("流程已经结束");
            }
            else{
                System.out.println("流程没有结束");
            }
        }

      这里根据processInstanceId判断正在执行的任务中是否有该条记录,若有则没有结束,否则已经结束。此外,还可以根据历史任务中是否有endtime来判断

      2.查询历史任务,代码如下

      

    public void findHistoryTask(){
            String taskAssignee = "张三";
            List<HistoricTaskInstance> list = processEngine.getHistoryService()//与历史数据(历史表)相关的Service
                            .createHistoricTaskInstanceQuery()//创建历史任务实例查询
                            .taskAssignee(taskAssignee)//指定历史任务的办理人
                            .list();
            if(list!=null && list.size()>0){
                for(HistoricTaskInstance hti:list){
                    System.out.println(hti.getId()+"    "+hti.getName()+"    "+hti.getProcessInstanceId()+"   "+hti.getStartTime()+"   "+hti.getEndTime()+"   "+hti.getDurationInMillis());
                    System.out.println("################################");
                }
            }
        }

      3.查询历史流程实例

      代码如下

    public void findHistoryProcessInstance(){
            String processInstanceId = "901";
            HistoricProcessInstance hpi = processEngine.getHistoryService()//与历史数据(历史表)相关的Service
                            .createHistoricProcessInstanceQuery()//创建历史流程实例查询
                            .processInstanceId(processInstanceId)//使用流程实例ID查询
                            .singleResult();
            System.out.println(hpi.getId()+"    "+hpi.getProcessDefinitionId()+"    "+hpi.getStartTime()+"    "+hpi.getEndTime()+"     "+hpi.getDurationInMillis()+"     "+hpi.getEndActivityId());
        }

      

  • 相关阅读:
    hadoop节点的增删
    hadoop集群搭建
    主从配置
    CentOS7ssh互信
    Java根据视频的URL地址,获取视频时长
    Mybatis-plus使用@Select注解使用IN查询不出数据的问题
    洗牌算法
    1525
    SpringBoot+Quartz+MySQL实现分布式定时任务
    微信小程序授权登录解密失败问题
  • 原文地址:https://www.cnblogs.com/icysnow/p/4728948.html
Copyright © 2011-2022 走看看