activiti工作流常用api
来源:互联网 发布:腾讯软件中心官方网站 编辑:程序博客网 时间:2024/05/16 00:26
1、绑定启动流程的当前用户
3、使用任务id获取formKey,即url
4、使用任务id获取businessKey
5、组任务拾取
6、查询待办任务
(1)等待被签收的任务
小结:taskInvolvedUser()与taskCandidateUser()的区别就在于前者包含了参与人、候选人,以及属于某个候选组的人,
而后者只在候选人、候选组范围内查询
在启动流程时,先调用 下面的api 来绑定流程启动人
identityService.setAuthenticatedUserId(user);2、获取流程实例的启动人
public String getStartUserId(String taskId) { Task task = taskService.createTaskQuery() .taskId(taskId) .singleResult(); HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() .processInstanceId(task.getProcessInstanceId()) .singleResult(); return historicProcessInstance.getStartUserId(); }
小结: activiti:initiator属性作用:可以把启动流程实例的操作人以变量名(比如"applyUserId")保存到数据库中,需要配合
identityService.setAuthenticatedUserId(String userId)方法使用来进行赋值
使用Authentication.getAuthenticatedUserId()方法或者
使用HistoricProcessInstance实例的getStartUserId()可以获取一个流程实例由哪个用户启动
3、使用任务id获取formKey,即url
public String findTaskFormKeyByTaskId(String taskId) { TaskFormData taskFormData = formService.getTaskFormData(taskId); return taskFormData.getFormKey(); }
4、使用任务id获取businessKey
public String findBusinessKeyByTaskId(String taskId) throws Exception { ProcessInstance pi = activitiUtilServiceI.findProcessInstanceByTaskId(taskId); String businessKey = pi.getBusinessKey(); if(StringUtils.isEmpty(businessKey)){ throw new Exception("无法找到任务的BusinessKey"); } return businessKey; }
5、组任务拾取
if(StringUtils.isEmpty(task.getAssignee())){ taskService.claim(taskId, currentAssignee); }
6、查询待办任务
(1)等待被签收的任务
List<Task> list = taskService.createTaskQuery() .taskCandidateUser("userId") .list();
(2)查询全部任务
List<Task> list = taskService.createTaskQuery() .taskCandidateOrAssigned("userId") .list();(3)更细致查询全部与给定用户相关的任务
TaskQuery query = taskService.createTaskQuery().taskInvolvedUser("userId");
小结:taskInvolvedUser()与taskCandidateUser()的区别就在于前者包含了参与人、候选人,以及属于某个候选组的人,
而后者只在候选人、候选组范围内查询
7、使用任务id查询该activityImpl节点的信息
public ActivityImpl findActivitiImpl(String taskId, String activityId) throws Exception { ProcessDefinitionEntity processDefinition = findProcessDefinitionEntityByTaskId(taskId); if (StringUtils.isEmpty(activityId)) { activityId = findTaskById(taskId).getTaskDefinitionKey(); } ActivityImpl activityImpl = ((ProcessDefinitionImpl) processDefinition) .findActivity(activityId); return activityImpl; }8、查询流程批注信息
public List<Comment> findCommentByTaskId(String taskId) { Task task = taskService.createTaskQuery() .taskId(taskId) .singleResult(); List<Comment> list = taskService.getProcessInstanceComments(task.getProcessInstanceId()); return list; }9、添加流程批注信息
Task task = taskService.createTaskQuery() .taskId(taskId) .singleResult(); taskService.addComment(taskId, task.getProcessInstanceId(), message);10、获取表单属性控制
TaskFormData taskFormData = formService.getTaskFormData(taskId); List<FormProperty> formPropertiesList = taskFormData.getFormProperties();11、获取变量值
public Object getVariablesByTask(String taskId,String variableName){ Object variable = taskService.getVariable(taskId, variableName); return variable; }
0 0
- activiti工作流常用api
- activiti工作流常用api
- Activiti工作流(3):activiti核心API
- 【Activiti笔记】工作流-Activiti核心API介绍
- Activiti工作流引擎核心API
- 3.activiti工作流-核心API
- 【activiti】常用API
- activiti常用api
- 学习Activiti工作流框架的API
- 【Activiti:学以致用】【第一章】 工作流核心API
- 工作流activiti 5.13基本的API流程
- 【Activiti:学以致用】【第一章】 工作流核心API
- 工作流框架Activiti常用功能初探
- 工作流框架Activiti常用功能初探
- Activiti-工作流
- activiti工作流
- 工作流activiti
- activiti工作流
- Weekly Training Farm 23
- struts2学习笔记摘要一
- JavaSE_6th_继承
- nodejs知识点整理
- 超键 主键 候选键 可选键
- activiti工作流常用api
- getopt()函数详解
- C#进阶系列——使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)
- R6034错误,C Runtime Error
- linux screen 命令详解
- Fiddler简单介绍
- js 去除空格
- hdu 2041 超级楼梯(斐波那契)
- java的注解annotation