流程图
部署流程定义
/**
* 部署流程定义
*/
@Test
public void deploymentProcessDefinition() {
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
Deployment deployment = processEngine.getRepositoryService()// 与流程定义和部署对象相关的Service
.createDeployment() // 创建一个部署对象
.name("activiti").addClasspathResource("helloworld.bpmn")// 从classpath的资源中加载
.addClasspathResource("helloworld.png").deploy(); // 完成部署
System.out.println("ID: " + deployment.getId());
System.out.println("name: " + deployment.getName());
}
这里使用 RepositoryService 部署流程定义 addClasspathResource表示从类路径下加载资源文件,一次只能加载一个文件
启动流程实例
/**
* 启动流程实例
*/
@Test
public void startProcessInstance() {
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
String processDefinitionKey = "helloworld";
ProcessInstance pi = processEngine.getRuntimeService()
.startProcessInstanceByKey(processDefinitionKey);
System.out.println("流程实例ID:" + pi.getId());
System.out.println("流程定义ID:" + pi.getProcessDefinitionId());
}
这里使用 RuntimeService 启动流程实例
查看我的个人任务
/**
* 查询当前人的个人认为
*/
@Test
public void findMyPersonTask() {
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
String assignee = "张三";
List<Task> list = processEngine.getTaskService().createTaskQuery()
.taskAssignee(assignee).list();
for (Task task : list) {
System.out.println(task.getId());
System.out.println(task.getName());
System.out.println(task.getCreateTime());
System.out.println(task.getAssignee());
}
}
这里使用 TaskService 完成任务的查询
完成我的个人任务
/**
* 完成我的任务
*/
@Test
public void completeMyPersonTask() {
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
String taskId = "104";
processEngine.getTaskService().complete(taskId);
System.out.println("完成任务:" + taskId);
}
这里使用 TaskService 完成任务的办理