2022年2022年流程配置说明 .pdf
《2022年2022年流程配置说明 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年流程配置说明 .pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录流程配置说明 . 2一. 流程配置文件. 21.start节点 . 33.state节点 . 34.system-state节点 . 45.task 元素 . 46.assignment元素 . 47.transition元素 . 48.condition元素 . 5二. 人员查找任务Assignment . 62.1 简单 assignment . 62.2 复合 assignment . 7三.流程附加操作Action(Entry,Exit). 10 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
2、- - - - - 第 1 页,共 16 页 - - - - - - - - - 流程配置说明本参考文档主要针对流程配置文件的开发人员,主要介绍流程配置文件的结构,人员查找任务 ,后台预定义的一些操作类. 实例配置原文 :一. 流程配置文件简易实例 (这里只给出各个流程步骤中stateconfig 的内容部分 ): 04070945 String companyType = (String)CONTEXT_INSTANCE.getTransientVar().get (varCompanyType); return 1.equals(companyType) ; 名师资料总结 - - -精品资
3、料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 16 页 - - - - - - - - - 04070945;99040005 30 1030510705 manager 流程的配置由一个start节点 , 若干个 state节点 , 若干个 system-state节点 , 若干个 end 节点组成 . 这些节点都是作为流程的状态存在于流程配置中, 他们的公共属性包括: Sid: 流程状态标识Name: 流程状态中文说明Path: 流程审批属性 , 一个自定义的属性, 配置人员可以给该属性设置不同
4、的值来通知业务开发人员该步骤的审批人员将对流程进行何种操作needComment: 流程是否需要审批人意见(true/false) auto: 该状态是否是自动状态, 和system-state搭配使用表示流程自动跳转状态1.start节点流程的起始节点,一个流程配置有且只有一个start节点 ,start节点由若干个transition 组成表示不同条件下的流程迁移路径. 2.end 节点流程的终止节点,表示流程的结束,一个流程配置可以存在1 个或者多个end节点 ,表示不同的流程结束状态.end 节点不配置任何transition, 但可以选择性的配置一个entry 元素 .entry元素
5、表示流程进入该状态的时候需要执行的附加操作. 3.state节点流程的普通状态,也是流程配置中存在最多的一种配置,表示流程的一个普通状态,该状态需要人员参与完成,也就是通常说的人员任务,使用 task 元素表示 . State节点同样由多个transition,表示流程的迁移路径. State节点可以选择性的配置entry 和 exti 元素 ,entry 元素同上 ,exit 元素正好和他相反,表示流程发生迁移的时候,离开该状态所执行的附加操作. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -
6、 - - 第 3 页,共 16 页 - - - - - - - - - 4.system-state节点该节点是一种特殊的state 节点 ,表示自动状态 ,他不需要人员参与完成,当流程执行到该节点的时候 ,流程会自动进行计算,从该节点的transition 路径中选择出一条有效路径,并迁移到该路径 . 由于 system-state节点不需要人员参与,所以他不需要配置task 元素 . 5.task 元素在 state 节点中使用 ,定义参与的人员信息. 04070945 Task 的属性包括 : Name: 人员任务名称Tid: 人员任务标识 , 暂时无特殊含义Advisable: 是否允
7、许加签 (true/false),定义该任务上是否允许添加加签任务Behaivior: 人员任务的行为模式, 目前可以使用的类型有:claim竞争模式和 all-wait汇签模式Claim模式要求所有参与该任务的人员竞争同一个单据, 第一个点击该任务的人员对该任务享有独占权, 任何后续的人员无法代开该任务, 知道前者主动放弃了声明. All-wait汇签模式允许该任务的所有人员同时对该任务进行审批操作, 并在所有人完成审批操作后流程继续流转到后续的任务. All和all-wait模式不同的是, 同时产生任务的多个审批人中有任意一个人提交流程后,流程就会流转到下一个任务, 而不必等待所有审批人审
8、批完成. Task 需要定义一个assignment元素 , 该元素定义了参与审批的人员的人员查找逻辑. 6.assignment元素Task 元素的子元素, 定义人员的查找逻辑. 如上所示 ,assignment元素包含 2部分 ,type属性和若干个arg 子元素 . Type 可以有 2中定义 : 1)实现类的完整路径, 该类必须实现com.ibm.bpe.core.task.IAssignment接口, 流程会每次生成一个该类的实例进行人员查找任务. 2)非com 开头的字符串, 以spring的注入方式定义实现类. 流程会以该字符串作为Bean 的名字在 workflow.xml查找
9、对应的 spring bean来进行人员查找任务. Arg 定义了计算的参数, 以name-value的形式存在 . 7.transition元素 State节点 ,system-state节点的子元素, 表示流程的一条迁移路径. String companyType = (String)CONTEXT_INSTANCE.getTransientVar().get (varCompanyType); return 1.equals(companyType) ; Transitoin的属性包括 : Name: 审批路径名称returnBack: 是否允许回退, 暂时无特殊含义to: 流程的下一步
10、状态, 为需要跳转的流程的stateid,也可以为 $开头的一些通配符 ( 这种配置属于动态决定流程后续流转步骤的方式),目前仅支持 $last,表示跳转到流程的前一步userSel: 审批人员选择方式, 可选属性 , 审批人员选择的方式有3种:all(默认方式) 选择所有列出的审批人员,multiple在列出的所有审批人员中选择任意多个审批人员,single在列出的所有审批人员中选择一个审批人员transition可以选择性的添加condition子元素 , 以表示该迁移路径是有条件的, 在该条件计算为 true的时候 , 该路径为一条有效的路径, 可以作为给用户选择的审批路径. 如果不定义
11、condition子元素 , 则默认表示该路径永远有效. Transition可以选择性的添加若干个action子元素 , 以表示在流程发生迁移的时候需要执行的附加动作, 和exit类似 , 不过这里 action可以定义多个. 8.condition元素 Transition元素的子元素, 定义一个有效路径的条件计算.transition元素类似assignment元素 , 由type属性和若干个arg 子元素组成 . Type 可以有 2中定义 : 1) 实现类的完整路径, 该类必须实现com.ibm.bpe.core.condition.Condition接口 ,流程会每次生成一个该类的
12、实例进行条件的计算. 2) 非com开头的字符串, 以spring的注入方式定义实现类. 流程会以该字符串作为Bean 的名字在 workflow.xml查找对应的 spring bean来进行条件的计算. 系统中默认已经定义了一种condition:type=BSH,他采用 BeanShell的方式 , 通过定义一些简单的 java代码 , 来实现 condition的计算 . 9.action,entry,exit元素这3中元素其实是一回事情, 都表示流程需要执行的一些附加操作, 和assignment相似 , 也由type属性和若干个arg 子元素组成 . Type 可以有 2中定义 :
13、 1) 实现类的完整路径, 该类必须实现com.ibm.bpe.core.action.IAction接口 , 流程名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 16 页 - - - - - - - - - 会每次生成一个该类的实例进行附加操作的计算. 2) 非com开头的字符串, 以spring的注入方式定义实现类. 流程会以该字符串作为Bean 的名字在 workflow.xml查找对应的 spring bean来进行附加操作的计算. 二. 人员查找任务Assign
14、ment Assignment 目前分为2 类:简单 assignment 和复合 assignment 简单 assignment 通过流程中的直接配置定义查找一些固定逻辑的简单查找任务;有些审批人员的查找逻辑在不同的业务场景下,会有不同的查找方式,复合 assignment 采用了spring的配置方式 ,为每一个场景分别定义各自的查找任务. 当然 ,就像上面assignment 所提到的那样,2 种 assignment 都可以使用直接定义和spring的配置两种方式. 2.1 简单 assignment 1.超预算审批人:com.suning.process.core.assignme
15、nt.BeyondBudgetAssignment 计算超预算审批时候的预算审批人,分子公司人员超预算,需要申请大区总经理额度,预算审批人为大区总经理;总部人员超预算,需要申请对应的中心总监/职能总部办公室/总裁办额度 ,预算审批人为总部中心总监/职能总部办公室负责人/总裁办负责人根据起草人所在的部门决定三者之一. 页面参数 : varBudgetDept变量 , 该变量表示责任中心预算编制的部门编码. 任务参数 : 无2.业务审批人/综合业务审批人:com.suning.process.core.assignment.BusinessAssignment 计算业务审批人和费用申请单中使用的预
16、算审批人( 综合业务审批人),业务审批人的具体业务逻辑查看相应的excel定义文件 , 预算审批人为有相应预算编制的部门负责人. 任务参数 : type,查找的审批人类型,business=业务审批人 ,budget=综合业务审批人Department,需要查找的部门编码, 可选 , 默认情况下为起草人所在的部门,$department通过页面隐含域varDepartment指定查找的部门编码页面参数 : varBudgetDept变量 , 该变量表示责任中心预算编制的部门编码, 用于综合业务审批人查找使用. VarUseDynamicUser变量 , 该变量表示是否使用指定的负责人作为综合业
17、务审批人VarDynamicUser变量 , 该变量和varUseDynamicUser一起使用 , 指定了特定的综合业务审批人varDepartment变量 , 和 department组合使用 , 指定查找的业务负责人的所在的部门编码3.分子公司/营运部总经理:com.suning.process.core.assignment.CompanyManagerAssignment 计算大区 / 子公司 / 大区营运部 / 子公司营运部总经理任务参数 :orgLevel,公司级别 ,60表示查找所在的大区总经理,70表示查找所在的分子公司总经理 ,80表示查找对应的营运部总经理名师资料总结 -
18、 - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 16 页 - - - - - - - - - Department,相关联的部门, 可以配置的值有:$draftDept表示查找起草人所在部门对应的大区/ 子公司 / 营运部总经理;$currentDept表示查找当前审批人所在的部门对应的大区 / 子公司 / 营运部总经理页面参数 : 无4.部门负责人:com.suning.process.core.assignment.DepartmentManagerAssignment 计算指定部门
19、的负责人. 任务参数 :department,查找任务相关联的部门, 可以配置的值有:$draftDept表示查找和起草人相同总部/ 大区 / 子公司 / 营运部的特定部门负责人;$currentDept表示查找和当前审批人相同总部/ 大区 / 子公司 / 营运部的特定部门的负责人;$department表示查找指定部门相同总部 / 大区 / 子公司 / 营运部的特定部门的负责人. orgLevel表示查找的部门级别,30表示查找总部部门,60表示查找大区部门,70表示查找子公司部门,80表示查找营运部部门.$department表示采用和department同级别的部门. OrgTempla
20、teCode表示查找部门的模板编码, 模板编码为10 位数字编码 , 可以采用逗号进行分隔, 以达到同事查找几个特定部门负责人的需求. 页面参数 :varDepartment和 $department通配符组合使用, 用于指定特定的参考部门5. 部门专员 :com.suning.process.core.assignment.PositionAssignment 计算指定部门的指定专员任务参数 :department,查找任务相关联的部门, 可以配置的值有:$draftDept表示查找和起草人相同总部/ 大区 / 子公司 / 营运部的特定部门专员;$currentDept表示查找和当前审批人相
21、同总部/ 大区 / 子公司 / 营运部的特定部门的专员. $department表示查找指定部门相同总部 / 大区 / 子公司 / 营运部的特定部门的负责人. orgLevel表示查找的部门级别,30表示查找总部部门,60表示查找大区部门 ,70表 示 查 找 子 公 司 部 门 ,80表 示 查 找 营 运 部 部 门 . $department表 示 采 用 和department同级别的部门. OrgTemplateCode表示查找部门的模板编码, 模板编码为10 位数字编码 , 可以采用逗号进行分隔, 以达到同事查找几个特定部门专员的需求. Position表示查找专员的岗位编码页面参
22、数 : varDepartment和$department通配符组合使用, 用于指定特定的参考部门6. 流程特定步骤的审批人:com.suning.process.core.assignment.StepAssignment 计算流程特定步骤的审批人, 该配置的步骤必须在当前步骤之前已经完成. 任务参数 :step,指定的特定状态, 审批人为该状态对应的已经审批的过的审批人页面参数 : 无7.特定人员审批人:com.sunng.process.core.assignment.UserAssignment 指定特定的人员工号作为审批人任务参数 :user,指定的特定人员,可以配置的值:$draf
23、ter 起草人 ;$currentUser 当前审批人 ;人员工号 (可以使用分号分隔,同事配置多个审批人) 2.2 复合 assignment 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 16 页 - - - - - - - - - 有一些业务的审批人逻辑相对复杂,在不同的业务场景下会有完全不同的审批人的查找逻辑 (例如财务费用的内控线负责人),这种情况下开发新的复杂审批人查找逻辑,效率和正确率上都不合适 ,可以采用复合assignment 的方式 . 复合 ass
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年流程配置说明 2022 流程 配置 说明
限制150内