emoss流程引擎开发指引_第1页
emoss流程引擎开发指引_第2页
emoss流程引擎开发指引_第3页
emoss流程引擎开发指引_第4页
emoss流程引擎开发指引_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、EMOSS2流程引擎开发指南中博信息技术研究院有限公司版本历史版本 号更改描述更改日期修订人是否基线 版本(Y/N)评审记录 #评审通过日期V1.0建立文档2012-7-30余志淼Y目录1. 概述1.1. 流程引擎说明EMOSS流2 程引擎是 EMOSS开2 发平台的一部分,主要完成流 程发起,审批,监控等功能,是较轻量级的流程引擎,但完全可 以满足企业的业务流程需求。流程引擎目前支持的数据库有: oracle 、 mysql、 sybase。主要的组成部分有:1, 组织架构视图: 流程引擎需要基于组织架构才能实现审批人的选择、工作项的生成、流转条件的判断等。2, 流程数据表:用于保存流程图、

2、流程实例、工作项等流 程相关的数据。3, 流程设计工具: 用于设计流程图, 分配不同的版本给不 同的公司。 JDK要求必须是 1.6 及以上。4, 流程编程接口:提供流程的发起、审批、参与者计算等 接口给外部程序调用。主要是 jar 包形式, JDK的版 本必须是 1.5 及以上。1.2. 流程引擎架构外部Jsp 、java流程编程接口流程设计工组织架构视图流程数据表 : 流流程数据表 : 流2. 开发前准备2.1. 建立组织架构视图根据字段列表建立各个视图。 字段列表只列出必要字段, 也可以根据需要扩展其他字段。2.1.1. 公司( CORE_COMPANY )字段字段名称类型说明COMPA

3、NY ID公司 IDNUMBER(16)公司的唯一标识COMPANY CID公司变更序号NUMBER(16)固定值: 1COMPANY_CODE公司编码VARCHAR2(50)P_COMPANY_ID上级公司 IDNUMBER(16)COMPANY_NAME公司名称VARCHAR2(200)SORT ID排序号NUMBER(16)可空IS LAST是否最新记录NUMBER(1)固定值: 1STATE是否有效NUMBER(1)固定值: 12.1.2. 部门( CORE_DEPARTMENT )字段字段名称类型说明DEP ID部门 IDNUMBER(16)部门的唯一标识DEP CID部门变更序号N

4、UMBER(16)固定值: 1COMPANY ID所属公司 IDNUMBER(16)关联到 CORE COMPACOMPANY CID所属公司变更序号NUMBER(16)固定值: 1DEP_CODE部门编码VARCHAR2(50)P_DEP_ID上级部门 IDNUMBER(16)DEP_NAME部门名称VARCHAR2(200)SORT ID排序号NUMBER(16)可空IS LAST是否最新记录NUMBER(1)固定值: 1STATE是否有效NUMBER(1)固定值: 12.1.3. 员工( CORE_EMPLOYEE )字段字段名称类型说明EMP ID员工 IDNUMBER(16)员工的唯

5、一标识EMP CID员工变更序号NUMBER(16)固定值: 1DEP_ID所属部门 IDNUMBER(16)关联到CORE DEPARTMENTDEP CID所属部门变更序号NUMBER(16)固定值: 1COMPANY ID所属公司 IDNUMBER(16)关联到 CORE COMPACOMPANY CID所属公司变更序号NUMBER(16)固定值: 1EMP_CODE员工编码VARCHAR2(50)EMP_NAME姓名VARCHAR2(50)SORT ID排序号NUMBER(16)可空IS LAST是否最新记录NUMBER(1)固定值: 1STATE是否有效NUMBER(1)固定值: 1

