2.HelloWorld程序

1.流程图

2./itcast0711/src/main/java/cn/itcast/a_helloworld/HelloWorld.java

package cn.itcast.a_helloworld;

import java.util.List;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.junit.Test;

public class HelloWorld {
    ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();
    /**部署流程定义*/
    @Test
    public void deploymentProcessDefination(){
        Deployment deployment = processEngine.getRepositoryService()//与流程定义和部署对象相关的Service
                .createDeployment()//创建一个部署对象
                .name("helloworld入门程序")//添加部署的名称
                .addClasspathResource("diagrams/helloworld.bpmn")//从classpath的资源中加载,一次只能加载一个文件
                .addClasspathResource("diagrams/helloworld.png")//从classpath的资源中加载,一次只能加载一个文件
                .deploy();//完成部署
        System.out.println("部署ID:"+deployment.getId());//1
        System.out.println("部署名称:"+deployment.getName());//helloworld入门程序              
    }
    /**启动流程实例*/
    @Test
    public void startProcessInstance(){
        String processDefinitionKey = "helloworld";//流程定义的key
        ProcessInstance pi = processEngine.getRuntimeService()//与正在执行的流程实例和执行对象相关的Service
                        .startProcessInstanceByKey(processDefinitionKey);//使用流程定义的key启动流程实例,key对应helloworld.bpmn文件中id的属性值,使用key值启动,默认是按照最新版本的流程定义启动
        System.out.println("流程实例ID:"+pi.getId());//流程实例ID  101
        System.out.println("流程定义ID:"+pi.getProcessDefinitionId());//流程定义ID  helloworld:1:4
    }
    /**查询当前人的个人任务*/
    @Test
    public void findMyPersonalTask(){
        String assignee = "王五";
        List<Task> list = processEngine.getTaskService()//与正在执行的任务管理相关的Service
                        .createTaskQuery()//创建任务查询对象
                        .taskAssignee(assignee)//指定个人任务查询,指定办理人
                        .list();
        if(list!=null && list.size()>0){
            for(Task task:list){
                System.out.println("任务ID:"+task.getId());
                System.out.println("任务名称:"+task.getName());
                System.out.println("任务的创建时间:"+task.getCreateTime());
                System.out.println("任务的办理人:"+task.getAssignee());
                System.out.println("流程实例ID:"+task.getProcessInstanceId());
                System.out.println("执行对象ID:"+task.getExecutionId());
                System.out.println("流程定义ID:"+task.getProcessDefinitionId());
                System.out.println("########################################################");
//                张三
//                任务ID:104
//                任务名称:提交申请
//                任务的创建时间:Sun Aug 07 14:20:55 CST 2016
//                任务的办理人:张三
//                流程实例ID:101
//                执行对象ID:101
//                流程定义ID:helloworld:1:4
//                李四
//                任务ID:202
//                任务名称:审批【部门经理】
//                任务的创建时间:Sun Aug 07 15:05:24 CST 2016
//                任务的办理人:李四
//                流程实例ID:101
//                执行对象ID:101
//                流程定义ID:helloworld:1:4
//                王五
//                任务ID:302
//                任务名称:审批【总经理】
//                任务的创建时间:Sun Aug 07 15:33:45 CST 2016
//                任务的办理人:王五
//                流程实例ID:101
//                执行对象ID:101
//                流程定义ID:helloworld:1:4
            }
        }
    }
    
    /**完成我的任务*/
    @Test
    public void completeMyPersonalTask(){
        //任务ID
        String taskId = "302";
        processEngine.getTaskService()//与正在执行的任务管理相关的Service
                    .complete(taskId);
        System.out.println("完成任务:任务ID:"+taskId);
        //104 202 302
    }
}

 

posted on 2016-08-07 15:41  step_step  阅读(347)  评论(0编辑  收藏  举报

导航