ProcessEngine engine = config.buildProcessEngine();
IdentityService is = engine.getIdentityService();
org.flowable.idm.api.User user = is.newUser(UUID.randomUUID().toString());
user.setFirstName("kebi");
is.saveUser(user);
RepositoryService rs = engine.getRepositoryService();
Deployment deploy = rs.createDeployment().
addClasspathResource("process/helloworld.bpmp2.0.xml").deploy();
ProcessDefinition def = rs.createProcessDefinitionQuery().deploymentId(deploy.getId()).singleResult();
rs.addCandidateStarterUser(def.getId(), user.getId()); //指定流程被哪个用户操作+
List<ProcessDefinition> list = rs.createProcessDefinitionQuery()
.startableByUser(user.getId()).list(); //查询这个用户可以操作的流程
for(ProcessDefinition de:list) {
System.out.println(de.getId());
}
// 给任务设置用户组
TaskService taskService = engine.getTaskService();
Task task = taskService.createTaskQuery().singleResult();
String groupId=UUID.randomUUID().toString();
Group group = is.newGroup(groupId);
group.setName("测试用户组");
is.saveGroup(group);
taskService.addCandidateGroup(task.getId(), groupId);
//设置这个用户的持有人
taskService.setOwner(task.getId(), user.getId());
//查询用户要处理的任务
List<Task> tasks = taskService.createTaskQuery().taskOwner(user.getId()).list();
for(Task t:tasks) {
System.out.println(task.getName());
//完成当前任务
taskService.complete(t.getId());
}
activiti 给流程定义(ProcessDefinition)指定用户具有启动流程的权限
猜你喜欢
转载自blog.csdn.net/ldqchat/article/details/81810834
今日推荐
周排行