流程参与人的服务。
用于计算各种办理人、解析相关表达式等。
| Modifiers | Name | Description |
|---|---|---|
static Object |
aliasOverridingOrder |
| Type | Name and description |
|---|---|
bropen.framework.core.OsmEmployeeService |
osmEmployeeService |
bropen.framework.core.OsmOrganizationService |
osmOrganizationService |
ProcessScriptService |
processScriptService |
bropen.framework.core.SecRoleService |
secRoleService |
| Type | Name and description |
|---|---|
List<bropen.framework.core.osm.EmployeeIdentity> |
getActorEIsByOrg(Object org, Map options = [excludes: null)根据机构获取所在机构下相关人员 |
List<bropen.framework.core.osm.EmployeeIdentity> |
getActorEIsByPos(String position, Object org = null, Map options = [excludes: null)根据机构获取所在机构下的指定岗位下的人。 |
List<bropen.framework.core.osm.EmployeeIdentity> |
getActorEIsByTaskNode(Object taskNode, ProcessInstance processInst, Map options = [excludes: null])根据环节名称/环节id获取环节实际办理人 |
List |
getActorsAll(boolean stepLoad = true)获取系统内所有人 |
List<bropen.framework.core.osm.Employee> |
getActorsByEmp(String emp, Map options = [excludes: null])根据人员名称(s)/人员id(s)/人员账户(s)获取相关人员 |
List |
getActorsByExpression(bropen.framework.core.osm.Employee emp, ProcessInstance processInst, Task task, SequenceFlow sequenceFlow, UserTask nextNode, Map options = null)计算常用的处理人 |
List |
getOsmEntitiesByExpression(String expression, bropen.framework.core.osm.Employee emp, ProcessInstance processInst, Task task, Object taskNode, Map options)根据表达式及当前流程、任务信息,获得员工身份或机构列表 |
| Methods inherited from class | Name |
|---|---|
class Object |
Object#wait(long, int), Object#wait(long), Object#wait(), Object#equals(Object), Object#toString(), Object#hashCode(), Object#getClass(), Object#notify(), Object#notifyAll() |
根据机构获取所在机构下相关人员
org - 机构实例(s)/机构id(s)/代码(s)/全名(s),机构实例多值为 List<Organization>,其它多值“;”分割 参数写法:'id:XX;YY'或者'code:XX;YY'或者'fullName:XX;YY',多值时“;”分割 含义:id:机构的ID;code:机构的代码;fullName:机构的全名称。
options - 控制参数,默认为 [excludes:null, uppers:false, level:'A', lowers:false, orgLevel:'CU']options.excludes - 剔除人员列表options.uppers - 是否递归寻找领导options.level - 人员类型 (S 主管领导;A 全部(不含属于上级机构、并在本机构担任主管领导岗位的员工);L 领导;M 正领导;D 副领导;N 员工)options.lowers - 是否包含下级机构options.orgLevel - 机构级别 ('U'上一级;'C'单位级别;'CU'当前级别)。根据机构获取所在机构下的指定岗位下的人。当机构为空时,获取全部机构下的。
position - 岗位代码(s)/岗位名称(s) 参数写法: 'code:XX;YY'或者'name:XX;YY',多值时“;”分割 含义:code:岗位的代码;name:岗位的名称。
org - 机构实例(s)/机构id(s)/代码(s)/全名(s),机构实例多值为 List<Organization>,其它多值“;”分割 参数写法:'id:XX;YY'或者'code:XX;YY'或者'fullName:XX;YY',多值时“;”分割 含义:id:机构的ID;code:机构的代码;fullName:机构的全名称。
options - 控制参数,默认为 [excludes:null, lowers:false, orgLevel:'CU']options.excludes - 剔除人员列表options.lowers - 是否包含下级机构options.orgLevel - 机构级别 ('U'上一级;'C'单位级别;'CU'当前级别)。根据环节名称/环节id获取环节实际办理人
taskNode - 环节实例(s)/环节名称(s)/环节id(s),环节实例多值为 List<TaskNode>,其它多值“;”分割options - 控制参数,默认为 [excludes:null]options.excludes - 剔除人员列表。获取系统内所有人
stepLoad - 是否分级加载。当为true时,会返回第一级的Organization。根据人员名称(s)/人员id(s)/人员账户(s)获取相关人员
emp - 人员id(s)/姓名(s)/账户(s) 参数写法:'id:XX;YY'或者'user:XX;YY'或者'name:XX;YY',多值时“;”分割 含义:id:人员的ID; name:人员姓名; user:登录账户。
options - 控制参数,默认为 [excludes:null]options.excludes - 剔除员工身份列表。计算常用的处理人
options.isManual - 是否是前台手动选择的,如果是则返回结果可能为机构列表、并且相同员工的多个EI不会只保留主职,默认为false根据表达式及当前流程、任务信息,获得员工身份或机构列表
expression - 表达式:
- 员工ID表达式:数字,暂只支持一个员工
- 员工用户名表达式:形如 user:XX,如果多个则 user:[XX,XX]
- 角色表达式:“ROLE_”开头的字符串,多个角色之间以逗号或分号分割,注意只支持直接关联的用户、且不支持角色继承。
- 机构代码/ID表达式: 形如“org:XX”的字符串;如果多个机构,则形如“org:[XX,XX]”; 如果表示员工所在机构,则固定为“org:.”;如果表示员工所在单位,则固定为“org://”;如果表示所有人(组织机构根节点),则固定为“org:/”; 形如“orgCode:XX”的字符串;如果多个机构,则形如“orgCode:[XX,XX]”;该种形式主要针对于机构code是数字类型的时候,以防和机构ID混淆; 形如“orgSyncId:XX”或“orgSyncId:[XX,XX]”:根据机构同步ID进行查找。
- 群组代码表达式,形如“grp:XX”的字符串;群组名称表达式,形如“grpName:XX”的字符串;XX可以有多值,如[XX,YY]; 此外,还可以使用 EmployeeIdentity.findAllByGroup[Name] 来实现其他个性化需求。
- 岗位代码表达式,形如“pos:XX”的字符串; 岗位ID表达式,形如“posId:123”的字符串; 岗位名称表达式,形如“posName:XX”的字符串;XX可以有多值,如[XX,YY]; 如果表示当前员工所在机构的岗位,则XX加前缀如“./XX”;如果表示所在单位,则XX加前缀如“//XX”;如果表示某个机构,则XX加机构代码前缀如“aa/XX”、“[aa,bb]/XX”; 如果包含下级部门的岗位,则在前缀的/后面加后缀*,如“./*XX”;如果包含下级单位和部门的岗位,则加**,如“./**XX”; 如果表示起草人所在机构,而不是当前员工所在机构,则再加前缀^,如“^./XX”、“^//*XX”; 否则表示所有机构下的代码或名称相同的岗位。 此外,还可以使用 EmployeeIdentity.findAllByPosition[Name] 来实现其他个性化需求。
- 脚本:返回Employee列表或一个Employe对象,或者一个表达式字符串(进行二次计算),脚本中包含额外的可直接使用的参数:nodeName、isManual、isTimeout、sequenceFlow(别名sf)
- 独立的字符串:drafter,表示为起草人,等同于脚本“[drafter]”
- 独立的字符串:drafterEI,表示为起草人身份,等同于脚本“[drafterEI]”
emp - 当前员工:表达式为机构表达式或自定义脚本时,需要参与计算processInst - 流程实例task - 当前任务taskNode - 表达式所在的环节options.sequenceFlow - 路径对象,别名 sfoptions.isManual - 是否是前台手动选择的,如果是则返回结果可能为机构列表、并且相同员工的多个EI不会只保留主职;默认为false,即返回员工身份列表。options.isTimeout - 是否是超时任务