zoukankan      html  css  js  c++  java
  • activiti的简单查询

    1  启动流程

      RuntimeService rts = processEngine.getRuntimeService();   

       ProcessInstance   pinstance = rts.startProcessInstanceByKey("myProcessId");  

     //使用流程定义Key启动流程 按照最新版本启动

       System.out.println(pinstance.getActivityId());   // usertask1
       System.out.println(pinstance.getId());   // 5001

    查看数据:

    SELECT *  FROM  act_ru_execution

    SELECT *  FROM  act_ru_task

    2  完成当前已启动的任务

     this.processEngineCfg.getTaskService().complete("5004");   // 5004 为 act_ru_task 的主机id

     查看流程情况: SELECT *  FROM   act_hi_taskinst

    3 查询流程定义

    List<ProcessDefinition> pDeflist = this.processEngineCfg.getRepositoryService()
    .createProcessDefinitionQuery()
    .orderByProcessDefinitionVersion().asc().list();

    if(pDeflist!=null && pDeflist.size()>0){

    for(ProcessDefinition pdef:pDeflist){
    System.out.println("------------------------------------------------");
    System.out.println("流程定义id "+pdef.getId());
    System.out.println("流程定义的名称 "+pdef.getName());
    System.out.println("流程定义的Key "+pdef.getKey());
    System.out.println("流程定义的版本 "+pdef.getVersion());
    System.out.println("资源名称bpmn文件 "+pdef.getResourceName());
    System.out.println("资源名称png文件 "+pdef.getDiagramResourceName());
    System.out.println("部署id "+pdef.getDeploymentId());

    }


    }

    输出结果如下:

    ------------------------------------------------
    流程定义id myProcessId:1:2504
    流程定义的名称 Myprocess
    流程定义的Key myProcessId
    流程定义的版本 1
    资源名称bpmn文件 diagrams/MyProcess.bpmn
    资源名称png文件 diagrams/MyProcess.png
    部署id 2501
    ------------------------------------------------
    流程定义id myProcessId:2:12504
    流程定义的名称 Myprocess
    流程定义的Key myProcessId
    流程定义的版本 2
    资源名称bpmn文件 diagrams/MyProcess.bpmn
    资源名称png文件 diagrams/MyProcess.png
    部署id 12501

    4  删除流程定义:

    删除前,已经启动两个流程,表task中也有对应的数据


    RepositoryService repositoryService = this.processEngineCfg.getRepositoryService();

    repositoryService.deleteDeployment("12501");   //执行删除 或者  repositoryService.deleteDeployment("12501",true); 级联删除

    删除后数据如下:

    表task中相对应的数据也删除

    5 设置流程变量 

     方式1:以在流程启动,和任务执行的时候设置

    RuntimeService rts = this.processEngineCfg.getRuntimeService();
    Map<String,Object> map = new HashMap<String,Object>();
    map.put("ids", "ids-v");
    map.put("nams", "nams-v");
    map.put("others", "others-v");
    ProcessInstance pinstance = rts.startProcessInstanceByKey("myProcessId",map);

     

     方式二   通过taskService或者runtimeService设置

    SELECT *  FROM act_ru_task  WHERE execution_id_='15001'  得到 taskid 为 15007

    TaskService taskService = this.processEngineCfg.getTaskService();

    String taskid="15007";

    taskService.setVariable(taskid, "请假天数", "7天");
    taskService.setVariable(taskid,"请假原因", "事假");
    taskService.setVariable(taskid,"请假日期", new Date());

    Person person = new Person();
    person.setAge(30);
    person.setName("张三丰");
    person.setPid("00002");
    taskService.setVariable(taskid,"相对人信息", person);

     

    查询操作结果:

    其中 

    可以在表 act_ge_bytearray 中进行数据查询:

     5 设置流程变量 

    TaskService taskService = this.processEngineCfg.getTaskService();

    String taskid="15007";

    System.out.println("请假天数 : "+ taskService.getVariable(taskid, "请假天数"));

    System.out.println("请假日期 : "+ taskService.getVariable(taskid, "请假日期"));

    Person person = (Person) taskService.getVariable(taskid, "相对人信息");

    System.out.println("请假人信息 年龄:"+person.getAge()+" 姓名:"+person.getPid());

    输出结果如下:

    请假天数 : 7天
    请假日期 : Thu Feb 09 15:42:37 CST 2017
    请假人信息 年龄:30 姓名:00002

  • 相关阅读:
    POJ3320 Jessica's Reading Problem
    POJ3320 Jessica's Reading Problem
    CodeForces 813B The Golden Age
    CodeForces 813B The Golden Age
    An impassioned circulation of affection CodeForces
    An impassioned circulation of affection CodeForces
    Codeforces Round #444 (Div. 2) B. Cubes for Masha
    2013=7=21 进制转换
    2013=7=15
    2013=7=14
  • 原文地址:https://www.cnblogs.com/Ruiwy/p/6382600.html
Copyright © 2011-2022 走看看