6、2.1.4. 用户( CORE_USER )字段字段名称类型说明USER ID用户 IDNUMBER(16)用户的唯一标识DEP_ID所属部门 IDNUMBER(16)关联到CORE DEPARTMENTCOMPANY ID所属公司 IDNUMBER(16)关联到 CORE COMPAEMP_ID所属员工 IDNUMBER(16)关联到CORE EMPLOYEEMAIN_ROLE_CODE主要角色编码VARCHAR2(30)该用户的主要角色(权限角色)LOGIN_ID登录账号VARCHAR2(50)该用户登录到系统的账号USER NAME用户姓名VARCHAR2(50)可以与员工姓名一致SOR

7、T ID排序号NUMBER(16)可空STATE是否有效NUMBER(1)固定值: 12.1.5. 角色( CORE_ROLE )字段字段名称类型说明ROLE CODE角色编码VARCHAR2(30)角色的唯一标识ROLE_NAME角色名称VARCHAR2(50)COMPANY_ID所属公司 IDNUMBER(16)关联到CORE COMPA。N空Y 表示全部公司可使用的 角色。ROLE TYPE角色类型CAHR(1)0:权限角色; 1:流 程角色; 2:权限流程 角色。默认为: 2。SORT ID排序号NUMBER(16)可空PARENT CODE父角色编码VARCHAR2(30)可空IS

8、LEAF是否末级CAHR(1)1 :是, 0 :否IS_INNER是否内置CAHR(1)1 :是, 0 :否。默认 为: 0。2.1.6. 用户流程角色表( CORE_USER_ROLES )字段字段名称类型说明ROLE CODE角色编码VARCHAR2(30)角色的唯一标识USER ID用户 IDNUMBER(16)用户的唯一标识2.2. 建立流程数据表根据流程数据表 .pdm建立各个流程数据表。各数据表说明如下:1) CORE_WF_CON:FI流G程配置表。 用于保存设计工具设计出来的 流程图。2) CORE_WF_INSTAN:C流E程实例表。 用于保存系统中发起的流程 实例。3) C

9、ORE_WF_INSTANCE_VARI:AB流LE程实例变量表。用于保存每个流程实例的变量4)CORE_WF_WORK:IT流EM程工作项表。 用于保存用户发起一个流程或审批完一个待办后 , 产生出的待办工作项。5) CORE_WF_WORKITEM_REL:AT工IO作N项的转移关系表。用于保存每个工作项的来源工作项6)CORE_WF_REASSIGN_RELA:T流IO程N 委托关系表。用于保存用 户委托其他用户处理自己的流程待办。7)CORE_SYSTEM_BIG_D:A系TA统专用大数据表。 用于保存流程图 的XML源代码。8)序 列 : SEQ_COMMON_BA,SE长 度 为

10、16 。 用 于 设 置 CORE_WF_INSTAN、CCEORE_SYSTEM_BIG_D等A表TA的主键值。如果 数据库不支持序列,则要创建平台的序列表 (CORE SEQUENC:E)字段字段名称类型说明SEQ序列名VARCHAR2(30)序列唯一标识,流程 引擎使用: SEQ COMMON BASEMAX ID当前值NUMBER(16)初始值为: 12.3. 安装流程设计工具2.3.1. 安装 JDK流程设计工具需要 JDK1.6或以上版本才能运行。安装完之后要指定 JAVA_HOM,E确认当前使用的 JDK是1.6 版本。2.3.2. 安装流程设计工具1),将“流程设计工具”目录拷

11、贝到一个无空格的路径中, 。2),运行“imp_run32.bat ”( 32位操作系统使用) 或“ imp_run64.bat (64位操作系统使用)。点击主界面上的“设置”按钮,设置数据库连接(流程数据表所在的 数据库),如下图所示: 点击“确认”即完成了流程设计工具的设置。2.4. 将流程编程接口加入到项目代码中将“流程编程接口”目录下的文件拷贝到项目中即可。文件目录已经 是安装 web工程的要求建立,如有特殊目录要求请自行修改。流程编 程接口需要 JDK1.5或以上版本才能运行。3. 开发指南3.1. 流程设计工具使用运行流程设计工具“ imp_run32.bat ”或“ imp_ru

