JBPM基本流程

一、框架图:
这里写图片描述

二、执行代码:

package com.itcast.helloworld;

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 {
    private static ProcessEngine processEngine;
    private String taskId;

    static{
        processEngine = new Configuration().setResource("jbpm.cfg.xml").buildProcessEngine();
    }

    //建表
    @Test
    public void createSchema() throws Exception {
        new org.hibernate.cfg.Configuration().configure("jbpm.hibernate.cfg.xml").buildSessionFactory();
    }

    //1.部署流程定义
    @Test
    public void deployProcess() throws Exception {
        processEngine.getRepositoryService().createDeployment()
        .addResourceFromClasspath("helloworld/helloworld.jpdl.xml")
        .addResourceFromClasspath("helloworld/helloworld.png")
        .deploy();
    }
    //2.启动流程实例
    @Test
    public void startProcess() throws Exception {
        processEngine.getExecutionService().startProcessInstanceByKey("helloworld");
    }
    //3.查询我的个人任务列表
    @Test
    public void findMyTaskList() throws Exception {
        String userId1 = "员工";
        String userId2 = "部门经理";
        String userId3 = "总经理";

        //查询 
        System.out.println("---员工--------------");
        List<Task> taskList = processEngine.getTaskService().findPersonalTasks(userId1);
        for(Task task : taskList){
            taskId = task.getId();
            System.out.println("id="+taskId+",name="+task.getName()+",assigne="+task.getAssignee());
        }

        System.out.println("---部门经理--------------");
        List<Task> departList = processEngine.getTaskService().findPersonalTasks(userId2);
        for(Task task : departList){
            System.out.println("id="+task.getId()+",name="+task.getName()+",assigne="+task.getAssignee());
        }
        System.out.println("---总经理--------------");
        List<Task> totalList = processEngine.getTaskService().findPersonalTasks(userId3);
        for(Task task : totalList){
            System.out.println("id="+task.getId()+",name="+task.getName()+",assigne="+task.getAssignee());
        }
    }
    //4.办理任务
    @Test
    public void completeTask() throws Exception {
        String taskId1 = "30002";//员工
        String taskId2 = "40001";//部门经理
        String taskId3 = "50001";//总经理
        processEngine.getTaskService().completeTask(taskId3);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lovoo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值