Activiti获取某个流程实例的FormKey
来源:互联网 发布:怎样开通手机淘宝 编辑:程序博客网 时间:2024/06/02 02:20
通过任务id获得formkey
用处是用户点击办理任务时可以跳出业务信息的页面,而页面的位置则存放在对应节点的form key中。
当前任务是同时存在 ACT_RU_TASK 和 ACT_HI_TASKINST
ProcessDefinitionEntity -->TaskDefinition -->DefaultFormHandler -->Expression.getExpressionText()
用处是用户点击办理任务时可以跳出业务信息的页面,而页面的位置则存放在对应节点的form key中。
HistoricTaskInstance -->ProcessDefinitionEntity -->TaskDefinition-->DefaultFormHandler -->Expression -->Expression.getExpressionText() ;
当前任务是同时存在 ACT_RU_TASK 和 ACT_HI_TASKINST
/** * * @CreateUser:xxxx * @ReturnType:String * @param taskId * @param businessEventId * @return * @CreateDate:2014-6-10下午7:49:32 * @UseFor :根据任务id获得form key值 */public String getBusinessInfoUrl(String taskId, String businessEventId) {String url = "";String businessKey = "";// 获得任务对象HistoricTaskInstance taskInstance = (HistoricTaskInstance) historyService.createHistoricTaskInstanceQuery().taskId(taskId).singleResult();// 判断当前任务Task是否为空if (taskInstance != null) {url = getTaskFormData(taskId);if (url == null || "".equals(url)) {String processDefinitionId = taskInstance.getProcessDefinitionId();url = getProcessDefinitionFormData(processDefinitionId);}// 业务id 即eventidbusinessKey = ((HistoricProcessInstance) historyService.createHistoricProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult()).getBusinessKey();} else {HistoricProcessInstance historicProcessInstance = (HistoricProcessInstance) historyService.createHistoricProcessInstanceQuery().processInstanceBusinessKey(businessEventId).singleResult();if (historicProcessInstance != null) {url = getProcessDefinitionFormData(historicProcessInstance.getProcessDefinitionId());businessKey = businessEventId;}}// 拼接URL 把eventid接到url上面 url的格式是 xx.htm?eventid=return (new StringBuilder(String.valueOf(url))).append(businessKey).toString();} /** * * @CreateUser:xxxx * @ReturnType:String * @param taskId * @return * @CreateDate:2014-6-10下午5:21:27 * @UseFor :根据任务iD获得form Key 值 */private String getTaskFormData(String taskId) {//表单key值String formkey = "";//获取需查询的任务实例HistoricTaskInstance task = (HistoricTaskInstance) historyService.createHistoricTaskInstanceQuery().taskId(taskId).singleResult();//获取流程定义对象ProcessDefinitionEntity processDefinition = getProcessDefinitionEntityByProcessDefinitionId(task.getProcessDefinitionId());TaskDefinition taskDefinition = (TaskDefinition) processDefinition.getTaskDefinitions().get(task.getTaskDefinitionKey());DefaultFormHandler defaultFormHandler = (DefaultFormHandler) taskDefinition.getTaskFormHandler();Expression expression = defaultFormHandler.getFormKey();if (expression != null)formkey = expression.getExpressionText();return formkey;}/** * * @CreateUser:xxxx * @ReturnType:ProcessDefinitionEntity * @param processDefinitionId * @return * @CreateDate:2014-12-10下午7:39:01 * @UseFor :获得 ProcessDefinitionEntity */private ProcessDefinitionEntity getProcessDefinitionEntityByProcessDefinitionId(String processDefinitionId) {ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService).getDeployedProcessDefinition(processDefinitionId);return processDefinitionEntity;}/** * * @CreateUser:xxxx * @ReturnType:String * @param processDefinitionId * @return * @CreateDate:2014-12-10下午7:38:46 * @UseFor :获得第一个节点的Form key */private String getProcessDefinitionFormData(String processDefinitionId) {StartFormData startFormData = formService.getStartFormData(processDefinitionId);return startFormData.getFormKey();}
0 1
- Activiti获取某个流程实例的FormKey
- Activiti获取某个流程实例已经审批的节点记录
- activiti 简单的流程实例
- activiti学习笔记(二) 获取流程实例
- activiti的流程实例的活动id
- Activiti 流程实例、任务的执行
- Activiti 流程实例、任务的执行
- Activiti 流程定义实例
- Activiti 流程定义实例
- activiti学习笔记(一) 获取流程配置实例
- activiti 流程定义和流程实例的挂起
- activiti跟踪流程实例图片
- Activiti(二)流程实例
- activiti 流程实例设置名称
- 4、Activiti 流程实例 ProcessInstance
- Activiti工作流-流程实例相关
- Activiti 查询流程实例状态
- activiti 流程部署以及实例(processInstance)的创建
- spark读取多个文件夹(嵌套)下的多个文件
- Activiti中流程对象之间的关系
- RxJava & RxAndroid简单使用(2)
- Linux进程间通信——使用命名管道
- ELK学习资料
- Activiti获取某个流程实例的FormKey
- Java学习笔记_001_数据类型与运算符
- 同步图计算:GraphLite的安装和使用
- Activiti获取某个流程实例已经审批的节点记录
- Lua学习:表和数组
- SHH+maven+SVN+Oracle+tomcat8.0之struts
- Originlab8 特殊字符的输入
- Js中字符串转Json与Json对象转字符串
- ZOJ 3956 Course Selection System