12、n64.bat ”。点击菜 单“流程 -流程自定义”即可进入流程设计界面。如下图所示: 界面上部是工具条。左侧的上面一个列表是系统中已存在的流程 图,下面一个列表是每个流程图的明细版本 (每个流程图可以有多个 版本,每个版本的流程代码都相同) 。界面的右侧是流程图的设计区 域。3.1.1. 新增流程点击界面工具条的“新增”按钮,弹出“新增流程”对话框: 输入新流程代码(流程图的标识)和新流程名称,点击“确定”即可 创建一个新流程图(新创建的流程版本为 1,只有“开始”、“结束” 2 个节点)。在界面的流程列表中可以查询到刚创建的流程。3.1.2. 设计流程图选择左侧的流程图列表中的一个流程图,

13、在下面的“版本明细”列表 就会显示该流程图的所有版本。 选择需要设计的一个版本, 在右侧的 流程设计区域即可显示该版本的流程图。如图所示: 流程设计区域的上部是流程图设计的工具条。 左侧是流程图中的节点 列表以及连接(节点之间的连接线)列表。操作说明:1) 点击工具条的“开始”按钮,再点击流程图指定地方,可以在 指定地方增加一个“开始节点” 。一个流程图只能有一个“开始节 点”。2) 点击工具条的“中间”按钮,再点击流程图指定地方,可以在 指定地方增加一个“中间节点” 。连续点击流程图,可以连续增加 “中间节点”。点击右键可以返回到“选择”状态。3) 点击工具条的“结束”按钮,再点击流程图指定

14、地方,可以在 指定地方增加一个“结束节点” 。4) 点击工具条的“连接”按钮,再点击流程图指定的一个节点, 鼠标左键不放,将连线连接到另外一个节点,放开左键,即可在 两个节点中增加一个连接线。连续的操作可以连续增加连接线。 点击右键可以返回到“选择”状态。5) 点击工具条的“选择”按钮,可以使鼠标返回到“选择”状态 (可以选择节点或连接线) 。6)选中流程图中的节点或连接线 (可以使用鼠标选择一个区域中的节点或连接线),再点击工具条的“删除”按钮,可以删除选中的节点或连接线。7)点击工具条的“刷新”按钮,可以刷新当前流程图(有时候由 于画布没有重画,会导致流程图显示不全) 。8)点击工具条的“

15、查看 XML”按钮,弹出当前流程图的 XML内容窗 口:在 XML源代码窗口中文本框显示的是当前流程图的 XML内容。 可以修改 XML或拷贝其他版本流程图的 XML,然后点击“设置 XML” 按钮来改变当前流程图。设置的 XML中的流程代码值必须与当前流 程图的代码值一致,并且版本不能低于当前流程图的版本。. 流程属性设置在流程图的空白地方双击或者点击工具条的“属性”按钮,弹出当前流程图的属性设置窗口:A. 流程属性说明流程编码 :即当前流程图的代码,不可修改。版本号 :即当前流程图的版本号,不可修改。每次保存版本号 自动递增(也可以使用覆盖保存,不增加版本号) 。流程名称 :

16、当前流程的名称,每个版本的流程图名称可以不一 样。有效天数 :流程引擎只记录该属性,尚未未使用 待办 URL:显示一个流程待办工作项时,使用的页面 URL。 待办查询 URL:查询该流程的待办工作项时,使用的页面 URL。 已办 URL:显示一个流程已办流程实例时,使用的页面 URL。 已办查询 URL:查询该流程的已办流程实例时, 使用的页面 URL。 我的申请查询 URL:查询该流程的“我的申请”流程实例(登 录人发起的流程实例)时,使用的页面 URL。 已办界面数据权限 :可以是: none- 不控制权限, login- 使用 当前登录用户的权限, starter- 使用发起人的权限。该

