首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

activiti api总结

2012-12-21 
activiti api小结?FormServiceActiviti表单引擎产生的用户任务表单服务HistoryService?得到已完成的工作流

activiti api小结

?

FormServiceActiviti表单引擎产生的用户任务表单服务HistoryService?得到已完成的工作流实例信息IdentityService认证服务,在工作流执行过程中进行用户查询、认证等操作TaskService?任务服务,可以根据用户创建与查询所分配的任务等等RepositoryService用于发布,查询,删除,获取工作流定义RuntimeService

开始和查询工作流实例,流程变量可以获取和设置

?

?

?

?

?

?

?

?

典型API详解:


1 RuntimService ??
1)startProcessInstanceByKey 开始一个新的以工作流实例,注意bykey实际上指的是定义的工作流Id,附加了一个map信息

Map variableMap = new HashMap();variableMap.put("isbn";, "123456";);ProcessInstance processInstance =runtimeService.startProcessInstanceByKey("bookorder";, variableMap);

?


2 )createProcessInstanceQuery() 查询工作量实例

List instanceList = runtimeService.createProcessInstanceQuery().processDefinitionKey("bookorder").list();   //返回所有以bookorder为id的实例,若是processDefinitionId则只返回在运行的实例

?


2 TaskServie

TaskServie最重要的是claim与complete两个方法
?1) claim调用claim的用户将变成该任务的所有人,其它用户将不能claim与complete该任务
?2) complete将会使完成任务,使流程向下进行

??? 上代码:

Task task = taskService.newTask();task.setName("Test task");task.setPriority(100);taskService.saveTask(task);assertNull(task.getAssignee()); //创建TaskIdentityService identityService =activitiRule.getIdentityService();User user = identityService.newUser("JohnDoe");identityService.saveUser(user);//创建用户taskService.addCandidateUser(task.getId(), "JohnDoe");task = taskService.createTaskQuery().taskCandidateUser("JohnDoe").singleResult();assertNotNull(task); // 将用户与任务关联assertEquals("Test task", task.getName());assertNull(task.getAssignee());taskService.claim(task.getId(), "JohnDoe");//分配任务task = taskService.createTaskQuery().taskAssignee("JohnDoe").singleResult();assertEquals("JohnDoe", task.getAssignee());taskService.complete(task.getId());//完成任务task = taskService.createTaskQuery().taskAssignee("JohnDoe").singleResult();assertNull(task);

?


3) 查询,如下:

Task task = taskService.createTaskQuery().taskCandidateGroup("sales") .singleResult();singleResult() //查询sales组下所分配的任务,因为在该任务中唯一,因此可用返回唯一任务

?? ?权限需要在工作流中定义

<userTask id="usertask1"name="Complete order"activiti:candidateGroups="sales">  //定义了sales组<documentation>book order user task</documentation></userTask>

?

?

热点排行