画任务流程图
指定节点处理人(例如名为three的任务处理人只能是yzx2)
部署流程:
类
public class HelloWork {
ProcessEngine processEngine = HelloWork.creatProcessEngine();
public static ProcessEngine creatProcessEngine() {
ProcessEngineConfiguration configuration = ProcessEngineConfiguration
.createStandaloneProcessEngineConfiguration();
configuration.setJdbcUrl("jdbc:mysql://localhost:3306/workflow?useUnicode=true&characterEncoding=UTF-8");
configuration.setJdbcDriver("com.mysql.jdbc.Driver");
configuration.setJdbcUsername("root");
configuration.setJdbcPassword("199657yzx");
configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
return configuration.buildProcessEngine();
}
}
部署一个流程
/**
* 流程部署
*
*/
@Test
public void deploy() {
Deployment deployment = processEngine.getRepositoryService().createDeployment().name("first")
.addClasspathResource("yzx/Hellowork.bpmn").addClasspathResource("yzx/Hellowork.png").deploy();
System.out.println(deployment.getId());
System.out.println(deployment.getName());
}
启动一个流程实例
/**
* 流程启动 :
* 启动时我们部署流程id为401但是在数据库表里,这个流程id是Hellowork:1:404,去查act_re_procdef表
*
*/
@Test
public void startProcess() {
RuntimeService runtimeService = processEngine.getRuntimeService();
runtimeService.startProcessInstanceById("Hellowork:1:404");
System.out.println("启动成功");
}
查看处理人的待处理任务
/**
*查看个人任务
*
*/
@Test
public void queryTask() {
String assignee="yzx1";
List<Task> list = processEngine.getTaskService().createTaskQuery().taskAssignee(assignee).list();
for (Task task : list) {
System.out.println(task);
}
}
查询到任务根据任务id结束任务
/**
*完成个人任务
*
*/
@Test
public void completeTask() {
processEngine.getTaskService().complete("504");
}