设置某个流程的申请人为整个公司节点,但需要进行筛选,只有符合某些条件的人才能使用该流程,这个需求很常见。
这个筛选条件是施加在人员维度表上的。格式如下:
AAA?BBB
其中AAA是一个直接的SQL条件,例如: SexKey=’2’ 筛选男员工。
其中BBB是一个用于前置筛选的参数,例如: 先执行前置筛选(筛选出所有是直接上级的人员),然后再这些人中再筛选男的。
BBB的格式: bbb:ccc
其中bbb表示前置筛选的结果列,例如DirectLeaderKey
其中ccc表示前置筛选的SQL条件,例如: not (DirectLeaderKey is null or
DirectLeaderKey='1'),表示筛选出所有是直接上级的人员。
bbb:ccc表示先筛选(ccc)出所有是直接上级的人员,然后把这些人作为条件查询(bbb)
DirectLeaderKey列DirectLeaderKey in (这些人),
因此:
SexKey=’2’?DirectLeaderKey:not (DirectLeaderKey is null or
DirectLeaderKey='1')
表示:先执行前置筛选(筛选出所有是直接上级的人员),然后再这些人中再筛选男的。
这样只有满足该条件的人员,才会作为该流程的申请人。
注意:AAA和BBB可以分别为空。