历史版本6 :定时任务CPR文件内容权限控制 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

一般在公司的系统中会有工资选项,在月底的时候就可点击查看当月的工资信息,即定时的在每个月月底,将当前用户当月的工资信息挂载在指定的工资节点上,这个该如何实现呢?

2. 解决方案编辑

在定时任务的输出设置的挂载虚拟目录中,有一个选项根据用户选择不同的内容,可以在此处选择不同的用户,在执行定时任务时,会根据参数$fr_username进行数据过滤,根据用户选择不同的内容选项后面的下拉框中的值,相当于给$fr_username赋值,则在schedule文件夹的用户文件夹下生成的cpr文件内容是相应用户的工资信息,

3. 示例编辑

在系统虚拟目录树FRTest下面有个工资表的节点,每个月月底的时候,可查看当前用户该月的工资信息。
3.1 模板准备
1)数据准备
在设计器中点击服务器>服务器数据集,新建一个内置服务器数据集staff,其内容如下图:
222
注:由于需要将该用户信息同步到数据决策系统中,故只能使用服务器数据集。
2)模板制作
新建一张模板,将服务器数据集staff中的数据列拖曳至单元格中,并给name数据列添加过滤条件,如下图:
222
已完成模板请参照%FR_HOME%\WebReport\ReportServer\reportlets\doc\SpecialSubject\timer.cpt
3.2 用户配置
点击管理系统>用户管理,导入staff数据集中的用户,如下图:
222
用户导入详细请查看导入用户
3.3 新建定时任务
用户配置好之后,点击管理系统>定时调度,新建一个定时任务工资表,模板为上面新建的模板timer.cpt,调度周期为每个月的最后一天12点执行,如下图:
222
222
具体添加过程请查看定时生成日报
3.4 输出设置
上面提到定时任务执行完成之后,在系统的虚拟目录树FRTest下面显示用户的工资表节点,当员工登陆系统之后,点击工资表节点,即可看到自己的工资信息。
根据用户选择不同的内容
点击下一步进入定时任务输出设置界面,文件名称为工资表挂载虚拟目录为FRTest,附件类型选择excel,勾选根据用户选择不同的内容,并在下拉框中选择需要发送任务执行结果的用户,此时虚拟目录上的cpr节点就会根据下拉框中的数据进行过滤,比如说上面的模板,有过滤条件name=$fr_username,那么在保存cpr文件时,会根据用户名来存档,并实现过滤,定时任务执行完成之后,在%FR_HOME%\WebReport\WEB-INF\schedule\文件名称\日期\时间会生成用户文件夹,
222
文件夹名称分别为上图下拉框中的用户名,如,Anna文件夹下的cpr文件在保存之前就会先将$fr_username赋值为Anna,实现过滤之后再保存,这样就保证,该cpr文件中只有Anna的信息,当Anna登陆系统的时候,挂载在FRTest下面的工资表节点就指向该cpr文件,那么Anna就只能看到自己的工资信息了。
注:下拉框中勾选的用户就相当于给参数$fr_username赋值。
3.5 cpr节点权限分配
定时任务执行完成之后会生成cpr文件,cpr文件挂载的虚拟目录FRTest下面,那么用户登录系统查看该cpr文件工资表的时候,首先需要有该节点的查看权限。
点击管理系统>权限管理>报表权限快捷配置,将FRTest整个文件夹的权限分配给技术支持整个部门,如下图:
222
详细的配置过程请查看根据部门职位分配权限
注:给用户配置虚拟目录树的权限,如果将某个文件夹的权限分配给用户角色,那么之后添加在该文件夹下的新模板均会自动分配给该用户角色。
3.6 效果查看
cpr节点效果查看
用Anna的账号登录系统,可以看到FRTest目录下面有一个工资表的节点,点开节点,可以看到模板中只显示了Anna的工资信息。
222

同理,用其他几个用户的账号登录后,点开工资表,均只能看到该用户的工资信息。