码迷,mamicode.com
首页 > 其他好文 > 详细

Activiti流程实例管理

时间:2014-07-30 11:28:03      阅读:315      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   strong   io   数据   for   

1、启动流程
 /**
  * 1 启动流程
  * 当流程到达一个节点时,会在act_ru_execution表中产生1条数据
  * 如果当前节点是用户任务节点,这时会在act_ru_task表中产生1条数据(任务的办理人,任务的创建时间)
  */
 @Test
 public void startProcess() throws Exception {
  /**
   * v1 myProcess:2:604
   * v2 myProcess:3:704
   */
//     runtimeService.startProcessInstanceById(processDefinitionId)
  // 通过流程定义的key启动流程,会启动版本最高的流程
  ProcessInstance pi = runtimeService.startProcessInstanceByKey("LeaveFlow");
  System.out.println("pid:" + pi.getId() +",activitiId:" + pi.getActivityId());
 }

2、查看流程状态

 public void queryProcessState() throws Exception {
  String processInstanceId="1401";
  // 通过流程实例ID查询流程实例
  ProcessInstance pi = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
  if(pi!=null){
   System.out.println("当前流程在:" + pi.getActivityId());
  }else{
   System.out.println("流程已结束!!");
  }
 }

3、查看公有任务

 public void queryCommonTask() throws Exception {
  // 创建任务查询对象
  TaskQuery taskQuery = taskService.createTaskQuery();
  // 配置查询对象
  String candidateUser="张三";
  taskQuery
   // 过滤条件
   .taskCandidateUser(candidateUser)
   // 分页条件
//     .listPage(firstResult, maxResults)
   // 排序条件
   .orderByTaskCreateTime().desc();
  // 执行查询
  List<Task> tasks = taskQuery.list();
  System.out.println("======================【"+candidateUser+"】的公共任务列表=================");
  for (Task task : tasks) {
   System.out.print("id:"+task.getId()+",");
   System.out.print("name:"+task.getName()+",");
   System.out.print("createTime:"+task.getCreateTime()+",");
   System.out.println("assignee:"+task.getAssignee());
  }
 }

4、查看私有任务

 public void queryPersonalTask() throws Exception {
  // 创建任务查询对象
  TaskQuery taskQuery = taskService.createTaskQuery();
  // 配置查询对象
//     String assignee="user";
  String assignee="李四";
  taskQuery
   // 过滤条件
   .taskAssignee(assignee)
   // 分页条件
//     .listPage(firstResult, maxResults)
   // 排序条件
   .orderByTaskCreateTime().desc();
  // 执行查询
  List<Task> tasks = taskQuery.list();
  System.out.println("======================【"+assignee+"】的代办任务列表=================");
  for (Task task : tasks) {
   System.out.print("id:"+task.getId()+",");
   System.out.print("name:"+task.getName()+",");
   System.out.print("createTime:"+task.getCreateTime()+",");
   System.out.println("assignee:"+task.getAssignee());
  }
 }

5、认领任务

 public void takeTask() throws Exception {
  // claim 认领
  String taskId="1404";
  String userId="李四";
  // 让指定userId的用户认领指定taskId的任务
  taskService.claim(taskId, userId);
  System.out.println("认领操作完毕!!");
 }

6、办理任务

public void complete() throws Exception {
  String taskId = "1602";
  // 完成任务
  taskService.complete(taskId );
 }

 

Activiti流程实例管理,布布扣,bubuko.com

Activiti流程实例管理

标签:des   style   blog   color   strong   io   数据   for   

原文地址:http://www.cnblogs.com/cxyj/p/3877218.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!