您的位置:首页 > 产品设计 > 产品经理

H3 BPM 常用参与者函数手册

2017-02-28 11:58 337 查看




1.概述

在H3 BPM中,提供了一批内置的参与者函数,通过这些函数,在某些场景下,可以简单快速的配置选人规则。

2.参与者函数
2.1 根据负责范围查询角色

函数信息

名称:FindPostByCode

参数1:Unit(指定组织)

参数2:OrgPostCode(指定角色编码)

参数3:CategoryCode(指定组织类型编码)

函数说明:

递归查询组织Unit的上级组织,直至某个上级组织的组织类型为CategoryCode,如果不存在,则查询至组织树顶点。将此上级组织或顶点,记为组织A。

在组织Unit至组织A的链式组织结构中,查询角色OrgPostCode的成员集B。

查询成员集B中角色管理范围包含组织Unit的成员,将查询结果的成员集返回

函数场景举例:

财务部有三个出纳角色 分别负责  华南  华东  华北  大区。华北区下属的某个销售组的成员提交申请时,查询逻辑为此销售部向上查询部门直至组织类型为大区 ,最终找到华北区 然后找到负责华北区的出纳

2.2 根据所在组织查询角色

函数:FindPostByCategoryCode

参数1:Unit(指定组织)

参数2:OrgPostCode(指定角色编码)

参数3:CategoryCode(指定组织类型编码)

函数说明:

递归查询组织Unit的上级组织,直至某个上级组织的组织类型为CategoryCode,如果不存在,则查询至组织树顶点。将此上级组织或顶点,记为组织A。

在以组织A为顶点的组织树结构中,查询角色OrgPostCode的成员集,将查询结果返回。

函数场景举例:

华东、华南、华北大区 分别都有自己的公文管理员,分别属于各大区下设的公文管理部,华东区下某开发小组的成员提交申请时,查询逻辑为从此开发小组向上查找至组织类型为大区的组织,即华东区,然后向下查询,华东区及下属各个下级部门的成员,找到该区下的公文管理员。

2.3根据组织类型查询组织某个层级的负责人

函数名:FindManagerByCategoryCode

参数1:Unit(指定组织)

参数2:CategoryCode(指定组织类型编码)

函数说明:

如果组织Unit的组织类型为CategoryCode,返回Unit的负责人;否则逐级查询Unit对应的上级组织,直至某个上级组织的组织类型为CategoryCode,返回这个组织的负责人;如果没有对应组织类型的组织,返回null

场景举例:

华东、华南、华北 三个大区,各区下的员工请假超过3天都需要区总进行审批。华东区下某销售部员工请3天假,查询逻辑为从该部门向上查询组织,直到查询到组织类型为“大区”的部门(华东区),然后查询该区的负责人

2.4 查询指定组织的成员

函数名:GetMembers

参数:Unit(指定组织)

函数说明:

查询参数组织的成员

2.5 判断子对象是否为父对象的子成员

函数名:IsMemberOf

参数1:Child(子成员对象,可以是OU/员工)

参数2:Parent(父组织对象,可以是组/OU)

函数说明:

判断子对象是否为父对象的子成员,通常与IFF函数结合使用。

场景举例:

如公司一般部门的汇报由副总进行审批,财务部的汇报由总经理审批

2.6 查询某部门负责人的指定级别的上级

函数名:ManagerByEmployeeRank

参数1:Unit(指定组织)

参数2:Level(指定级别)

函数说明:

查询组织Unit的负责人,再递归查询其上级,直至某个人的员工职级在Level之上(该员工的员工职级<= Level),返回该人。

PS:

员工职级有管理员用户在员工信息中进行设置,职级内容为数字,1为最高。函数执行是第一个被查询到的员工职级小于/等于level的员工将被返回

2.7 返回某组织指定层级的上级组织的负责人

函数名:ManagerByUnitLevel

参数1:Unit(指定组织)

参数2:Level(指定级别)

函数说明:

从组织Unit向上递归查询,直至某组织的组织层级小于等于Level,返回其负责人。

PS:组织层级由系统自动判断,公司顶点的组织层级为0,向下依次加1。

场景举例:华东区下属销售部门员工A申请请假,需要华东区负责人进行审批,查询逻辑为从员工A所在部门向上查询,直至组织类型为“大区”(华东区),查询该部门的负责人。

按照公司的组织结构,顶点部门level为0,向下依次递增。

 

2.8  查询指定人员的上级

函数名:ManagerOf

参数:User(指定人员)

函数说明:

查询指定人员User的上级,如果没有上级,找所在部门负责人

2.9 查询某部门的负责人

函数名:OUManagerOf

参数:Unit(指定组织)

函数说明:

查询组织Unit的负责人

2.10 查询某组织范围内某角色指定层级区间角色的成员

函数名:ParentPostByLevelRange

参数1:Unit(指定组织)

参数2:PostCode(角色编码)

参数3:StartLevel(起始角色层级)

参数4:EndLevel(截止角色层级)

参数5:CategoryCode(组织类型)

函数说明:

将组织Unit上级组织中第一个组织类型编码为CategoryCode的组织或顶点组织为顶点的树形组织结构,记为查询范围A。

递归查询角色PostCode的所有上级角色,获得角色层级在StartLevel和EndLevel区间内的角色集合,记为集合B。

在范围A中,查询所有集合B中角色的成员。

2.11 查询某角色上级角色的成员

函数名:ParentPostOf

参数1:Unit(指定组织)

参数2:PostCode(角色编码)

参数3:CategoryCode(组织类型编码)

函数说明:

查询角色PostCode的上级角色成员

查询范围为:组织Unit上级组织中第一个组织类型编码为CategoryCode的组织或顶点组织为顶点的树形组织结构

查询范围中中,角色PostCode的上级角色的成员

2.12 递归上级角色到指定级别

函数名:RecursivePostOf

参数1:Unit(指定组织)

参数2:PostCode(角色编码)

参数3:Interval(截止角色层级)

参数3:CategoryCode(组织类型编码)

函数说明:

递归上级角色到指定级别

查询范围为:组织Unit上级组织中第一个组织类型编码为CategoryCode的组织或顶点组织为顶点的树形组织结构

2.13 RecursiveManagersOf

函数名:RecursiveManagersOf

参数1:Unit(指定组织)

参数2:Level(指定员工级别)

函数说明:

获取指定用户递归上级经理到指定员工级别的经理的集合

PS:过时的方法,不推荐使用

2.14  获取指定用户的秘书  

函数名:SecretaryOf

参数:User(指定用户)

函数说明:

获取用户User的秘书

2.15  调用业务服务中的方法

函数名:ExecuteBizService

参数1:ServiceName(业务服务方法的服务编码)

参数2:MethodName(业务方法名称)

参数3:Param(方法参数,多个之间用“,”隔开)

函数说明:执行业务服务方法,获取返回值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息