查询流程部署信息表
表 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());
}
}
}
设置任务变量