- 浏览: 429393 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
man1900:
想部署及学习了解,可参考本人新的博客获得下载源代码。http: ...
JOffice 中的JBPM4在线流程设计器--初览(Applet版) -
atgoingguoat:
哎。假的。
JOffice 中的JBPM4在线流程设计器--初览(Applet版) -
电竞杀神张无忌:
这是主流程调用子流程报的错大神指导原因吗? ...
JBPM4的子流程与父流程的设计及开发 -
贝塔ZQ:
pageoffice也是office在线编辑的吧,J.Offi ...
J.Office另一种在线Office编辑器整合 -
Mybonnie1:
你好,想问下,串行的多实例任务能做到回退么
Activiti 多个并发子流程的应用
最近很多同行问到JOffice如何扩展自己的流程,鉴于此,本人以下公司用一个购车请款的流程为例,说明JOffice中的流程发布。
一、 用Jbpm Eclipse plugin 定义好需要发布的流程,如下所示:
其定义的XML文件如下所示:
<?xml version="1.0" encoding="GBK"?> <process key="buyCarFlow" name="购车流程" xmlns="http://jbpm.org/4.0/jpdl"> <start g="196,22,48,48" name="开始"> <transition g="-143,-11" name="to 输入购车预算金额" to="输入购车预算金额"/> </start> <task g="153,104,133,52" name="输入购车预算金额"> <transition g="-92,-11" name="to 金额条件判断" to="金额条件判断"/> </task> <decision g="197,184,48,48" name="金额条件判断"> <transition g="-83,-17" name="金额小于2000" to="副经理审批"> <condition expr="#{reqAmount<2000}"/> </transition> <transition g="-28,-16" name="金额大于2000" to="总经理审批"> <condition expr="#{reqAmount>2000}"/> </transition> </decision> <task g="10,271,98,52" name="副经理审批"> <transition g="-47,-17" name="to 取消" to="取消"/> <transition g="-71,-17" name="to 财务审批" to="财务审批"/> </task> <task g="379,264,92,52" name="总经理审批"> <transition g="-47,-17" name="to 取消" to="取消"/> <transition g="-71,-17" name="to 财务审批" to="财务审批"/> </task> <task g="172,365,92,52" name="财务审批"> <transition g="-47,-17" name="to 取消" to="取消"/> <transition g="-47,-17" name="to 结束" to="结束"/> </task> <end-cancel g="195,272,48,48" name="取消"/> <end g="197,460,48,48" name="结束"/> </process>
说明:
1.注意以下这部分的定义
<transition g="-83,-17" name="金额小于2000" to="副经理审批">
<condition expr="#{reqAmount<2000}"/>
</transition>
<transition g="-28,-16" name="金额大于2000" to="总经理审批">
<condition expr="#{reqAmount>2000}"/>
</transition>
其使用了表达式来进行条件的跳转, reqAmount代表为流程表单中提交的数据字段名称,在后面我们会在表单中使用该字段名称。
二、 在JOffice中发布该流程
点击流程管理菜单中的流程管理,点击左流程左分类其中一项,再点“发布流程”按钮,如下所示:
把以上XML文件拷至该对话框。并且填写好流程名称为“购车请款”,注意,流程名称写好后,最好不要更改,否则后面的流程表单的路径也需要更改。再点击“保存”按钮,则成功发布了一个流程定义。
三、 分配各流程中的各任务节点的处理人员或角色
在流程管理列表中,点击“购车请款”流程行中的“ ”按钮,进入流程任务人员的设置界面,如下图所示:
双击“人员设置”面板中的用户列下的表格,会相应弹出该任务的人员选择对话框,如下图所示:
双击“人员设置”面板中的角色列,选择相应的角色:
说明:
在该设置中,人员的选择可以为发起人,即该任务会自动转给流程发起人来处理,另外还可以设置“上级”,即流程会流转至我的上级,若我的上级有多个人,即可以由其中一个锁定任务来执行。任务在执行过程中还可以转移由其他人来执行,如某人出差了,可以转至其他人来执行。
四、 定义好各任务的表单及表单字段映射
进入程序的WEB-INF/FlowForm/目录,为该流程定义好表单及表单的字段映射,
以流程的名称建立一个目录,如“购车请款”,如图所示。
并且以各个任务的名称定义表单,
如流程开始前填写的表单统一命名为“开始.vm”,其映射的字段文件为“开始-fields.xml”,若没有为开始或其他任务定义这两个对应的文件,其会默认使用“通用”目录下的表单及映射文件。
在请款流程里,我们需要在“输入购车预算金额”任务里填写请款内容,所以我们在“购车请款”目录下建立了“输入购车预算金额.vm”文件及“输入购车预算金额-fields.xml”
以下为两个文件的对应代码:
[输入购车预算金额.vm]
[ { fieldLabel:'预购车日期', xtype:'datefield', allowBlank:false, name:'reserveDate', format:'Y-m-d', value:'$dateTool.format("yyyy-MM-dd",$reserveDate)' }, { fieldLabel:'预算金额(RBM)', xtype:'numberfield', allowBlank:false, name:'reqAmount', value:'${reqAmount}' }, { fieldLabel:'购车描述', xtype:'fckeditor', height:300, name:'desc', value:'${desc}' } ]
[输入购车预算金额-fields.xml]
<?xml version="1.0" encoding="UTF-8"?> <fields> <field name="reserveDate" label="预购车日期" type="datetime"/> <field name="reqAmount" label="预算金额(RBM)" type="decimal"/> <field name="desc" label="描述" type="text"/> </fields>
用同样的方法,为其他流程配置其他任务对应的文件。
说明:以上过程在后面的版本直接通过程序界面来完成流程任务的表单配置,请看下一个版。
五、 启动流程
配置好以上的东西后,在流程管理中,点击“管理”列中最后一个按钮”新建流程“,即进入流程启动。如下图所示:
接着在“流程管理”目录下“我的待办事项”,可以看到刚才提交的购车请款事项:
点击管理列中的“ ”按钮,进入填写预算金额的任务表单,如下所示:
点击“转至:金额条件判断”,则流程进入下一个任务,如下所示:
进入我的申请流程中,可以看到该任务已经提交并转至“总经理审批”环节,(由于输入的金额>2000,所以流程会自动转至“总经理审批”)如下所示:
现在以李海2 用户登录,进入我的待办事项,如下所示:
提交至“账务审批”,即完成此次审批。
其他执行方式也相同,在此不介绍,往下执行的效果如下所示:
说明:
以上流程的定义目前还需要在eclipse工具中进行定义,后面的版本会提供一个在线的可视化设计的界面,同时也提供表单的在线设计。目前还是需要开发人员手工加入流程。
评论
发表评论
-
Activiti 工作流会签开发设计思路
2012-07-26 12:12 28371Activiti 工作流会签开 ... -
基于开源流程引擎Activiti5的工作流开发平台
2012-05-17 11:28 7179http://www.redxun.cn:8 ... -
Jbpm4或Activiti5的流程任务分发与汇总
2012-03-20 18:28 6210应用场景:在企业或事业单位,经常需要把一个任务分派给多条线去 ... -
关于Activiti或JBPM流程的回退的讨论之一
2011-12-30 12:08 8846需求: ... -
Activiti 5 在线流程设计器开发
2011-11-30 08:56 23700jbpm4的开发成员to ... -
基于标签方式的工作流启动及任务执行开发说明
2011-09-25 21:21 2270基于现在的系统的整 ... -
JOffice2 发布了开源的开发者体验版本啦!
2011-08-09 23:42 7265JOffice的爱好者有福音了,经公司决定,现在发布 ... -
关于JOffice的业务表单与流程的整合问题
2011-07-26 23:55 3274关于 JOffice 的业务表 ... -
JBPM4的子流程与父流程的设计及开发
2011-07-14 11:23 5617【JBPM4的子流程 ... -
Jbpm4中的会签设计及实现
2011-05-05 15:20 7624会签任务是工作流里一个比较觉见的任务方式,意思是一 ... -
jbpm4.4在线设计分支跳转
2011-05-02 14:30 4359我们知道jbpm4.4提供了三种比较方便的分支跳转方式 ... -
J.Office 2 JBPM4.4 工作流增强版特性
2011-04-27 16:00 36372.0主要在工作流方面提供了很强的改进,jbpm升级至jbpm ... -
JOffice2的在线表单设计示例(JBPM4.4)
2011-03-16 13:52 5954JOffice2目前升级至jbpm ... -
JOffice2中的JBPM4的任务回退实现
2010-12-07 15:27 3529任务回退的工作可以有两种实现方式: 1. 完成当前 ... -
利用JBPM4.4的AssignmentHandler实现用户角色整合另一种构思
2010-11-26 17:05 6173Jbpm4提供的IdentitySession ... -
分享宏天免费的JBPM4流程设计器(Applet)
2010-07-07 11:56 312JBPM4一直没有一个很好的在线流程设计器,基于这种方式,跟大 ... -
JOffice中的自定义发文流程与运行模板设计
2010-07-05 22:59 3142开发与设计公文流程在所有的政府oa项目上都少不了此需求,而能灵 ... -
JBPM4中的任务回退、补签、自由流程实现
2010-04-22 16:12 10400最近在实施政府办公项 ... -
OA JBPM中的公文(发文、收文)流程
2010-03-25 00:10 11408公文管理主要包括两大模块,其一是发文管理,其二是收文管理,非常 ... -
JBPM在线流程设计器的分析与实现部分构想
2010-03-10 13:54 7316在发表文章之前,先 ...
相关推荐
JOffice2中的JBPM4的任务回退实现
这个JOffice V1.2 beta版,也就是官方说开源的版本之一。 说实话,这个公司很讨厌,打着开源的幌子来宣传自己的产品,里面的 东西根本没有开源,还很恶心的包留了一部分代码,htcore.jar。 对于这样的开源,我表示...
关于 JOffice1.3使用手册,方便快捷,大家来下载
它以基于流行的JEE开源技术整合,以JBPM4.4流程引擎为基础,采用了WebService、XML、J2EE、Spring组件的灵活配置,并且与Microsoft Office实现了有机整合。完善了用户管理和安全的权限管理,支持POP3/POP3,SMTP/...
joffice技术框架介绍。
// Chat.cpp : 定义应用程序的类行为。 // #include "stdafx.h" #include "Chat.h" #include "ChatDlg.h" #ifdef _DEBUG #define new DEBUG_NEW ... m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_...
office文档转pdf后,再转swf,最终显示需要的一些工具及jar包,包括一个office转pdf转swf的java文件。因目前可上传的文件大小限制,OpenOffice安装文件未上传,工具目前最新版本为3.4.1,请另行下载
JOffice中的权限管理是基于角色的管理策略,采用Spring Security2的配置方式,同时能够结合EXT3来进行整个系统的权限管理,通过使用配置文件,进行整个系统的功能集中管理,包括系统左边的导航菜单,数据列表中的...
JOffVis 一个基于 Java Swing 的工具,用于可视化 BIFF 文件,即 XLS、DOC 和 PPT。 当前版本仅支持可视化 xls 文件。先决条件:1) Java SDK 72) Maven 3要编译应用程序,请运行以下命令mvn 干净编译要启动应用程序...
用cmd命令打jar包 目标——将D:\myfile目录下的所有文件及文件夹打包到license.jar包中 步骤——1.用cd命令跳转至D:\myfile目录下 2.输入命令jar cvf license.jar *.* mysql->source F:/joffice131.sql
JoPro是一个生产力和办公套件,将文字处理器,电子表格设计器,演示设计器和svg查看器集成到一个应用程序中! 基于Netbeans平台。 图像和代码由Anthony Goubard设计。 最初称为Joffice。