流程执行时,有时候需要看一下当前的工作卡在哪一步了,对于熟悉流程的人员来说,看到节点的名字即可。对于不熟悉的人员来讲,就需要把整个流程图显示出来,把当前的工作点标注出来。
在生成工作流程xml文件的时候,已经生成了一个工作流程的png流程图,只需要在这个png上把当前活跃的节点表示出来即可。
网上的一种做法很简单,就是在这个png上再加一个div层,把执行的活跃节点框起来就可以了。
首先:
1. 获取当前的流程图显示
2. 获取当前的活跃节点
3. 生成相关的Div层
详细代码:
1. 获取当前的流程图:
由于流程图是放在load字段中的(发布的时候,需要把流程图和xml文件打包成zip文件一起发布,否则后面是找不到这个png文件的),通过RepositoryService获取到流程图:
InputStream is = repositoryService.getResourceAsStream(deployId, pngFileName);
//这个inputstream中的内容就是图片,直接输出到页面中
byte[] pic = new byte[1024];
int len = -1;
while( (len=is.read(b,1024) )!=-1 ){
response.getOutputStream().write(pic, 0, len );
}
以上的工作可以放在一个单独的页面中完成,作用就是输出图片。
2. 获取当前活跃的节点:
// 通过processId,获取到processInstance
ProcessInstance pi = executionService.findProcessInstanceById(id);
// 获取所有活跃的节点:
Set<String> activitySet = pi.findActiveActivityName();
3. 在页面上输出:
首先输出完成的png图片,随后在每个活跃的节点上画一个框:
输出png图片:
<img src="第一步完成的页面地址?参数" style="position:absolute;left:0px;top:0px;">
// 注意这里面style,要和后面画框的div匹配,否则对不起来了
画框:
//刚才已经获取了所有的活跃节点
<%
for( String activityName : activitySet ) {
ActivityCoordinates ac = repositoryService.getActivitycoordinates(
pi.getProcessDefinitionId(); activityName );
%>
// 每个活跃节点上,画一个框
<div style="position:absolute; border; 1px solid red; left:<%=ac.getX()%>; top:<%=ac.getY()%>;width:<%=ac.getWidth()%>;height:<%=ac.getHeight%>;" />
<% } %>
分享到:
相关推荐
jbpm4.4整合s2sh 请假流程例子
jbpm4.4 jar 包下载jbpm4.4 jar 包下载jbpm4.4 jar 包下载jbpm4.4 jar 包下载
【】(01)jbpm4.4简介【】(02)JBPM4.4开发环境搭建【】(03)jbpm4.4环境搭建续【】(04)jbpm4.4配置文件和开发前准备【】(05)jbpm4.4部署流程发起流程实例【】(06)jbpm4.4完成任务查看任务当前节点【】(07)jbpm4.4 资源...
JBPM5工作流引擎 S2SH+JBPM4.4开发工作流的一个完整的请假流程例子。带有文档教程和所有源码+JAR包。在网上找了半天jbpm6\jbpm7的资料,都很少。所以 环境:Myeclipse2015 JDK1.7 mysql 5.0 Struts2+Spring3.1 1...
jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd
jbpm4.4下载地址
利用JBPM4.4编写的完整请假流程,涉及申请人填写,经理审批以及决策节点后的老板审批,加入SSH2与JBPM4.4的jar包过后部署好就可以用,只用修改applicationContext.xml中的数据库相关信息即可!
jBPM4.4开发指南 开发手册 JBPM4.4 开发
jBPM4.4入门开发实例
jBPM4.4课程文档
jbpm4.4开发指南,jbpm4.4用户指南
jbpm4.4流程图
从jBPM 3升级到jBPM 4 1.7. 报告问题 2. 安装配置 2.1. 发布 2.2. 必须安装的软件 2.3. 快速上手 2.4. 安装脚本 2.5. 依赖库和配置文件 2.6. JBoss 2.7. Tomcat 2.8. Signavio基于web的流程编辑器 2.9....
首先感谢原创,相关信息请查询原创。... 看到好多朋友找不到相应的jar包,致使jbpm4.4的学习遇到困难,现提供除jbpm4.4自身jar包外的所有包,以便大家更快的学习jbpm4.4,希望能帮朋友们少走弯路!
JBPM4.4之HelloWorld示例
JBPM4.4与SSH2之整合(附完整源码) 这些天,想着把jbpm4.4与ssh2整合一下,由于之前从来没用过jbpm,也不知道各版本之间会有什么差异(经过网上的收集对比,还真有些差异),整合起来,还真是有些步履艰难。收集了...
jbpm4.4写的流程引擎例子,互相学习交流,直接导入eclipse中就可以了。这个是个web工程,需要web容器,我用的是tomcat6.
jbpm4.4 流程运转+驳回+分配组任务+ssh2
JBPM4.4学习文档.ppt
jbpm4.4+ssh配置