`
dylai
  • 浏览: 9321 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jBPM4.4:如何图示化显示当前的流程执行到了哪一步骤

阅读更多
流程执行时,有时候需要看一下当前的工作卡在哪一步了,对于熟悉流程的人员来说,看到节点的名字即可。对于不熟悉的人员来讲,就需要把整个流程图显示出来,把当前的工作点标注出来。



在生成工作流程xml文件的时候,已经生成了一个工作流程的png流程图,只需要在这个png上把当前活跃的节点表示出来即可。

网上的一种做法很简单,就是在这个png上再加一个div层,把执行的活跃节点框起来就可以了。



首先:

1. 获取当前的流程图显示

2. 获取当前的活跃节点

3. 生成相关的Div层





详细代码:

1. 获取当前的流程图:

  由于流程图是放在load字段中的(发布的时候,需要把流程图和xml文件打包成zip文件一起发布,否则后面是找不到这个png文件的),通过RepositoryService获取到流程图:



Java代码
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 );   
}  
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. 获取当前活跃的节点:



Java代码
// 通过processId,获取到processInstance   
ProcessInstance pi = executionService.findProcessInstanceById(id);   
  
// 获取所有活跃的节点:   
Set<String> activitySet = pi.findActiveActivityName();  
// 通过processId,获取到processInstance ProcessInstance pi = executionService.findProcessInstanceById(id); // 获取所有活跃的节点: Set<String> activitySet = pi.findActiveActivityName();
 


3. 在页面上输出:

首先输出完成的png图片,随后在每个活跃的节点上画一个框:

输出png图片:



Html代码
<img src="第一步完成的页面地址?参数" style="position:absolute;left:0px;top:0px;">  
  
// 注意这里面style,要和后面画框的div匹配,否则对不起来了  
<img src="第一步完成的页面地址?参数" style="position:absolute;left:0px;top:0px;"> // 注意这里面style,要和后面画框的div匹配,否则对不起来了
 


画框:



Html代码
//刚才已经获取了所有的活跃节点   
<%   
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%>;"   />  
  
<% } %>  
//刚才已经获取了所有的活跃节点 <% 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.rar_jbpm4.4_jbpm4.4 PDF

    3. **流程执行**:jBPM4.4提供了一个流程引擎,用于解析流程定义并执行流程实例。引擎支持流程的启动、挂起、恢复、终止等操作,并能处理并发和分支逻辑。 4. **任务管理**:jBPM中的任务服务允许用户交互地处理...

    jBPM4.4开发实例

    通过这个入门实例,开发者可以学习到如何使用jBPM4.4进行流程设计、部署和执行的基本操作,并逐步掌握其在实际项目中的应用。在实践中不断探索和深入,才能更好地利用jBPM4.4实现业务流程自动化,提高工作效率。

    jbpm4.4下载地址

    1. **流程定义语言**:jBPM 4.4支持多种流程定义语言,包括BPMN2.0(Business Process Model and Notation),这是一种标准化的图形表示法,用于描述业务流程。此外,它还支持JPDL(jBPM Process Definition ...

    jbpm4.4文档+学习资料

    jbpm4.4是JBoss企业级业务流程管理(Business Process Management)平台的一个重要版本,它为开发者提供了全面的工作流和业务流程管理解决方案。本文将深入解析jbpm4.4的相关知识点,帮助那些寻找优质学习资源的朋友...

    jbpm4.4+s2sh请假流程例子

    【jbpm4.4+s2sh请假流程例子】是一个典型的结合了jbpm4.4工作流引擎和Struts2、Spring、Hibernate(S2SH)框架的实战项目,旨在演示如何在企业级应用中实现一个完整的请假流程。在这个例子中,jbpm4.4作为流程管理的...

    JBPM4.4完整可用审批流程

    JBPM4.4是JBoss Business Process Management (BPM)平台的一个版本,它是一个开源的企业级BPM解决方案,用于设计、执行和管理业务流程。在这个完整的审批流程工程中,我们看到它采用Maven进行项目构建和依赖管理,...

    jbpm4.4 流程运转+驳回+分配组任务+ssh2

    - **流程定义与建模**:jbpm4.4使用BPMN(Business Process Modeling Notation)进行流程建模,这是一种标准化的语言,允许用户以图形化方式设计和理解复杂的业务流程。 - **流程实例**:一旦流程定义完成,可以...

    jBPM 4.4用户手册 中文PDF

    **jBPM 4.4** 是一个开源的工作流程管理系统,由Red Hat公司开发并维护,主要用于业务流程管理(BPM)和工作流自动化。该系统提供了强大的流程建模、执行和监控功能,支持Java平台,并与Java EE和Spring框架高度集成...

    jbpm4.4中文开发指南

    1. **流程建模**: jbpm4.4使用BPMN(Business Process Model and Notation)2.0标准进行流程建模,这是一种图形化的方式,使得业务人员和开发者可以直观地理解并创建流程。BPMN符号包括活动、事件、网关、数据对象等...

    jbpm4.4 在线设计流程图 ext + raphael

    jbpm4.4是一款强大的业务流程管理(BPM)框架,它允许开发者设计、执行和管理复杂的业务流程。在线设计流程图功能使得流程设计更为直观和便捷,无需离开Web环境即可完成。本教程将深入探讨jbpm4.4的在线设计流程图...

    JBPM4.4流程管理Demo(附学习资料)

    在JBPM4.4Demo中,这些步骤被转化为可执行的工作流任务,通过定义流程图和配置业务规则,实现自动化流转。 4. **UserController.java** - 提到的`UserController.java`是项目中的关键组件,它包含初始化流程所需的...

    JBPM4.4资料的其他补充

    1. **流程建模**:JBPM4.4支持BPMN(Business Process Modeling Notation)2.0标准,这是一种图形化语言,使得业务流程的建模更为直观和易于理解。用户可以通过Eclipse插件或直接编写XML文件来创建流程定义。 2. **...

    jbpm4.4表字段说明

    JBPM4.4是JBoss Business Process Management (BPM)平台的一个特定版本,它提供了用于设计、执行和管理业务流程的工具和框架。在JBPM4.4中,数据库是存储流程实例、流程定义以及相关元数据的关键部分。以下是关于...

    jbpm4.4开发用户指南

    jBPM 4.4是Java Business Process Management(业务流程管理)的一个版本,它是一个开源的工作流管理系统,用于实现业务流程自动化。这个压缩包包含了两个关键文档:《jBPM 4.4 开发指南》和《jBPM 4.4 用户指南》,...

    jbpm4.4 简单请假流程

    jbpm4.4是JBoss企业级业务流程管理(Business Process Management)套件的一个版本,它提供了一整套工具和服务,用于设计、部署和执行业务流程。在这个“简单请假流程”中,我们可以深入理解jbpm4.4如何帮助开发者...

    jbpm4.4入门编程小例子

    - **流程定义语言 (BPMN 2.0)**:jbpm4.4支持Business Process Modeling Notation 2.0,这是一种标准的流程建模语言,提供了图形化的方式来描述业务流程。 - **流程引擎**:执行流程实例的中心组件,负责解析流程...

    jBPM4.4 详解 API 中文

    ### jBPM4.4 API 详解:工作流自动化的核心技术 ...以上步骤不仅为jBPM4.4的开发环境搭建提供了详实的指南,同时也深入解析了工作流自动化的基本原理与jBPM4.4的工作机制,为IT从业者及开发者提供了宝贵的参考资料。

    jbpm4.4用户手册中文版

    3. **jbpm架构**:jbpm4.4由多个组件构成,如流程引擎、规则引擎(Drools)、持久化层(JPA或Hibernate)和工作记忆等。理解这些组件的功能和交互方式是掌握jbpm的关键。 4. **部署与执行**:手册将指导用户如何...

    jbpm4.4+tomcat6+eclipse jee

    2. **工作流引擎**:jbpm4.4包含一个强大的工作流引擎,能够执行流程实例,处理任务分配,以及根据流程定义自动执行流程步骤。引擎支持动态流程更改,使得在运行时调整流程成为可能。 3. **持久化**:jbpm4.4使用...

Global site tag (gtag.js) - Google Analytics