`
man1900
  • 浏览: 429393 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JOffice 1.2.3 流程发布过程 --基于Jbpm4.0的购车请款流程

    博客分类:
  • JBPM
阅读更多

最近很多同行问到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&lt;2000}"/>
      </transition>
      <transition g="-28,-16" name="金额大于2000" to="总经理审批">
      	<condition expr="#{reqAmount&gt;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&lt;2000}"/>
      </transition>
      <transition g="-28,-16" name="金额大于2000" to="总经理审批">
          <condition expr="#{reqAmount&gt;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工具中进行定义,后面的版本会提供一个在线的可视化设计的界面,同时也提供表单的在线设计。目前还是需要开发人员手工加入流程。

  • 大小: 74.9 KB
  • 大小: 133.5 KB
  • 大小: 81.5 KB
  • 大小: 97.3 KB
  • 大小: 78.9 KB
  • 大小: 107.2 KB
  • 大小: 35.4 KB
  • 大小: 69.3 KB
  • 大小: 11 KB
  • 大小: 114 KB
  • 大小: 49.5 KB
  • 大小: 132.6 KB
  • 大小: 56.4 KB
  • 大小: 124.6 KB
  • 大小: 118.5 KB
分享到:
评论
3 楼 joyofsky 2009-12-29  
真是不错,学习了!
2 楼 man1900 2009-12-17  
这个编译使用很简单,不需要什么ant或maven,直接把相应的源代码包及web包设置正确的开发路径则可,也可以直接把web目录当做一个应用程序发布则可。
1 楼 yswift 2009-12-10  
请楼主写篇文章介绍JOffice怎么用,我在下载到的源码包里找不到,ant,meavn相关的文件,如何编译运行?数据库怎么配置,等等。

相关推荐

    JOffice2中的JBPM4的任务回退实现

    JOffice2中的JBPM4的任务回退实现

    JOffice V1.2 beta

    这个JOffice V1.2 beta版,也就是官方说开源的版本之一。 说实话,这个公司很讨厌,打着开源的幌子来宣传自己的产品,里面的 东西根本没有开源,还很恶心的包留了一部分代码,htcore.jar。 对于这样的开源,我表示...

    JOffice1.3使用手册.

    关于 JOffice1.3使用手册,方便快捷,大家来下载

    Joffice2.1操作手册

    它以基于流行的JEE开源技术整合,以JBPM4.4流程引擎为基础,采用了WebService、XML、J2EE、Spring组件的灵活配置,并且与Microsoft Office实现了有机整合。完善了用户管理和安全的权限管理,支持POP3/POP3,SMTP/...

    joffice技术框架介绍

    joffice技术框架介绍。

    joffice文档

    // Chat.cpp : 定义应用程序的类行为。 // #include "stdafx.h" #include "Chat.h" #include "ChatDlg.h" #ifdef _DEBUG #define new DEBUG_NEW ... m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_...

    joffice文档转pdf再转swf

    office文档转pdf后,再转swf,最终显示需要的一些工具及jar包,包括一个office转pdf转swf的java文件。因目前可上传的文件大小限制,OpenOffice安装文件未上传,工具目前最新版本为3.4.1,请另行下载

    权限实现实例(Ext+java)

    JOffice中的权限管理是基于角色的管理策略,采用Spring Security2的配置方式,同时能够结合EXT3来进行整个系统的权限管理,通过使用配置文件,进行整个系统的功能集中管理,包括系统左边的导航菜单,数据列表中的...

    JOffVis:基于 Swing(Java)的工具,用于可视化 BIFF(二进制交换文件格式)文件

    JOffVis 一个基于 Java Swing 的工具,用于可视化 BIFF 文件,即 XLS、DOC 和 PPT。 当前版本仅支持可视化 xls 文件。先决条件:1) Java SDK 72) Maven 3要编译应用程序,请运行以下命令mvn 干净编译要启动应用程序...

    java打jar包方法

    用cmd命令打jar包 目标——将D:\myfile目录下的所有文件及文件夹打包到license.jar包中 步骤——1.用cd命令跳转至D:\myfile目录下 2.输入命令jar cvf license.jar *.* mysql-&gt;source F:/joffice131.sql

    JoPro:一个应用程序中的生产力和Office套件。-开源

    JoPro是一个生产力和办公套件,将文字处理器,电子表格设计器,演示设计器和svg查看器集成到一个应用程序中! 基于Netbeans平台。 图像和代码由Anthony Goubard设计。 最初称为Joffice。

Global site tag (gtag.js) - Google Analytics