1.功能描述
① 人员脚本和脚本相同点:都是通过脚本查询人员,后端调用的代码其实是一致的。
② 人员脚本和脚本的区别在于:人员脚本是开发人员开发脚本后,管理人员通过人员脚本配置界面配置好这个脚本,流程配置人员可以通过界面直接进行配置。对于配置人员来说使用起来相对方便。
③ 脚本策略是流程配置人员在脚本输入框直接输入脚本的方式这种方式需要配置人员懂得java脚本的编写,对于配置人员难度大一些。
2.操作指引
第一步:在后端代码中开发好人员脚本(请参考文档[宏天软件EIPSAAS_流程脚本(常用脚本、人员脚本)开发说明])
第二步:【流程中心】→【辅助功能】→【人员脚本】;
第三步:点击“添加”按钮;
第四步:设置人员脚本;
第五步:单击“保存”。
注:是否有效设置为“无效”时,在审批人员设置-人员脚本中将不能选择到该人员脚本
3.脚本测试
模块提供脚本测试功能:选择脚本,输入参数后,便可获取到对应的人员;
•人员脚本使用说明
1.getRoleByAlias(根据角色别名获取角色列表)
①:固定人配置---指定固定的角色,每次流程启动时,会去找该角色配置下的人员
审批人是选择的角色下的人员,下面是效果图:
②:变量配置---通过表单中选择的角色编码来获取审批人
注:根据不同的选择,选择的不同,审批人会同步发生变化。后面的脚本配置中,不再说明固定值配置,只说明变量配置,固定值大部分根据说明直接选择即可,以及变量配置中用的用户选择,组织选择,维度选择的配置等,同角色选择,不再过多说明。
2. getUpChargesByOrgId (获取上级组织负责人(包含主负责人)或主负责人)
注:此配置只能单选,不支持同时选择多个部门
3. getChargesByPreNode (获取上一节点执行人的部门负责人(主组织))
注 :上一个节点审批人必须设置有主组织,否则不生效
4. getByRelPreNode (通过上一节点执行人获取汇报线上级人员列表)
5. getByRelStartUser (通过发起人获取汇报线上级人员列表)
4,5配置相同,只是获取节点不同,现举例4脚本配置
6. getUserFromSubData (从子表数据中提取节点审批人--固定值生效 )
注:1.此配置只能用固定值,不能配置为变量;2.子表别名前一定要加sub_
7. getChargesByPOrg (获取当前用户的上级部门(主)的负责人)
8. getChargesByStartPOrg ( 获取发起人的上级部门的(主)负责人 )
7.8配置相同,只是取节点不同,现介绍一种配置
注:审批人必须有主组织,例如李明的主组织是开发部; 不能同时选择多个维度,维度只能选择一个。
9. getChargesByOrg (获取当前用户所在部门的(主)负责人)
10. getChargesByStartOrg (获取发起人所在部门的(主)负责人)
9,10配置相同,举例10的配置用法
设置张东用户的负责人:
使用张东账号登录应用端,并启动流程:
注:发起人(当前用户)必须设置有主组织;维度变量只能选择一个,不支持多选。
11. getOrgById (根据组织id查询组织作为候选处理人(不抽取))
该配置不会把选择的组织下的所有人员抽取出来,若没有人员,则审批节点为空
12. getByOrgRelDefCode ( 通过职务编码和组织编码查询用户 )
注:组织和职务变量不支持多选,必须是一对一;若职务与组织查询无人员,则审批人为空。
13. getListUserByRelCode (根据岗位编码获取人员列表)
下面是测试2岗位下的人员信息:
注:此配置会把所选择的岗位下的所有人员抽取出来,没有人员则审批人为空
14. getMainByOrgId (获取该组织中为主组织的人员列表)
此配置会抽取出选择的组织中设置为主组织的人员,无满足条件的人员则审批条件为空
15. getChargesByOrgId (获取组织负责人(包含主负责人)或主负责人)
下面是组织管理下方的人事部的人员信息:
注:此配置会抽取出选择的组织中设置为主负责人(负责)的人员,无满足条件的人员则审批条件为空
16. getByCompanyRole(找这个组织下有这个角色的人员)
这个脚本可以找到指定组织以及这个组织下所有子组织中,拥有某个角色的人员,并取这个人员作为审批人。
组织编码:填写对应的组织编码(orgid)
角色别名:填写对应的角色编码(rolecode)
示例:李四在“zidu2”组织内,并且拥有“空角色”的角色
在getByCompanyRole设置组织编码和角色别名
17. getLeaderStep(获取逐级审批)
这个脚本可以根据组织级别从当前发起人的主组织一直往上找到每个组织的主负责人做审批人,是否需要上级,可以取出当前发起人的上级人员(根据下属管理),该脚本逻辑是从下级组织往上取主负责人,若有上级人员(根据下属管理)则先取上级人员来审批。
级别:填写对应的组织级别,此处的级别是指最多找到哪个级别的组织,例:2,意味着会一直往上找,直到找到级别为2的组织才会停止
是否需要上级:填写true(是)或者false(否)
组织级别:即uc_org里面的grade_字段,需要自己去手动填写,示例:
18. getLeaderStepByOrgId(根据组织id获取逐级审批)
注:组织id:填写开始找主负责人组织id;组织级别:填写对应的组织级别,此处的级别是指最多找到哪个级别的组织,例:2,意味着会一直往上找,直到找到级别为2的组织才会停止
19. getUserById(根据id获取审批人)
20.getUserFromBusSql(sql查询用户id )
Sql参数:直接写入查询用户id的语句即可,例如:select id_ from uc_user where id_=’1’
或者select sprID from w_xxxx
也可以根据表单上的变量做过滤条件
示例:"SELECT F_A FROM W_A WHERE ID_ = '"+xz.getString("zd")+"'" //xz.getString("zd")为表单变量