Activiti表的操作测试

查询流程部署信息表
表 act_re_deployment

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.repository.Deployment;

public class Text6 {
    //act_re_deployment 	部署信息表
    public static void main(String[] args) {
        //查询部署的流程定义
        ProcessEngine pe=
                ProcessEngines.getDefaultProcessEngine();
        //查询部署对象的信息
        Deployment d=pe.getRepositoryService()
                .createDeploymentQuery()
                .list().get(0);
        System.out.println(d.getId()+","+d.getName()+","+d.getDeploymentTime());


    }
}

查询流程定义数据表

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.repository.ProcessDefinition;

public class Text61 {
    //act_re_procdef      流程定义数据表
    public static void main(String[] args) {
        //查询部署的流程定义
        ProcessEngine pe=
                ProcessEngines.getDefaultProcessEngine();

        //查询流程定义的信息
        ProcessDefinition definition=
                pe.getRepositoryService()
                .createProcessDefinitionQuery()
                //.deploymentId("1") //根基id查找
                //.processDefinitionKey("myProcess_1")//通过流程定义的key值进行查询,只能得到一个值,是数据库最先查到key
                .processDefinitionKeyLike("%1%")//通过流程定义的key模糊查询
                .orderByProcessDefinitionVersion().asc()
                //.orderByProcessDefinitionVersion().desc()
                .list().get(0);
        System.out.println("流程定义的id:"+definition.getId());
        System.out.println("流程定义的key"+definition.getKey());
        System.out.println("流程定义的name"+definition.getName());
        System.out.println("流程定义的资源文件:"+definition.getResourceName());
        System.out.println("流程定义的图片文件:"+definition.getDiagramResourceName());
        System.out.println("流程定义的版本:"+definition.getVersion());

    }
}

删除流程定义
act_re_deployment 部署信息表

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;

public class Text63 {
    //删除流程定义
    public static void main(String[] args) {
        ProcessEngine pe= ProcessEngines.getDefaultProcessEngine();
        //act_re_deployment 	部署信息表
        pe.getRepositoryService().deleteDeployment("1");
        System.out.println("删除");
    }
}

查询key值相同的多版本流程定义

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.repository.ProcessDefinition;

import java.util.List;

public class Text64 {
    //查询同key的多版本流程定义
    public static void main(String[] args) {
        ProcessEngine pe=ProcessEngines.getDefaultProcessEngine();
        List<ProcessDefinition> list=pe.getRepositoryService()
                .createProcessDefinitionQuery()
                .processDefinitionKey("myProcess_1")
                .list();
        for(ProcessDefinition definition:list){
            System.out.println("流程定义的id:"+definition.getId());
            System.out.println("流程定义的key:"+definition.getKey());
            System.out.println("流程定义的name:"+definition.getName());
            System.out.println("流程定义的资源文件:"+definition.getResourceName());
            System.out.println("流程定义图片文件:"+definition.getDiagramResourceName());
            System.out.println("流程定义的版本:"+definition.getVersion());

        }
    }
}

删除key值相同的多版本流程定义

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.repository.ProcessDefinition;

import java.util.List;

public class Text65 {
    //删除同key的多版本流程定义
    public static void main(String[] args) {
        //查询部署的流程定义
        ProcessEngine pe=
                ProcessEngines.getDefaultProcessEngine();
        //删除同key的多版本流程定义
        List<ProcessDefinition> list= pe.getRepositoryService()
                .createProcessDefinitionQuery()
                .processDefinitionKey("myProcess_1")
                .orderByProcessDefinitionVersion().desc()
                .list();
        for (ProcessDefinition definition : list) {
            System.out.println("版本:"+definition.getVersion());
            pe.getRepositoryService()
                    .deleteDeployment(definition.getDeploymentId());
        }
    }
}

查看流程图

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.repository.ProcessDefinition;
import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;

public class Text70 {
    //查看流程图
    public static void main(String[] args) {
        //获得流程引擎
        ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();
        try {
            //得到流程定义
            ProcessDefinition processDefinition=
                    processEngine.getRepositoryService()
                    .createProcessDefinitionQuery()
                    .deploymentId("2501")
                    .list().get(0);
            String name=processDefinition.getDiagramResourceName();
            System.out.println("流程定义的图片:"+name);
            File f=new File("e:\\"+name);

            //通过名字得到输入流,参数:部署id和文字
            InputStream
                    inputStream=processEngine.getRepositoryService().getResourceAsStream("2501",name);

                FileUtils.copyInputStreamToFile(inputStream,f);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

启动流程定义

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.runtime.ProcessInstance;

public class Text80 {
    public static void main(String[] args) {
        ProcessEngine pe= ProcessEngines.getDefaultProcessEngine();

        //启动流程自定义
        //查看act_ru_exection 查看流程信息
        //查看act_ru_task任务
        ProcessInstance instance=
                pe.getRuntimeService()
                .startProcessInstanceByKey("myProcess_1");
        System.out.println(instance.getName()+","+instance.getId());

    }
}

查询个人任务
act_ru_task 运行时任务节点表


import org.activiti.engine.history.HistoricTaskInstance;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.task.Task;

import java.util.List;

public class Text90 {
    //act_ru_task
    public static void main(String[] args) {
        ProcessEngine pe=ProcessEngines.getDefaultProcessEngine();
        //查询个人任务
        List<Task> list=

        pe.getTaskService()
        .createTaskQuery()
        .taskAssignee("张三")
        .list();
        for (Task task : list) {
            System.out.println(task.getId()+","+task.getCreateTime()+","+task.getExecutionId()+"," +
                    task.getProcessDefinitionId());
        }

    }
}

完成个人任务
act_ru_execution 运行时流程执行实例表
act_ru_task 运行时任务节点表

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;

public class Text92 {
    //完成个人任务
    //act_ru_execution 任务执行时的表
    //act_ru_task  任务表
    public static void main(String[] args) {
        ProcessEngine pe=
                ProcessEngines.getDefaultProcessEngine();
        //pe.getTaskService().complete("10004");//ru_task 的 id
        pe.getTaskService().complete("12502");
        System.out.println("完成任务");
    }

}

查看个人完成任务历史

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.history.HistoricTaskInstance;

import java.util.List;

public class Text91 {
    //act_hi_taskinst
    public static void main(String[] args) {
        //查询个人的历史任务
        ProcessEngine pe=
                ProcessEngines.getDefaultProcessEngine();
        List<HistoricTaskInstance> list=
                pe.getHistoryService()
                .createHistoricTaskInstanceQuery()
                .taskId("10004")// .taskAssignee("张三")//.executionId("10001")
                .list();
        for (HistoricTaskInstance historicTaskInstance:list) {
            System.out.println(historicTaskInstance.getStartTime()
                    +","+historicTaskInstance.getProcessDefinitionId());

        }
    }
}

设置任务变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值