activiti 根据角色指定执行人(十二)

来源:互联网 发布:淘宝面交交易被骗 报警 编辑:程序博客网 时间:2024/05/22 11:35

1. 流程图



2. 实现类

package com.hxzq.workflow.role;import java.io.InputStream;import java.util.List;import org.activiti.engine.IdentityService;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngines;import org.activiti.engine.impl.persistence.entity.GroupEntity;import org.activiti.engine.impl.persistence.entity.UserEntity;import org.activiti.engine.runtime.ProcessInstance;import org.activiti.engine.task.Task;import org.junit.Test;/** * 根据角色查询 select * from act_id_group ; <br> * select * from act_id_user;<br> * select * from act_id_membership;<br> *  * @author HXZQ-SW *  */public class RoleTask {ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();@Testpublic void deploymentProcessDefinition() {InputStream bpmn = this.getClass().getResourceAsStream("RoleTask.bpmn");InputStream png = this.getClass().getResourceAsStream("RoleTask.png");processEngine.getRepositoryService().createDeployment().addInputStream("RoleTask.bpmn", bpmn).addInputStream("RoleTask.png", png).name("组任务").deploy();IdentityService identityService = processEngine.getIdentityService();// 添加角色identityService.saveGroup(new GroupEntity("M1"));identityService.saveGroup(new GroupEntity("M2"));// 添加用户identityService.saveUser(new UserEntity("胡一"));identityService.saveUser(new UserEntity("胡二"));identityService.saveUser(new UserEntity("胡三"));// 建立用户角色关系identityService.createMembership("胡一", "M1");identityService.createMembership("胡二", "M2");identityService.createMembership("胡三", "M1");}@Testpublic void startProcessInstance() {String processInstanceKey = "RoleTask";ProcessInstance processInstance = processEngine.getRuntimeService().startProcessInstanceByKey(processInstanceKey);System.out.println(processInstance.getId());}/** * 查询当前人的组任务 */@Testpublic void findGroupTask() {String user = "胡一";List<Task> list = processEngine.getTaskService().createTaskQuery().taskCandidateUser(user).list();if (list != null && list.size() > 0) {for (Task t : list) {System.out.println(t.getId() + ", " + t.getName() + ", "+ t.getCreateTime());}}}/** * 完成任务 */@Testpublic void completeTask() {String taskId = "5004";processEngine.getTaskService().complete(taskId);}}


0 0
原创粉丝点击