17、属性只 在EMOSS平2台使用。流程结束方式 :可以设置有几个人(或者百分之几的人)审批 通过达到结束节点时,流程算是正式结束,剩下未审批的工作 项不再需要审批。说明:记录流程图的说明信息。B. 流程变量定义在“流程变量”选项卡,可以定义流程变量(流程发起的时候可 以设置流程变量的值,供业务操作或流程图使用) 。流程变量定义如 下图:可以在列表中直接修改已有的变量。点击“增加”按钮,可以在 变量列表中增加一个流程变量。 选择列表中的某个流程变量, 再点击 “删除”按钮,可以删除该变量。 注:datetime 类型的变量暂不支持。C. 流程数据属性在“流程数据”选项卡,可以定义流程的数据相关属性

18、。如下图 所示:1) 流程主题 SQL:是发起流程或审批待办工作项时流程引擎调用的 SQL , 用 来 更 新 流 程 实 例 表 的 主 题 字 段(CORE_WF_INSTANCE.SUB)J。ECT2) 流程金额 SQL:是发起流程或审批待办工作项时流程引擎调用的 SQL , 用 来 更 新 流 程 实 例 表 的 金 额 字 段 (CORE_WF_INSTANCE.MO)。NEY3) 流程数据表:是 EMOSS平2台使用的。在 JAVA代码中使用 DDProxy 类增删改查数据时,会自动设置 PROCESS_(ID流程实例 ID )和 AUDIT_STATU(S审批状态)字段。D. 高

19、级属性在“高级”选项卡,可以设置流程的一些高级属性。如下图所示:1) 流程结束 / 否决时发送消息的设置:可以在流程结束或被否决 时向流程相关的用户发送消息(通知某个流程已经结束 / 被否 决)。该设置在 EMOSS平2台才使用。2) 常用审批意见: 可以设置审批该流程时使用的常用审批意见有 哪些。该设置在 EMOSS平2台才使用。3) 流程业务组件:用来设置一个 JAVA类,重写父类()的某些方 法,可以将流程的状态变化与业务操作的联系起来。如:审批 通过后要做某些业务处理,可以重写父类的 afterApprove 方法 实现。流程结束后要做某些业务处理,可以重写父类的 instanceEn

20、ded 方法实现 . 等。具体的父类说明可以参见 “JAVA_DOC”S目录下的 javaDoc 。. 流程节点属性设置双击流程图中的节点或选择节点列表中的某个节点,点击工具条的 “属性”按钮,弹出选中节点的属性设置窗口:A. 属性说明节点 ID:节点在当前流程图中的唯一标识,创建节点时会自动生成。节点名称 :该节点的显示名称。X坐标 :流程节点在流程图的 X坐标值。Y坐标 :流程节点在流程图的 Y坐标值。长度 :流程节点在流程图中显示的长度。宽度:流程节点在流程图中显示的宽度。有效天数 :流程引擎只记录该属性,尚未未使用。待办 URL:显示该节点的一个流程待办工作项时, 使用的

21、页面 URL。 如果未设置,则使用流程的“待办 URL”属性。数据权限 :可以是: none-不控制权限, login- 使用当前登录用户 的权限, starter- 使用发起人的权限。该属性只在 EMOSS平2台使 用。审批方式 :可以设置有几个人 (或者百分之几的人) 审批通过(负 数表示回退,如人数设置 -1 表示有一个人退回,百分比设置 -33 表示有 33%的人退回)时,该节点算是审批通过(被退回) ,剩下 未审批的工作项不再需要审批。可以取回 :该节点的工作项审批通过后是否可以被取回。 可以自动提交 :该节点的工作项与前一节点的工作项属于同一个 人的时候,如果前一节点的工作项被审批

