activiti当前流程高亮显示
来源:互联网 发布:歼31黑烟知乎 编辑:程序博客网 时间:2024/06/08 20:06
啦啦啦。。。忙碌的时间过得快,最近系统提测,有个朋友问到activiti当前流程高亮的问题,于是我来开一篇基础教程。
既然是当前流程节点高亮显示,基础当然是把整个流程图都展示出来。在我整合modeler的文档中提到过,流程部署后就有一个流程图查看的链接。
这里,咱就依葫芦画瓢。先把整个流程图展示出来。
1、获取流程图,输出到页面。
public InputStream findProcessPic(String procDefId) { ProcessDefinition definition = getProcessDefinition(procDefId); String source = definition.getDiagramResourceName(); InputStream inputStream = repositoryService.getResourceAsStream(definition.getDeploymentId(),source); return inputStream; }
根据当前流程的部署ID,获取到对应流程图的输入流。
InputStream inputStream = bpmProcessService.findProcessPic(procDefId);byte[] b = new byte[1024];int len = 0;while ((len = inputStream.read(b,0,1024))!=-1){response.getOutputStream().write(b, 0, len);}将输入流输出到页面。
<img src="${application.getContextPath()}/workflow/document/${procDefId!}">页面获取输出的图片信息并展示出来。朋友说用标签实现,其实无非就是数据的传递方式不一样,如果是需要使用其他方式的,自己改改数据传递方式就可以了。
2、获取当前流程所在节点,并高亮显示
ActivityImpl activity = null; ProcessDefinition definition = getProcessDefinition(procDefId); ProcessDefinitionImpl definitionImp = (ProcessDefinitionImpl)definition; String proDefId = definitionImp.getId(); ProcessDefinitionEntity definitionEntity = (ProcessDefinitionEntity) ((RepositoryServiceImpl)repositoryService).getDeployedProcessDefinition(proDefId); Task task = bpmTaskService.selectTaskByProcessId(procInstId); ExecutionEntity executionEntity = (ExecutionEntity)runtimeService.createExecutionQuery() .executionId(task.getExecutionId()).singleResult(); String activitiId = executionEntity.getActivityId(); List<ActivityImpl> activities = definitionEntity.getActivities(); for(ActivityImpl activity1 : activities){ if(activity1.getId().equals(activitiId)){ activity = activity1; break; } } return activity;根据流程部署ID获取所有节点信息
根据当前流程实例ID,获取到当前流程所在节点信息。
对比获取需要高亮显示的节点的流程图信息。
<div style="position:absolute; border:2px solid red;left:${activity.x+6 }px; top:${activity.y+6 }px;width:${activity.width }px;height:${activity.height }px;"></div>根据节点信息设置一个框,红色,标识当前节点为进行中节点。
备注:教程很简单,没有深入研究,并且只是支持单节点高亮,并行节点、已完成节点都不支持。并行节点返回当前所有节点的集合,然后遍历。已完成节点获取所有历史节点与其关联的线的信息即可,这里暂时不罗列,要是有时间我在研究出来给大家参考。
4 0
- activiti当前流程高亮显示
- activiti工作流显示流程图且当前节点高亮
- activiti学习资料(流程任务高亮显示)
- activiti学习资料(流程任务高亮显示)
- activiti高亮当前节点
- Activiti 历史流程图高亮显示
- Activiti 历史流程图高亮显示
- activiti当前任务高亮乱码问题解决(5.14版本)
- activiti 5.16 实现流程图高亮跟踪显示
- 织梦CMS,当前栏目高亮显示
- JQ当前页面标签 高亮显示
- 织梦CMS,当前栏目高亮显示
- 两种方法对activiti运行过的节点高亮显示
- 给当前选中的控件提供高亮显示功能
- dedecms导航,当前栏目高亮显示代码
- SharePoint 2013 高亮显示当前导航菜单
- Superfish高亮显示当前页面的菜单项
- Js实现当前导航菜单高亮显示
- 数人云CTO解读Docker 1.12和金融业容器化
- ORACLE日期时间函数大全
- axis2:用ant脚本生成webservice client 端的java/c代码
- 一般网站注册密码生成器
- IOS去除文件后缀名
- activiti当前流程高亮显示
- HDOJ-----1285拓扑排序
- JavaWeb 项目调试心得
- webstorm调试node(express 框架)
- day08Python中的类成员
- mongoDB查询
- redis如何后台启动
- 剩余类和完全剩余系(简单理解)
- POJ1273