报表如何同步用户数据集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了报表如何同步用户数据集相关的知识,希望对你有一定的参考价值。

1. 描述

企业职工人数是相当多的,并且由于人员的流动性,用户信息一直在变化,如果每次都通过手动添加修改,工作量将会很大。那么该如何实现动态的更新平台系统中的用户信息呢,使之随着数据库中的用户信息一起变化。

FineReport提供了同步数据集功能将已有的用户信息直接导入到决策系统中,并且与数据库中数据保持一致。

注:不同于手动添加用户中的导入服务器数据中的用户信息,开启了数据集同步后,用户信息将跟随数据集同步,动态改变、实时更新,即若数据库信息改变后,决策系统中的用户信息也会随之改变。

2. 步骤

2.1 将用户信息定义为服务器数据集

设计器中点击服务器>服务器数据集,安装FR后,默认有一个服务器数据集用户信息表,该表中包含了用户名、部门、职务、邮箱等等信息,服务器数据集添加过程请查看服务器数据集。

2.2 开启数据集同步

登陆数据决策系统http://ip:端口/appName/ReportServer?op=fs,使用管理员账号登陆。

点击管理系统>用户管理,进入用户管理界面,点击上面的设置按钮,进入用户设置界面,如下图:

技术分享

2.3 配置同步数据集

在弹出的设置面板中,点击用户同步数据集选项后面的开启按钮,下拉出配置同步数据集选项,为数据决策系统的用户信息绑定字段,如下图:

技术分享

注:同步数据集字段绑定的过程与手动添加用户中的配置过程一样。

注:如果需要同步部门间层级关系,则需要选择按照部门层级构建的树数据集,详见从数据库导入部门间层级关系。

密码加密

7.0.3版本为数据集的配置新增了密码加密方式,有三种加密方式:不设置密码加密,自定义密码加密,内置MD5加密。

自定义密码加密,即自定义一个密码加密类,加密方式在类中描述,并保存在%FR_Home%\WebReport\WEB-INF\classes文件夹中。

技术分享

注:自定义加密算法,不管该算法的具体方式是什么,都必须继承FineReport的AbstractPasswordEncode类,并加上返回判断明文密码和密文密码是否一致结果方法才可行。

自定义加密示例请查看简单权限之密码加密。

注:数据集同步设置完成后要重新登录,原因是切换了登录的方式,原先的登录数据需要清除,如果不重新登录会产生很多无法估计的错误,比如多人登录时由于登录方式切换,各种参数的保存位置会发生混乱等。

2.4 查看效果

重新登录后,点击管理系统>用户管理>所有用户,就可以看到,数据库中的用户信息自动加载进来了:

同样“机构部门”也会根据数据自动生成。

注:所有用户及机构部门都是从数据库自动生成的,不能进行修改。

技术分享


这时打开管理系统>权限管理,选择角色,可以看到在同步数据集中添加的角色也添加进来了,添加进来的角色背景为黄色,如下图:

 技术分享

2.5同步数据集可设置同步频率、手动立刻同步

 现在同步间隔时间太短影响fs性能。同步时间设置长了之后,无法满足及时同步的需要。 因此现在界面提供一个手动同步的地方,可设置同步频率(单位s),有同步按钮,可立刻同步,如下图:

技术分享


以上是关于报表如何同步用户数据集的主要内容,如果未能解决你的问题,请参考以下文章

润乾集算报表的脚本数据集

复杂报表设计之动态报表

MongoDB报表实例方案选型

Azure DevOps Server(TFS): 在Excel中解除服务器同步

finereport 数据决策系统怎么用

如何在FastReport报表中动态添加数据集