• 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());
        }

      

  • 相关阅读:
    List中的get(i)
    报空指针异常
    json数据请求
    springmvc中的字典表
    json的解析
    httpClient返回的数据类型,怎么弄
    java中webService
    红外遥控协议(NEC)
    很奇怪的GPIO地址
    emacs命令备忘
  • 原文地址:https://www.cnblogs.com/icysnow/p/4728948.html
Copyright © 2020-2023  润新知