




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EM0SS2流程引擎开发指南 中博信息技术研究院XX 1 / 32 版本历史 版本号 更改描述 更改日期 修订人 是否基线版本 (Y/N) 评审记录# 评审通过 日期 VI. 0 建立文档 2012-7-30 余志探 Y 目录 1 概述4 11流程引率说明1 1.2. 流程引率架构4 2 开发前准备5 2. 1.建立组织架构视图5 2. 1. 1.公司 2. 1. 2.部门 2. 13.员工 2. 1.4用户 2. 15角色 (CORE_PANY) 5 (COREJEPARTMENT) 5 (CORE.EMPLOYEE) 5 (CORE_USER) 6 (CORE_ROLE) 6 2. 1.
2、6.用户流程角色表(CORE_USER_ROLES) 7 2. 2.建立流程数据表7 2. 3.安装流程设计工具7 2. 3. 1.安装JDK7 2. 3. 2安装流程设计工具8 2. 4.将流程编程接口加入到项目代码中8 3 开发指南8 31 流程设计工具使用8 3. 1. 1.新增流程9 3. 1. 2.设计流程图9 3. 1.2.1.流程属性设置11 A. 流程属性说明11 B. 流程变量定义12 C. 流程数据属性13 D. 高级属性13 3. 1.2.2.流程节点属性设置14 2/32 A属性说明15 B. 按钮信息16 C. 审批用户X围设置17 D. 转办用户X围设置20 E.
3、传阅用户X围设置21 3. 1. 2. 3.连接属性设置22 3. 1. 3.保存流程图24 3. 1. 4.设置流程图24 3. 1. 5.删除流程图24 3. 1.6.导岀流程图24 3. 1. 7.导入流程图25 3.2. 流程编程接口使用25 3.2. 1 流程引華数据源初始化25 3.2. 1.1.不使用连接池方式:25 3. 2. 1. 2.使用C3P0连接池方式25 3. 2. 2.流程配置的加载26 3. 2. 3.用户登录的改造(可选)26 3. 2. 4.流程处理27 3. 2. 4.1.点击发起流程按钮:27 3. 2. 4.2.点击审批通过按钮:28 3. 2. 4.
4、3.服务端实现业务处理28 3.2. 5常用JAVA类说明29 3. 2. 5. 1. . ZBITI. CORE. CONFIG. WF. W0RKFL0WP0NENT29 3. 2. 5.2. zbiti. core, config, wf. WorkFlowConfigProvider29 3. 2. 5. 3. . ZBITI. CORE. CONFIG. WF. W0RKFL0W0BJECT30 3. 2. 5. 4. . ZBITI. CORE. CONFIG. WF. WFIMAGE30 3. 2. 5. 5. . ZBITI. CORE. V0 Parameter0bject3
5、0 3. 2. 5. 6. . ZBITI. CORE. CONFIG. WF. W0RKFL0WPR0XY30 3. 2. 5. 7. . ZBITI. CORE. PONENTS. USERP0XENT31 3. 2. 5. 8. . ZBITI. CORE. ResourcePool31 3. 2. 5. 9. . ZBITI. CORE. CONSTS. TABLES31 3. 2. 5. 10 ZBITI. CORE. CONSTS. Sequences31 4附件32 3/32 1概述 流程引華说明 EM0SS2流程引擎是EM0SS2开发平台的一部分,主要完成流程发起,审批,监控
6、等功能,是较轻量级的流程引擎,但完全可以满足企业的业务流程需求。流程引擎目前 支持的数据库有:oracle、mysql、Sybaseo主要的组成部分有: 1, 组织架构视图:流程引擎需要基于组织架构才能实现审批人的选择、工作 项的生成、流转条件的判断等。 2, 流程数据表:用于保存流程图、流程实例、工作项等流程相关的数拯。 3, 流程设计工具:用于设计流程图,分配不同的版本给不同的公司。JDK要 求必须是1.6及以上。 4, 流程编程接口:提供流程的发起、审批、参与者计算等接口给外部程序调 用。主要是jar包形式,JDK的版本必须是1.5及以上。 12流程引華架构 外部Jsp、javaB序 4
7、/32 2. 开发前准备 21 建立组织架构视 根据字段列表建立各个视图。字段列表只列出必要字段,也可以根据需要扩展其他字段。 2.1.1.公司(CORE_PANY) 字段 字段名称 类型 说明 PANY.ID 公司ID NUMBER(16) 公司的唯一标识 PANY.CID 公司变更序号 NUMBER(16) 固定值:1 PANY CODE 公司编码 VARCHAR2(50) P PANY ID 上级公司ID NUMBER(16) PANY.NAME 公司名称 VARCHAR2(200) SORT.ID 排序号 NUMBER(16) 可空 IS.LAST 是否最新记录 NUMBER (1)
8、固定值:1 STATE 是否有效 NUMBER (1) 固定值:1 2.1.2.部门(CORE_DEPARTMENT) 字段 字段名称 类型 说明 DEP ID 部门ID NUMBER(16) 部门的唯一标识 DEP.CID 部门变更序号 NUMBER(16) 固定值:1 PANY.ID 所属公司ID NUMBER(16) 关联到C0RE.PANY PANY.CID 所属公司变更序号 NUMBER(16) 固定值:1 DEP.C0DE 部门编码 VARCHAR2(50) P DEP ID 上级部门ID NUMBER(16) DEP.NAME 部门名称 VARCHAR2(200) S0RT.ID
9、 排序号 NUMBER(16) 可空 IS.LAST 是否最新记录 NUMBER(1) 固定值:1 STATE 是否有效 NUMBER(1) 固定值:1 2.1.3.员工(CORE_EMPLOYEE) 字段 字段名称 类型 说明 EMP ID 员工ID NUMBER(16) 员工的唯一标识 EMP.CID 员工变更序号 NUMBER(16) 固定值:1 DEP.ID 所属部门ID NUMBER(16) 关联到 CORE DEPARTMENT 5/32 DEP.CID 所属部门变更序号 NUMBER(16) 固定值:1 PANY.ID 所属公司ID NUMBER(16) 关联到CORE.PANY
10、 PANY.CID 所属公司变更序号 NUMBER(16) 固定值:1 EMP.CODE 员工编码 VARCHAR2(50) EMP.NAME XX VARCHAR2(50) SORT.ID 排序号 NUMBER(16) 可空 IS.LAST 是否最新记录 NUMBER(1) 固定值:1 STATE 是否有效 NUMBER(1) 固定值:1 2.1.4.用户(CORE_USER) 字段 字段名称 类型 说明 USER ID 用户ID NUMBER(16) 用户的唯一标识 DEP.ID 所属部门ID NUMBER(16) 关联到 CORE DEPARTMENT PANY.ID 所属公司ID NU
11、MBER(16) 关联到CORE PANY EMP.ID 所属员工ID NUMBER(16) 关联到 CORE EMPLOYEE MAIN.ROLE.CODE 主要角色编码 VARCHAR2(30) 该用户的主要角色 (权限角色) LOGIN.ID 登录账号 VARCHAR2(50) 该用户登录到系统的 账号 USERAME 用户XX VARCHAR2(50) 可以与员工XX致 SORT ID 排序号 NUMBER(16) 可空 STATE 是否有效 NUMBER(1) 固定值:1 2.1.5.角色(CORE_ROLE) 字段 字段名称 类型 说明 ROLE CODE 角色编码 VARCHAR
12、2(30) 角色的唯一标识 ROLEAME 角色名称 VARCHAR2(50) PANY.ID 所属公司ID NUMBER(16) 关联到CORE_PANY0空 表示全部公司可使用 的角色。 ROLE_TYPE 角色类型 CAHR(l) 0:权限角色;1:流 程角色:2:权限流程 角色。默认为:2。 SORT.ID 排序号 NUMBER(16) 可空 PARENT.CODE 父角色编码 VARCHAR2(30) 可空 IS.LEAF 是否末级 CAHR(l) 1:是,0:否 IS.INNER 是否内置 CAHR(l) 1:是,0:否a默认 6/32 )、):0 2.1.6.用户流程角色表(CO
13、RE_USER_ROLES) 字段 字段名称 类型 说明 ROLE CODE 角色编码 VARCHAR2(30) 角色的唯一标识 USER ID 用户ID NUMBER(16) 用户的唯一标识 22建立流程数据表 根据流程数据表.pdm建立各个流程数据表。各数据表说明如下: 1) CORE_WF_CONFIG:流程配置表。用于保存设计工具设计出来的流程图。 2) CORE_WF_INSTANCE:流程实例表。用于保存系统中发起的流程实例。 3) CORE_WF_INSTANCE_VARIABLE:流程实例变量表。用于保存每个流程实例的变量。 4) CORE_WF_WORKITEM:流程工作项表
14、。用于保存用户发起一个流程或审批完一个待办后, 产生岀的待办工作项。 5) CORE_WF_WORKITEM_RELATION:工作项的转移关系表。用于保存每个工作项的来源工作 项。 6) CORE_WF_REASSIGN_RELATION:流程委托关系表。用于保存用户委托其他用户处理自己 的流程待办。 7) CORE_SYSTEM_BIG_DATA:系统专用大数据表。用于保存流程图的XML源代码。 8) 序列:SEQ_HON_BASE,长度为 16。用于设置CORE_WF_INSTANCE、CORE_SYSTEM_BIG_DATA 等表的主键值。如果数据库不支持序列,则要创建平台的序列表(C
15、ORE SEQUENCE): 字段 字段名称 类型 说明 SEQ 序列名 VARCHAR2(30) 序列唯一标识,流程 引擎使用: SEQ_M0N_BASE MAX.ID 当前值 NUMBER(16) 初始值为:1 23 安装流程设计工具 2.3.1. 安装 JDK 流程设计工具需要JDK1. 6或以上版本才能运行。安装完之后要指定JAVA_HOME,确认当前使 用的JDK是1.6版本。 7/32 2.3.2.安装流程设计工具 1),将“流程设计工具”目录拷贝到一个无空格的路径中,。 2),运行“imp_run32. bat(32位操作系统使用)或“imp_run64. bat气64位操作系统
16、使用)。 点击主界而上的“设置”按钮,设置数据库连接(流程数据表所在的数据库),如下图所示: 点击“确认”即完成了流程设计工具的设置。 2.4.将流程编程接口加入到项目代码中 将“流程编程接口”目录下的文件拷贝到项目中即可。文件目录已经是安装web工程的要求 建立,如有特殊目录要求请自行修改。流程编程接口需要JDK1.5或以上版本才能运行。 3. 开发指南 31 流程设计工具使用 运行流程设计工具“imp_run32.bat”或“imp_run64.bat”。点击菜单流程-流程自定义” 即可进入流程设计界面。如下图所示: 8/32 OdTBc 由 G M SV农人 界而上部是工具条。左侧的上而
17、一个列表是系统中已存在的流程图,下而一个列表是每 个流程图的明细版本(每个流程图可以有多个版本,每个版本的流程代码都相同)。界面的 右侧是流程图的设计区域。 点击界而工具条的“新增”按钮,弹出“新增流程”对话框: 输入新流程代码(流程图的标识)和新流程名称,点击“确立”即可创建一个新流程图(新 创建的流程版本为1,只有“开始”、结束” 2个节点)。 在界而的流程列表中可以查询到刚创建的流程。 3.1.2.设计流程图 选择左侧的流程图列表中的一个流程图,在下面的“版本明细”列表就会显示该流程图的所 有版本。选择需要设讣的一个版本,在右侧的流程设讣区域即可显示该版本的流程图。如图 所示: 9/32
18、 srrWxJB Sm 井包IT伽fi pmPbtq 号少托 * 1 皈3 X 20U-C?-5011;f e u - rn nix weIHi999 RW wxu N rm XiC0 1 流程设计区域的上部是流程图设计的工具条左侧是流程图中的节点列表以及连接(节点之 间的连接线)列表。 操作说明: 1)点击工具条的“开始”按钮,再点击流程图指左地方,可以在指左地方增加一个“开始 节点”。一个流程图只能有一个“开始节点”。 2)点击工具条的“中间”按钮,再点击流程图指过地方,可以在指左地方增加一个“中间 节点”。连续点击流程图,可以连续增加“中间节点”。点击右键可以返回到选择”状 态a 3)
19、点击工具条的“结束”按钮,再点击流程图指泄地方, 可以在指左地方增加一个“结束 4)点击工具条的“连接”按钮,再点击流程图指左的一个节点,鼠标左键不放,将连线连 接到另外一个节点,放开左键,即可在两个节点中增加一个连接线。连续的操作可以连 续增加连接线。点击右键可以返回到“选择”状态。 5)点击工具条的“选择”按钮,可以使鼠标返回到选择”状态(可以选择节点或连接线)。 6)选中流程图中的石点或连接线(可以使用鼠标选择一个区域中的节点或连接线),再点 击工具条的“删除”按钮,可以删除选中的节点或连接线。 7)点击工具条的“刷新”按钮,可以刷新当前流程图(有时候由于画布没有重画,会导致 流程图显示
20、不全)。 8)点击工具条的“查看XML”按钮,弹出当前流程图的XML内容窗口: 10 / 32 在XML源代码窗口中文本框显示的是当前流程图的XML内容。 可以修改XML或拷贝其他版本流程图的XML,然后点击“设豊XML”按钮来改变当前流程 图。设苣的XML中的流程代码值必须与当前流程图的代码值一致,并且版本不能低于当 前流程图的版本。 .流程属性设置 在流程图的空白地方双击或者点击工具条的“属性”按钮,弹出当前流程图的属性设置 窗口: A. 流程属性说明 流程编码:即当前流程图的代码,不可修改。 版本号:即当前流程图的版本号,不可修改。每次保存版本号自动递增(也可以使 用覆盖保
21、存,不增加版本号)。 流程名称:当前流程的划称,每个版本的流程图名称可以不一样。 有效天数:流程引擎只记录该属性,尚未未使用。 待办URL:显示一个流程待办工作项时,使用的页而URL。 11 / 32 待办査询URL:查询该流程的待办工作项时,使用的页而URL. 已办URL:显示一个流程已办流程实例时,使用的页而URL。 已办査询URL:查询该流程的已办流程实例时,使用的页而URL。 我的申请査询URL:查询该流程的“我的申请”流程实例(登录人发起的流程实例) 时,使用的页而URL。 已办界面数据权限:可以是:none-不控制权限login-使用当前登录用户的权限, starter-使用发起人
22、的权限。该属性只在EM0SS2平台使用。 流程结束方式:可以设置有几个人(或者百分之几的人)审批通过达到结束节点时, 流程算是正式结束,剩下未审批的工作项不再需要审批。 说明:记录流程图的说明信息。 B. 流程变定义 在“流程变量”选项卡,可以左义流程变量(流程发起的时候可以设置流程变量的值, 供业务操作或流程图使用)。流程变量左义如下图: 可以在列表中直接修改已有的变量。点击“增加”按钮,可以在变量列表中增加一个流 程变量。选择列表中的某个流程变量,再点击“删除”按钮,可以删除该变量。注:datetime 类型的变量暂不支持。 12 / 32 C. 流程数据属性 在“流程数据”选项卡,可以龙
23、义流程的数据相关属性。如下图所示: 1)流程主题SQL:是发起流程或审批待办工作项时流程引擎调用的SQL,用来更新流程 实例表的主题字段(CORE_WF_INSTANCE SUBJECT)。 2)流程金额SQL:是发起流程或审批待办工作项时流程引擎调用的SQL,用来更新流程 实例表的金额字段(CORE_WF_INSTANCE MONEY)。 3)流程数据表:是EMOSS2平台使用的。在JAVA代码中使用DDProxy类增删改查数据时, 会自动设置PROCESS.ID (流程实例ID)和AUDIT.STATUS (审批状态)字段。 D. 高级属性 在“髙级”选项卡,可以设置流程的一些髙级属性。如
24、下图所示: 13 / 32 1)流程结朿/否决时发送消息的设宜:可以在流程结束或被否决时向流程相关的用户发 送消息(通知某个流程已经结朿/被否决)。该设置在EM0SS2平台才使用。 2)常用审批意见:可以设巻审批该流程时使用的常用审批意见有哪些。该设程在EM0SS2 平台才使用。 3)流程业务组件:用来设置一个JAVA类,重写父类 (.zbiti. core, config, wf. WorkFlowponent)的某些方法,可以将流程的状态变化 与业务操作的联系起来。如:审批通过后要做某些业务处理,可以重写父类的 afterApprove方法实现。流程结束后要做某些业务处理,可以重写父类的
25、instanceEnded方法实现.等。具体的父类说明可以参见“ JAVA_DOCS目录下的 javaDoc. .流程节点属性设置 双击流程图中的节点或选择节点列表中的某个市点,点击工具条的“属性”按钮,弹出选中 节点的属性设置窗口: 14 / 32 A. 属性说明 节点ID:节点在当前流程图中的唯一标识,创建石点时会自动生成。 节点名称:该节点的显示名称。 趙标:流程盯点在流程图的X坐标值。 Y坐标:流程肖点在流程图的Y坐标值。 长度:流程节点在流程图中显示的长度。 宽度:流程节点在流程图中显示的宽度。 有效天数:流程引擎只记录该属性,尚未未使用。 待办URL:显示该节点的一个
26、流程待办工作项时,使用的页而URL。如果未设置,则使用 流程的“待办URL”属性。 数据权限:可以是:none-不控制权限login-使用当前登录用户的权限,starter-使 用发起人的权限。该属性只在EMOSS2平台使用。 审批方式:可以设置有几个人(或者百分之几的人)审批通过(负数表示回退,如人数 设置-1表示有一个人退回,百分比设置-33表示有33%的人退回)时,该节点算是审批通 过(被退回),剩下未审批的工作项不再需要审批。 可以取回:该节点的工作项审批通过后是否可以被取回。 15 / 32 可以自动提交:该节点的工作项与前一节点的工作项属于同一个人的时候,如果前一节 点的工作项被审
27、批通过了,该节点的工作项是否可以自动设置为审批通过。 审批后是否提示打印:该卩点的工作项被审批通过后是否会提示打印流程。该属性只在 EM0SS2平台使用。 常用审批意见:可以设置审批该节点的工作项时使用的常用审批意见有哪些,审批时的 常用审批意见也包含流程属性的“常用审批意见”。该设豊在EM0SS2平台才使用。 说明:记录流程节点的说明信息。 B. 按钮信息 在“按钮信息”选项卡,可以上义该节点的审批界而有哪些审批按钮。如下图: “驳回”、“退回发起人J “否决S “废弃”按钮每个界而只能有一个,其中“废弃按钮只 能设巻在“发起节点”。 “批量审批使用的按钮”用于指左一个审批通过的按钮,当使用
28、批量审批时,相肖于点击该 按钮。 “批量驳回使用的按钮”用于指左一个驳回的按钮,当使用批疑驳回时,相当于点击该按钮。 点击“添加按钮,弹岀添加按钮对话框: 16 / 32 在窗口上填写必要的信息:按钮ID.标题、显示顺序、是否可见后点击“确认”即可添加一 个审批按钮。注:按钮ID在一个节点中不能重复。 双击按钮列表中的某个按钮或者点击“编辑”按钮,弹出该按钮的编辑窗口。与添加窗口一 样。 点击“删除”按钮,可以删除按钮列表中选中的按钮。 C. 审批用户X围设置 在“审批用户xnr选项卡,可以泄义该节点的审批用户有哪些。如下图: 17 / 32 待办人员选择方式:指提交给该节点时,选择人员是单选
29、还是多选。“自动全选是指 选择全部指宦XI期的用户,“自动选择第一个”是指在指左X用的用户中选择第一个用户 (用户是根据CORE_SUER的SORT.ID字段排序的儿 SQL说明: C(XXX)表示公司编码为XXX的公司,流程引擎会转换为SQL条件:C.PANY_CODE二XXX (C是 COREPANY 的别名): D(XXX)表示部门编码为XXX的部门,流程引擎会转换为SQL条件:D.DEP_CODE二XXX (C 是 CORE.DEPARTMENT 的别名): o U(XXX)表示用户登录账号为XXX的用户,流程引擎会转换为SQL条件: U. LOGIN.ID=, XXXf (U为COR
30、E.USER的别名): o R(XXX)表示角色编码为XXX的角色,流程引擎会转换为SQL条件:UR. ROLE_CODE二XXX (UR 为 CORE_USER_ROLES 的别需): starter:XXX或currentUser:XXX表示取发起人或当期用戸的XXX属性的值。XXX可 以 是 DepartmentCode 、 ParentDepartmentCode 、 panyCode 、 ParentpanyCode 、 Ma inRol eCode loginld 之一,也可以是 pany_YYY、dep art me nt表示公司或部门的 某个字段(YYY字段)的属性值。 XXX
31、表示取流程变量XXX的值。 SQL示例: 18 / 32 C (starter: panyCode) AND D( starter: DepartmentCode) ANDR (BMFZR)将转换为 (设发起人公司编码为A1001,发起人部门编码为A1001_01): CPANY_CODE二AlOOr AND D. DEP_CODE=, A1001_0r AND UR ROLE_CODE二BMFZR 点击“公司”按钮将弹岀公司编码的选择窗口,如下图所示: 点击“部门”按钮将弹岀部门编码的选择窗口,如下图所示: 点击“用户按钮将弹岀用户账号的选择窗口,如下图所示: 19 / 32 点击“角色”按
32、钮将弹岀角色编码的选择窗口,如下图所示: 点击弹出窗口的“确定”按钮,即可以在SQL文本框中光标位宜插入相应的SQL。 D转办用户X围设置 在“转办用户X圉”选项卡,可以立义该节点的工作项可以转交给哪些用户处理。如下 图: 20 / 32 SQL的设置参照“审批用户X用设置”。 E. 传阅用户X围设置 在“传阅用户X圉”选项卡,可以立义该廿点的工作项可以传阅给哪些用户查看。如下 图: 21 / 32 SQL的设置参照“审批用户X用设置”。 .连接属性设置 双击流程图中的连接或选择连接列表中的某个连接,点击工具条的“属性”按钮,弹出选中 连接的属性设宜窗口: 22 / 32 设置该
33、连接的“转移条件S即满足这个条件时,流程会从该连接的“源节点”提交到“目 标节点”。 点击“添加”参数,弹岀“流程参数”选择窗口: 可以选择流程中宦义的流程变呈作为参数,也可以选择发起人当前提交人的某个属性作为 参数,也可以使用当前审批界而的按钮(源节点左义的按钮,批量审批或批量退回时的按钮 使用节点“按钮信息”的“批量审批时使用的按钮”或“批量驳回时使用的按钮”)作为参 数。 XXX表示一个string型的参数,(n:XXX表示一个number型的参数,b:XXX表示一个bool 型的参数。 23 / 32 3.1.3.保存流程图 点击工具条上的“保存”按钮可以保存当前流程图,并且自动将当前
34、流程图的版本递增 (所有同一编码的流程版本最大值加1),即会生成一个新版本的流程图(如果当前流程 版本没有被使用则把当前流程图删除)。 点击工具条上的“覆盖保存”按钮可以保存当前流程图,并且流程版本不变。 流程图保存到CORE_WF_CONFIG表中,实际的XML代码保存在CORE_SYSTEM_BIG_DATA表中, 通过 CORE_WF_CONFIG 的 DATA_ID 与 CORE_SYSTEM_BIG_DATA 的 DATA_ID 关联。 3.1.4.设置流程图 双击流程版本明细列表中的某个版本或点击工具条上的“设置”按钮,弹岀流程设置窗口: 在窗口上可以设巻该版本启用时间(有效开始时
35、间)、所属公司(如果是父子公司,可以只 设置父公司,子公司将使用父公司的流程图)和状态。 要发起某个编码XXX的流程时,流程引擎检查当前CORE_WF_CONFIG的WF_CODE二XXX并且未 停用的所有版本,按照有效开始时间倒序,取得当前登录人所任公司能使用(流程图的所属 公司为本公司或上级公司或为空的)的最新(有效开始时间小于当前时间)流程图版本,使 用该版本发起流程。 3.1.5. 删除流程图 选择流程版本明细中的某个流程版本,点击工具条的“删除”按钮,即可删除该流程版本。 3.1.6. 导出流程图 选择流程列表中的某几个流程图或流程版本明细列表中的某几个版本,点击工具条的“导出” 按
36、钮,即可将选中的流程图或版本导出成zip文件。 24 / 32 3.1.7.导入流程图 点击工具条的“导入”按钮,选择导岀流程的zip文件,即可将文件中的所有流程导入到当 前数据库。注:导入的流程启用时间(有效开始时间)为当前时间。 32流程编程接口使用 要使用流程编程接口,必须将“流程编程接口”目录下的代码加入到项目代码中,文件的目 录结构可以根据实际需要修改。 3.2.1. 流程引擎数据源初始化 要使用流程引擎首先要初始化一个专用的数据源,该数据源为流程配置加载、组织架构信息 获取、流程图片生成等功能使用。数据源的初始化示例代码如下: . 不使用连接池方式: import z
37、biti core uti1 db DataSource; import zbiti core uti1 db DirectFactory; DirectFactory f = new DirectFactory (): Properties properties = new Properties0; properties setProperty(/zjdbc driver, uoracle jdbc driver OracleDriver” ); properties setProperty(jdbcurl, u jdbc:oracle:thin: 192 168 1 1:1521:orcl
38、); properties setProperty(/zjdbcusername, test); properties setProperty (/z jdbc password5*, 1 ” ); f init (properties, DataSource COREDATASOURCE); DataSource addDBConnectionFactory(DataSource CORE_DATASOURCE, f); .使用C3P0连接池方式 import zbiti core uti1 db DataSource; import zbiti core uti1 db C3
39、P0Factory; 25 / 32 C3P0Factoryf = new C3P0Factory 0 ; Properties properties = new Properties0; properties setProperty(/zjdbc driver, uoracle jdbc driver OracleDriver” ); properties setProperty(/zjdbcurl?,, u jdbc:oracle:thin: 192 168 1 1:1521:orcl); properties setProperty(/zjdbcusername, test); prop
40、erties setProperty(/?jdbc.password, 1” ); properties setProperty(maxPoolSize, TO” ); properties setProperty(z,initPoolSize,; properties setProperty(waitTimeout, u 10000* ); properties setProperty(maxIdleTime, u1000000M ; f init(properties, DataSource CORE_DATASOURCE); DataSource addDBConnectionFacto
41、ry(DataSource C0RE_DATASOURCE, f); 3.2.2.流程配置的加载 流程配置保存在C0RE_WF_C0NFIG表中,在系统启动时或流程图被修改后,必须重新加载流程 配置。需要执行的代码如下: zbiti core config wf WorkF1owConfigProviderload(); .2.3.用户登录的改造(可选) 流程引擎使用.zbiti. core. ponents.User保存登录用户信息,可以在用戸登录的时候创 建.zbiti. core, ponents. User实例保存在session中,这样不需要每次与流程引擎交互时都 创建一次.zbit
42、i. core, ponents. Usero登录时执彳亍的示例代码如卜 import zbiticore.ponents.User; import zbiti core ponents Userponent; User u = Userponent. getUserC123456);/123456为CORE_USER的CSER_ID .setLogined(true); request getSession() setAttribute (Z/KEY_USER_BIND_SESSION/Z, u); 26 / 32 3.2.4.流程处理 EM0SS2流程引擎提供了流程处理的封装源代码(WFI
43、nvoker. js , Invoker, jsp , WFSelectUsers. jsp, WFInvoker. java.),各项目可以根据自己的需要做一定的修改。 流程处理的一次典型过程如下: 以下给出了发起和审批通过的示例代码: .点击发起流程按钮: 发起testl流程 var datas = zbitiWFInvokerdoStart( testl” , ” forml; if(datas) alert (发起成功,流程ID为:+datas. instanceld); 27 / 32 .点击审批通过按钮: 审批通过工作项ID为111 var datas
44、= zbitiInvokerdoApprove( 111” , ” forml ); if (datas) alert( “审批成功! ”); .服务端实现业务处理 /* *testl流程的业务组件 */ public class TestlTponent extends WorkFlowponent public TestlWFponent(DBConnection dbc, ParameterObject po, WorkFloObject wfo, String instanceld, String workltemld, String nodeld) super (dbc
45、, po, wfo, instanceld, workltemld, nodeld); /* *计算流程的变量 */ public Map calcWorkFlowVariables(boolean isPreprocess) throws Exception Map map = new HashMap 0; map putpo. getParameterValue (,ztxtAAA,?); map. put (/zitem2,z, /Zaaa,z); return map; *流程发起 */ public void afterStart(List newWorkltems) throws
46、Exception super afterStart(newWorkltems); /TODO something. 28 / 32 * *流程被否决 */ public void instanceTerminated0 throws Exception super instanceTerminated(); /TODO something /* *流程审批结束 */ public void instanceEndedO throws Exception super instanceEndedO ; /TODO something /* *审批通过后 */ public void afterA
47、pprove(List newWorkltems) throws Exception! super afterApprove(newWorkltems); if(CWSH equals(this currentNodeld) /TODO something 3.2.5.常用JAVA类说明 . .zbiti.core.config.wf.WorkFlowponent 该类是流程业务组件的父类,所有的流程业务组件必须继承该类,重写该类的方法,实现流 程状态变动与业务操作的联动。 . .zbiti.core.config.wf.WorkFlowConfigProvider
48、 流程配置提供类。可以加载C0RE_WF_C0NFIG中所有的流程图,并且提供获取指泄流程图信息 的方法。 29 / 32 3.2.S.3. .zbiti.core.config.wf.WorkFlowObject 流程左义信息类。该类保存流程图中的全部信息,可以通过其中的方法取得流程图的节点、 按钮、连接、流程变量等信息。 3.2.S.4. .zbiti.core.config.wf.WFImage 流程图生成类。该类可以生成某一个流程实例的流程图。 . .zbiti.core.vo.ParameterObject 输入参数类。该类用来保存request中的参数以及当前的登录用H。 . .zbiti.core.config.wf.WorkFlowProxy 流程操作类。该类是流程引擎操作流程的核心类,提供发起、审批、驳回、转办、否决.恢 复流程等操作方法。调用该类的方法前,需要输入参数来创建该类(参数区分大小写): 参数 含义 说明 WF isStart 是否发起流程的操作 true/falseo 默认为false WF isPrep:rocess 是否预处理 true/false
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国进出口代理合同
- 商品混凝土外加剂购销合同
- 养殖场转让合同协议书
- 大庆医学高等专科学校《电路理论B》2023-2024学年第二学期期末试卷
- 9《心中的“110”》 (教学设计)-部编版道德与法治三年级上册
- 泉州工程职业技术学院《双碳概论》2023-2024学年第二学期期末试卷
- 必修3 第三单元 全面依法治国-高中政治单元教学设计
- 江苏卫生健康职业学院《跆拳道教学与训练》2023-2024学年第二学期期末试卷
- 第14课《诗词三首-水调歌头》教学设计 2024-2025学年统编版语文九年级上册
- 湖北第二师范学院《产品设计速写》2023-2024学年第二学期期末试卷
- 2025年执业医师定期考核题库及参考答案
- 2025年北京交通职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 人教版地理七年级下册7.1.1 亚洲的自然环境(课件33张)
- 《Python程序设计基础教程(微课版)》全套教学课件
- 教科版小学一年级科学下册全册教案(最新)
- 餐饮店长竞聘报告PPT课件
- 高考语文一轮复习文学类文本阅读(小说阅读)教案
- 轮岗培养计划表
- 小学二年级数学下册教材研说稿
- 薄弱学科、薄弱班级原因分析及改进措施课件资料
- 可编辑模板中国风春节喜庆信纸精选
评论
0/150
提交评论