22、通过了,该节点的工作 项是否可以自动设置为审批通过。审批后是否提示打印 :该节点的工作项被审批通过后是否会提示 打印流程。该属性只在 EMOSS平2台使用。常用审批意见 :可以设置审批该节点的工作项时使用的常用审批 意见有哪些,审批时的常用审批意见也包含流程属性的“常用审 批意见”。该设置在 EMOSS平2台才使用。说明:记录流程节点的说明信息。B. 按钮信息在“按钮信息”选项卡,可以定义该节点的审批界面有哪些审批 按钮。如下图: “驳回”、“退回发起人”、“否决”、“废弃”按钮每个界面只能有一个, 其中“废弃”按钮只能设置在“发起节点” 。“批量审批使用的按钮” 用于指定一个审批通过的按钮,

23、 当使用批量 审批时,相当于点击该按钮。批量驳回使用的按钮” 用于指定一个驳回的按钮, 当使用批量驳回 时,相当于点击该按钮。 点击“添加”按钮,弹出添加按钮对话框: 在窗口上填写必要的信息:按钮 ID、标题、显示顺序、是否可见后点 击“确认”即可添加一个审批按钮。注:按钮 ID 在一个节点中不能重 复。双击按钮列表中的某个按钮或者点击“编辑”按钮,弹出该按钮的编 辑窗口。与添加窗口一样。点击“删除”按钮,可以删除按钮列表中选中的按钮。C. 审批用户范围设置在“审批用户范围”选项卡,可以定义该节点的审批用户有哪些。 如下图:待办人员选择方式 :指提交给该节点时,选择人员是单选还是多 选。“自动

24、全选”是指选择全部指定范围的用户, “自动选择第一 个”是指在指定范围的用户中选择第一个用户(用户是根据 CORE_SUE的RSORT_ID字段排序的)。SQL说明:C(XXX)表示公司编码为 XXX的公司,流程引擎会转换为 SQL条件: C.COMPANY_CODEX=XX( C是CORE_COMP的AN别Y名); D(XXX)表示部门编码为 XXX的部门,流程引擎会转换为 SQL条件: D.DEP_CODE=XXX (C是 CORE_DEPARTM的EN别T名);U(XXX)表示用户登录账号为 XXX的用户,流程引擎会转换为 SQL条 件: U.LOGIN_ID= XXX( U为CORE_

25、US的ER别名); R(XXX)表示角色编码为 XXX的角色,流程引擎会转换为 SQL条件: UR.ROLE_CODE=XXX( UR为CORE_USER_RO的LE别S名); starter:XXX 或currentUser:XXX 表示取发起人或当期用户的 XXX 属 性 的 值 。 XXX 可 以 是 DepartmentCode 、 ParentDepartmentCode 、 CompanyCode、 ParentCompanyCode、 MainRoleCode 、 loginId 之 一 , 也 可 以 是 company_YYY、 department_YYY表示公司或部门的某

26、个字段 ( YYY字段)的属性值。 XXX表示取流程变量 XXX的值。SQL示例:C(starter:CompanyCode) AND D(starter:DepartmentCode) AND R(BMFZR)将转换为(设发起人公司编码为 A1001,发起人部门 编码为 A1001_01):C.COMPANY_CODEA=1001 AND D.DEP_CODE=A1001_01 AND UR.ROLE_CODE=BMFZR 点击“公司”按钮将弹出公司编码的选择窗口,如下图所示: 点击“部门”按钮将弹出部门编码的选择窗口,如下图所示: 点击“用户”按钮将弹出用户账号的选择窗口,如下图所示: 点

27、击“角色”按钮将弹出角色编码的选择窗口,如下图所示: 点击弹出窗口的“确定”按钮,即可以在 SQL文本框中光标位置插入 相应的 SQL。D. 转办用户范围设置在“转办用户范围”选项卡,可以定义该节点的工作项可以转交 给哪些用户处理。如下图:SQL的设置参照“审批用户范围设置” 。E. 传阅用户范围设置在“传阅用户范围”选项卡,可以定义该节点的工作项可以传阅 给哪些用户查看。如下图:SQL的设置参照“审批用户范围设置” 。. 连接属性设置双击流程图中的连接或选择连接列表中的某个连接,点击工具条的 “属性”按钮,弹出选中连接的属性设置窗口: 设置该连接的“转移条件” ,即满足这个条件

