未来_我来
因为渴望改变,所以必须努力

工作流JBPM_day013-使用JBPMAPI添加与执行流程

流程定义画完得到压缩文件---》部署流程定义--》启动流程实例--》查询我的个人任务列表--》办理任务--》部门经理(总经理)查询、办理--》完成

 导包、配置文件

 

 

 从其他项目拷log4j.properties文件

配置信息

 创建数据库

 

 运行测试类会自动创建表

 

 运行部署流程定义测试类。表中会生成一些数据

 存到服务器数据库中

 

 员工办理任务

 办理好,查看部门经理个人任务列表

 部门经理办理任务

 查看总经理个人任务列表

 总经理办理任务

 完成流程

HelloWorld_API.java

import java.util.List;

import org.jbpm.api.Configuration;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.task.Task;
import org.junit.Test;

public class HelloWorld_API {
    //建表
    @Test
    public void createSchema() {    //hbm2ddl.auto-update自动建表
        new org.hibernate.cfg.Configuration()//
        .configure("jbpm.hibernate.cfg.xml")//
        .buildSessionFactory();
    }
    
    private static ProcessEngine processEngine = new Configuration()//
        .setResource("jbpm.cfg.xml")//
        .buildProcessEngine();
    
    // 1, 部署流程定义
    @Test
    public void deployProcessDefintion() {

        processEngine.getRepositoryService()
            .createDeployment()
            .addResourceFromClasspath("helloworld/helloworld.jpdl.xml")//
            .addResourceFromClasspath("helloworld/helloworld.png")//
            .deploy();
    }
    @Test
    // 2, 启动流程实例
    public void startProvessIndtance() {
        processEngine.getExecutionService().startProcessInstanceByKey("helloworld");
    }
    @Test
    // 3, 查询我的个人任务列表
    public void findMyPersonTaskList() {
//        String userId = "员工";
//        String userId = "部门经理";
        String userId = "总经理";
        //查询
        List<Task> taskList = processEngine.getTaskService().findPersonalTasks(userId);
        
        //显示
        System.out.println("===============【" + userId + "】的个人任务列表=============");
        for(Task task : taskList) {
            System.out.println("id=" + task.getId()//
                    + ", name=" + task.getName()//任务名称
                    + ", assignee=" + task.getAssignee());//办理人
        }
    }
    @Test
    // 4, 办理任务
    public void completeTask() {
        String taskId = "30001";
        processEngine.getTaskService().completeTask(taskId);
    }
}
posted on 2017-12-04 23:06  未来_我来  阅读(361)  评论(0编辑  收藏  举报

2 3
4