1.需求背景
场景一:在Smartbi系统中的用户管理的组织结构是:XX银行-总行-各部门,XX银行-分行-xx分行-各部门,部门下面就没有用户组层级了,但是实际业务上部门下面还有 经理-主管-普通员工,审批的关系和用户组结构对不上。
场景二:同一个用户拥有多个身份,例如:某个部门的部门经理,在另一个部门兼职副总等,需要用户在提交流程的时候,以什么身份进行。
2.功能说明
3.使用说明
3.1. 扩展包部署
扩展包:Smartbi_Special_ProcessConstraint
部署说明:扩展包部署
约束说明:该扩展包需要搭配 2024-12-17 之后 V11对应的War 包使用。
更新扩展包之前,请做好知识库以及扩展包的备份。
3.2.功能入口
部署扩展包后,可以在【运维设置】-【系统选项】-【用户管理】-【用户密码管理】-【禁用密码列表】的对话框中,看到新增了两个按钮:下载 、导入
3.2.1. 下载
点击【下载】后,会把当前数据库中存储的禁用密码导出成excel,文件名为DenyRules.xls
3.2.2. 导入
1)点击【导入】时,会显示一个对话框
点击【下载模板】,可以将模板文件下载到本地,并严格按照模板的要求进行相关内容的设置
注意
1)【类型】字段需要用对应的代码来匹配
例如:字符串:rawtxt;正则表达式:regexp
2)【密码】不允许“中文字符”,只允许密码常用的“数字”、“字母”、“特殊字符”
2)点击【选择文件】,把修改好的 xls 或者 xlsx 文件进行上传即可
注意
上传的文件大小受【系统选项】-【公共设置】的“允许上传的文件大小:”选项限制。
3)点击【确定】,可以看到刚刚在excel中的密码显示到了 禁用密码列表 对话框中:
注意
采用文件导入时,会以 全量 的形式导入,也就是会将当前对话框中的密码全部清空,然后显示文件中的密码。
4)点击【确定】,就可把数据进行保存
注意
后端日志中有相关成功和失败的信息
功能使用
1、先梳理数据导出控制的关系,尽量按业务场景、按人群去做数据导出控制。
2、创建审批关系填报报表(表样参考如下),批量导入或回写申请人和审批人的关系数据。回写内容包括:数据、申请人、审批人,其中申请人和审批人需要填写系统用户管理中的用户名称。
产品中不同用户组下不允许存在名称相同的用户。
数据(非必填) | 申请人(填用户名称) | 审批人(填用户名称) |
经营分析数据 | 00002256 | 00009948 |
销售订单数据 | 00008944 | 00001123 |
销售订单数据 | 00002256 | 00001766 |
3、在系统中创建一个审批角色 数据导出角色,专门用了限定做导出审批的用户。
如果项目审批用户较多,可通过以下计划任务脚本示例,帮用户一键授予角色,读上面的填报报表审批人列表,批量授予 数据导出角色 。
其中需要修改配置如下:
roleId:授予的角色ID;
dsId:数据源的ID,即步骤2中回写的表所在smartbi数据源模块中的数据源ID;
sql:该SQL语句获取审核人用户名称,只需要返回smartbi的用户登录名称即可。
4、创建用户属性,根据当前登录用户,获取下级流程节点对应审批人。
5、在 系统选项>公共设置>获取审批约束对象中,选择第4点创建的用户属性。
6、在流程管理中,修改系统内置的导出审批流程,或者创建新的审批流程,处理人选择 数据导出角色,用户组约束选择对应的 用户属性。
- 系统内置的导出审批流程资源所在路径:运维设置\模块配置与管理\流程管理\system\数据导出\导出数据审批流程。
- 下面以用户自己创建的审批流程为例,说明设置审批流程的过程:
- 新建一个审批流程,配置节点名称:
- 为了能正常提交审批,申请导出(起草任务节点)和审批(用户任务节点)需要分别绑定系统内置的审批页面
- 申请导出(起草任务节点)绑定的URL地址为:../vision/ExportApplyView.jsp?action=APPLY 。
- 审批(用户任务节点)绑定的URL地址为:../vision/ExportApplyView.jsp?action=HEADAPPROVAL
- 审批(用户任务节点)中, 处理人选择 数据导出角色 ,用户组约束中选择对应的 用户属性。
- 启用并保存流程,到此审批流程创建完毕。
- 在系统中创建导出规则,配置导出规则的生效对象(数据)、应用范围(用户/角色/用户组)、和审批流程。
- 此时,就会根据申请人,获取 数据导出角色 和 获取审批约束对象中交集部分作为流程下个节点的处理人,实现动态获取下个节点的处理人效果。
- 流程审批通过后,系统将发送消息给用户,用户可到文件管理中心下载对应的文件数据。