28、时,流程会从该连接的 “源节点”提交到“目标节点” 。点击“添加”参数,弹出“流程参数”选择窗口: 可以选择流程中定义的流程变量作为参数,也可以选择发起人 当前 提交人的某个属性作为参数, 也可以使用当前审批界面的按钮 (源节 点定义的按钮,批量审批或批量退回时的按钮使用节点“按钮信息” 的“批量审批时使用的按钮”或“批量驳回时使用的按钮” )作为参 数。XXX表示一个 string 型的参数, n:XXX 表示一个 number型的参数, b:XXX表示一个 bool型的参数。3.1.3. 保存流程图点击工具条上的“保存”按钮可以保存当前流程图,并且自动将 当前流程图的版本递增(所有同一编码

29、的流程版本最大值加1),即会生成一个新版本的流程图(如果当前流程版本没有被使用则 把当前流程图删除)。点击工具条上的“覆盖保存”按钮可以保存当前流程图,并且流 程版本不变。流程图保 存到CORE_WF_CON表FIG中,实际的 XML代码保存在 CORE_SYSTEM_BIG_D表AT中A,通过 CORE_WF_CON的FIGDATA_ID与 CORE_SYSTEM_BIG_D的ADTATA_ID关联。3.1.4. 设置流程图双击流程版本明细列表中的某个版本或点击工具条上的 “设置”按钮, 弹出流程设置窗口: 在窗口上可以设置该版本启用时间(有效开始时间) 、所属公司(如 果是父子公司,可以只

30、设置父公司,子公司将使用父公司的流程图) 和状态。要发起某个编码 XXX的流程时,流程引擎检查当前 CORE_WF_CON的FIG WF_CODE=XXX并且未停用的所有版本,按照有效开始时间倒序, 取得当前登录人所在公司能使用 (流程图的所属公司为本公司或上级 公司或为空的)的最新(有效开始时间小于当前时间)流程图版本, 使用该版本发起流程。3.1.5. 删除流程图选择流程版本明细中的某个流程版本,点击工具条的“删除”按钮, 即可删除该流程版本。3.1.6. 导出流程图选择流程列表中的某几个流程图或流程版本明细列表中的某几个版 本,点击工具条的“导出”按钮,即可将选中的流程图或版本导出成 z

31、ip 文件。3.1.7. 导入流程图点击工具条的“导入”按钮,选择导出流程的 zip 文件,即可将文件 中的所有流程导入到当前数据库。注:导入的流程启用时间(有效开 始时间)为当前时间。3.2. 流程编程接口使用要使用流程编程接口,必须将“流程编程接口”目录下的代码加入到 项目代码中,文件的目录结构可以根据实际需要修改。3.2.1. 流程引擎数据源初始化要使用流程引擎首先要初始化一个专用的数据源, 该数据源为流程配 置加载、组织架构信息获取、流程图片生成等功能使用。数据源的初 始化示例代码如下:. 不使用连接池方式:DirectFactory f = new DirectFact

32、ory ();Properties properties = new Properties();properties.setProperty(jdbc.driver,properties.setProperty(jdbc.url,);jdbc:oracle:thin::1521:orcl ”);properties.setProperty(jdbc.username,“test ” );properties.setProperty(jdbc.password,“1” );f.init(properties, DataSource.CORE_DATASOURCE);Data

33、Source.addDBConnectionFactory(DataSource.CORE_DATASOURCE, f);. 使用 C3P0 连接池方式C3P0Factory;C3P0Factory f = new C3P0Factory ();Properties properties = new Properties();properties.setProperty(jdbc.driver,);jdbc:oracle:thin:192.1properties.setProperty(jdbc.url, 68.1.1:1521:orcl ”);properties.setPro

