- 浏览: 432875 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
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 28500Activiti 工作流会签开 ... -
基于开源流程引擎Activiti5的工作流开发平台
2012-05-17 11:28 7233http://www.redxun.cn:8 ... -
Jbpm4或Activiti5的流程任务分发与汇总
2012-03-20 18:28 6283应用场景:在企业或事业单位,经常需要把一个任务分派给多条线去 ... -
关于Activiti或JBPM流程的回退的讨论之一
2011-12-30 12:08 8896需求: ... -
Activiti 5 在线流程设计器开发
2011-11-30 08:56 23779jbpm4的开发成员to ... -
基于标签方式的工作流启动及任务执行开发说明
2011-09-25 21:21 2309基于现在的系统的整 ... -
JOffice2 发布了开源的开发者体验版本啦!
2011-08-09 23:42 7303JOffice的爱好者有福音了,经公司决定,现在发布 ... -
关于JOffice的业务表单与流程的整合问题
2011-07-26 23:55 3323关于 JOffice 的业务表 ... -
JBPM4的子流程与父流程的设计及开发
2011-07-14 11:23 5670【JBPM4的子流程 ... -
Jbpm4中的会签设计及实现
2011-05-05 15:20 7678会签任务是工作流里一个比较觉见的任务方式,意思是一 ... -
jbpm4.4在线设计分支跳转
2011-05-02 14:30 4399我们知道jbpm4.4提供了三种比较方便的分支跳转方式 ... -
J.Office 2 JBPM4.4 工作流增强版特性
2011-04-27 16:00 37342.0主要在工作流方面提供了很强的改进,jbpm升级至jbpm ... -
JOffice2的在线表单设计示例(JBPM4.4)
2011-03-16 13:52 6003JOffice2目前升级至jbpm ... -
JOffice2中的JBPM4的任务回退实现
2010-12-07 15:27 3592任务回退的工作可以有两种实现方式: 1. 完成当前 ... -
利用JBPM4.4的AssignmentHandler实现用户角色整合另一种构思
2010-11-26 17:05 6251Jbpm4提供的IdentitySession ... -
分享宏天免费的JBPM4流程设计器(Applet)
2010-07-07 11:56 312JBPM4一直没有一个很好的在线流程设计器,基于这种方式,跟大 ... -
JOffice中的自定义发文流程与运行模板设计
2010-07-05 22:59 3221开发与设计公文流程在所有的政府oa项目上都少不了此需求,而能灵 ... -
JBPM4中的任务回退、补签、自由流程实现
2010-04-22 16:12 10455最近在实施政府办公项 ... -
OA JBPM中的公文(发文、收文)流程
2010-03-25 00:10 11461公文管理主要包括两大模块,其一是发文管理,其二是收文管理,非常 ... -
JBPM在线流程设计器的分析与实现部分构想
2010-03-10 13:54 7391在发表文章之前,先 ...
相关推荐
在JOffice2中,JBPM4是一个强大的工作流引擎,用于管理和执行业务流程。本文将深入探讨如何在JOffice2中实现JBPM4任务的回退功能,这在处理复杂流程时尤其重要,允许用户纠正错误或根据需要调整流程方向。 任务回退...
- **发布/编辑/在线设计流程**:管理流程的发布状态、编辑内容或在线设计。 - **查看定制流程**:查看已定制的业务流程。 - **自定义流程表单设计**:根据需求自定义表单界面。 - **人员设置** - **流程处理...
这个JOffice V1.2 beta版,也就是官方说开源的版本之一。 说实话,这个公司很讨厌,打着开源的幌子来宣传自己的产品,里面的 东西根本没有开源,还很恶心的包留了一部分代码,htcore.jar。 对于这样的开源,我表示...
关于 JOffice1.3使用手册,方便快捷,大家来下载
// Chat.cpp : 定义应用程序的类行为。 // #include "stdafx.h" #include "Chat.h" #include "ChatDlg.h" #ifdef _DEBUG #define new DEBUG_NEW ... m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_...
- **JBPM**:流程管理引擎,其SVN地址为`http://jbpmside.googlecode.com/svn/trunk`。 - **JOffice**:一个用于读写Microsoft Office文件格式的Java库,SVN地址为`http://joffice.googlecode.com/svn/trunk`。 - **...
office文档转pdf后,再转swf,最终显示需要的一些工具及jar包,包括一个office转pdf转swf的java文件。因目前可上传的文件大小限制,OpenOffice安装文件未上传,工具目前最新版本为3.4.1,请另行下载
在JOffice中,权限管理采用了基于角色的管理策略,这使得系统能够高效地实现对用户访问权限的控制。这种策略与Spring Security 2框架相结合,允许开发者通过配置文件对整个系统的权限进行集中管理。Spring Security...
首先,J.Office1.3.1是基于Java的一个办公软件,可能包含了处理文档、表格和演示文稿的功能。其1.3.1版本是一个修复版,优化了JavaScript性能并更新了ExtJS库,这表明它可能依赖于前端技术来提供用户界面。 安装...
虽然题目主要关注的是如何使用Java命令创建JAR文件,但提到了一个额外的SQL命令:`mysql->source F:/joffice131.sql`。这个命令用于MySQL数据库,它的作用是从指定的SQL脚本文件(这里是`F:/joffice131.sql`)读取并...
SSH开发的办公自动化系统OA是一种基于Struts、Spring和Hibernate技术框架构建的企业级应用,它旨在提高工作效率,简化日常办公流程。SSH(Struts、Spring、Hibernate)是Java Web开发中常用的三大开源框架,它们各自...
JOffVis 一个基于 Java Swing 的工具,用于可视化 BIFF 文件,即 XLS、DOC 和 PPT。 当前版本仅支持可视化 xls 文件。先决条件:1) Java SDK 72) Maven 3要编译应用程序,请运行以下命令mvn 干净编译要启动应用程序...
11. **上传至JOffice系统**: 完成设计后,将.jasper文件上传至报表管理系统,设定参数以便在系统中运行。 12. **参数设置和数据初始值**: 在报表参数设置中,指定参数的默认值或允许用户输入。这样,报表在运行时...
ExtJS是一款基于JavaScript的富客户端框架,它用于构建复杂的、交互性强的Web应用程序。它提供了一套完整的组件库,包括表格、面板、窗口、表单等,使得开发者可以快速创建出类似于桌面应用的用户界面。在163邮箱的...
JoPro是一个生产力和办公套件,将文字处理器,电子表格设计器,演示设计器和svg查看器集成到一个应用程序中! 基于Netbeans平台。 图像和代码由Anthony Goubard设计。 最初称为Joffice。
在Joffice的实例中,ScriptMgr.load方法被用来异步加载所需的JS模块。当用户首次访问某个功能时,相关的JS文件会被加载并缓存起来。随后,如果用户再次访问同样的功能,则不会再重新加载这些JS文件,因为它们已经在...