34、perty(jdbc.username,“ test ”);propertie s.setProperty(jdbc.password,“ 1”);properties.setProperty(maxPoolSize , “ 10”); properties.setProperty(initPoolSize , “ 1”); properties.setProperty(waitTimeout, “ 10000”);properties.setProperty(maxIdleTime, “ 1000000”);f.init(properties, DataSource.CORE_DATASOU

35、RCE);DataSource.addDBConnectionFactory(DataSource.CORE_DATASOURC E, f);3.2.2. 流程配置的加载流程配置保存在 CORE_WF_CON表FI中G,在系统启动时或流程图被修改 后,必须重新加载流程配置。需要执行的代码如下:3.2.3. 用户登录的改造(可选)流程引擎使用保存登录用户信息, 可以在用户登录的时候创建实例保 存在 session 中,这样不需要每次与流程引擎交互时都创建一次。登 录时执行的示例代码如下:import ;import ;User u = UserComponent.getUser(123456);

36、/123456 为 CORE_US的ERUSER_IDu.setLogined(true); request.getSession().setAttribute(KEY_USER_BIND_SESSION,u );3.2.4. 流程处理EMOSS流2 程引擎提供了流程处理的封装源代码(WFInvoker.js ,WFInvoker.jsp ,WFSelectUsers.jsp ,WFInvoker.java. ),各项目 可以根据自己的需要做一定的修改。流程处理的一次典型过程如下:5:选择审批人或转WFInvoker.ja流程业务组件以下给出了发起和审批通过的示例代码:. 点击发

37、起流程按钮:/ 发起 test1 流程var datas = zbiti.WFInvoker.doStart(“test1 ”, ”form1 ”);if(datas) alert( “发起成功,流程 ID 为:” +datas.instanceId); . 点击审批通过按钮:/ 审批通过工作项 ID为 111111”, ”form1”);var datas = zbiti.WFInvoker.doApprove( if(datas) alert( “审批成功!” );. 服务端实现业务处理/* *test1 流程的业务组件*/ public class Test1

38、WFComponent extends WorkFlowComponent public Test1WFComponent(DBConnection dbc, ParameterObject po,WorkFlowObject wfo, String instanceId, String workItemId,String nodeId) super(dbc, po, wfo, instanceId, workItemId, nodeId);/*计算流程的变量*/public Map calcWorkFlowVariables(boolean isPreprocess)throws Excep

39、tion Map map = new HashMap(); map.put(item1,po.getParameterValue(txtAAA); map.put(item2,aaa);return map;流程发起*/public void afterStart(List newWorkItems) throws Exception super.afterStart(newWorkItems);/TODO something./* 流程被否决*/public void instanceTerminated() throws Exception super.instanceTerminated

40、();/TODO something./* 流程审批结束*/public void instanceEnded() throws Exception super.instanceEnded();/TODO something.审批通过后*/public void afterApprove(List newWorkItems) throws Exceptionsuper.afterApprove(newWorkItems); if(CWSH.equals(this.currentNodeId)/TODO something.3.2.5. 常用 JAVA 类说明该类是流程业务组件的父类, 所有的流

41、程业务组件必须继承该类, 重 写该类的方法,实现流程状态变动与业务操作的联动。流程配置提供类。 可以加载 CORE_WF_CON中FI所G有的流程图, 并且提 供获取指定流程图信息的方法。流程定义信息类。 该类保存流程图中的全部信息, 可以通过其中的方 法取得流程图的节点、按钮、连接、流程变量等信息。 流程图生成类。该类可以生成某一个流程实例的流程图。 输入参数类。该类用来保存 request 中的参数以及当前的登录用户。 流程操作类。该类是流程引擎操作流程的核心类,提供发起、审批、 驳回、转办、否决、恢复流程等操作方法。调用该类的方法前,需要 输入参数来创建该类(参数区分大小写) :参数含义说明WF isStart是否发起流程的操作true/false 。默认为 falseWF isPreprocess是否预处理true/false 。默认为 falseisMobile是否移动客户端提交的流程Y/N。默认为 N_WF_CODE要操作的流程编码CORE_WF_CONFIG 表 的 WF_CO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论