Web报表工具FineReport定时器使用说明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
Web报表工具FineReport定时器使用说明
本书介绍了报表工具FineReportV6.5定时器功能的相关参数及配置说明,本书最后详细列举了几个使用定时器功能的模板制作示例。

6.5定时器配置简要说明 (2)
6.5定时器参数专题 (10)
6.5定时器填报 (15)
6.5定时器日报专题 (19)
6.5定时器月报专题 (24)
6.5定时器年报专题 (29)
6.5定时器邮件专题 (33)
/
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
6.5配置简要说明
在制作报表中,您可能需要面临定期产生,定期发布等问题,FineReport提供了定时器这个功能,对于6.5版本,在6.2的基础上进行了扩充,可在页面直接进行操作,下面就简单介绍一下。

1.配置环境
此环境是自在tomcat环境中配置的,因此需要把FineReport6.5安装目录下的WebReport文件拷贝到%Tomcat_HOME%/webapps/下
1.1整合web.xml
打开%Tomcat_HOME%/webapps/WebReport/WEB-INF目录下的web.xml,将
<servlet>
<servlet-name>ScheduleServer</servlet-name>
<servlet-class>com.fr.schedule.ScheduleServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ScheduleServer</servlet-name>
<url-pattern>/ScheduleServer</url-pattern>
</servlet-mapping>
<listener>
<listener-class>com.fr.schedule.ScheduleInitializerListener</listener-class>
</listener>
整合到现有的web.xml中,如下图
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
1.2拷贝数据库
在WebReport\WEB-INF\resources\data下面新建文件夹schedule;将hsql数据库放置到该文件夹里面,如图所示
1.3替换jar包
将fr-server-6.5.jar和fr-third-6.5.jar替换WEB-INF\lib下原来的jar包,如下图所示
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
1.4查看
启动tomcat服务器,打开链接
http://localhost:8088/WebReport/ScheduleServer?action=dashboard,8088是tomcat服务器的端口,可改变。

这样就可看到定时器管理界面,如图所示
2.添加定时任务
在Schedule页面上可直接添加定时报表,
2.1添加定时报表
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
点击页面最下面的添加定时报表,如图所示
在此页面填入报表的名字,并选择报表路径,选择是否填报,如下图所示
注意:如果非火狐浏览器,下面的确定按钮和取消按钮将被遮住,需要滚动鼠标点击确定按钮,在schedule页面就出现该模板,如图
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
2.2添加定时任务
在schedule界面中,点击相应的定时报表栏中添加定时任务按钮,如图
点击后出现如下界面
点击添加定时任务按钮,进入定时任务的基本设置页面,在页面中必须填写任务名称,任务描述可有可无,如图
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
点击下一步,进入第二步,时间表设置,可对时区选择,开始的时间可选择立即执行,也可自定义开始时间,循环方式有三种不循环,即定时器只执行一次,
点击下一步,进入第三步,参数设置,可添加参数,可删除参数,可根据模板自动生成参数
点击下一步,进入第四步,导出设置,填写文件显示名,并选择管理目录,导出文件类型可选择cpt,excel,pdf,word四种格式,并选择是否邮件通知
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
如果选择邮件通知,则会出现如下图所示页面,必须要填入发送的地址,其他可不填
点击完成,生成定时任务,加入定时任务列表,如下图所示
∙ 帆软(中国)有限公司
∙ 商务咨询电话:86-025-5186 2240
∙ 商务咨询邮箱:business@ ∙
公司网址:
3. 浏览
定时任务生成的新报表都放
在%Tomcat_Home%\webapps\WebReport\WEB-INF\schedule\taskName\actionName 文件夹下面。

其中taskName 是根据上面例子添加任务中的任务名称:日报定时任务。

actionName 是根据定时器的日期,比如上述例子就是2010-03-31。

actionName 文件夹下将产生根据定时任务生成的定时文件的时间命名,如上述例子,根据定时任务,在11:52的时候生成新的报表和excel,所以该文件夹的命名为1152,在该文件夹下根据上面例子生成三个文test_20100331115225265_841.cpt;test_20100331115225281_569.xml 和
info.xml
点击定时器任务所在的目录,我们能在左边窗口看到添加的定时报表以及由定时任务生成的文件,生成的文件名就是在上面第四步中的导出文件名,如下图所示
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
6.5定时器参数专题
在FineReport定时器中,参数尤为重要,特别是时间参数,在涉及到时间的定时任务中都需要用到它的公式。

下面就详细介绍一下定时器的参数。

1.时间参数
定时器中主要用到的时间参数如下:
日报
当前日期的前一天:Format(today()-1,”yyyy-MM-dd”)
周报
当前日期的上一周的第一天:
Format(dateInWeek((today()-7),1),”yyyy-MM-dd”)
当前日期的上一周的最后一天:
Format(dateInWeek((today()-7),7),"yyyy-MM-dd")
当前日期的上上周的第一天:
Format(dateInWeek(dateDelta(dateInWeek((today()-7),1),-7),1),"yyyy-MM-dd") 当前日期的上上周的最后一天:
Format(dateInWeek(dateDelta(dateInWeek((today()-7),7),-7),7),"yyyy-MM-dd") 月报
当前日期的上一个月的第一天:
Format(dateInMonth(monthDelta(today(),-1),1),"yyyy-MM-dd")
当前日期的上一个月的最后一天:
Format(dateInMonth(monthDelta(today(),-1),daysOfMonth(monthDelta(today(),-1 ))),"yyyy-MM-dd")
当前日期的上上月的第一天:
Format(dateInMonth(monthDelta(dateInMonth(monthDelta(today(),-1),1),-1),1), "yyyy-MM-dd")
当前日期的上上月的最后一天:
Format(dateInMonth(monthDelta(dateInMonth(monthDelta(today(),-1),daysOfMont h(monthDelta(today(),-1))),-1),daysOfMonth(monthDelta(dateInMonth(monthDelt a(today(),-1),daysOfMonth(monthDelta(today(),-1))),-1))),"yyyy-MM-dd")
年报
当前日期的上一年的第一天:
Format(dateInYear(yearDelta(today(),-1),1),"yyyy-MM-dd")
当前日期的上一年的最后一天
Format(dateInYear(yearDelta(today(),-1),daysOfYear(yearDelta(today(),-1))), "yyyy-MM-dd")
2.其他类型参数值
报表当中除了时间参数之外,为了节省报表设计的工作量和减少报表文件的总量,我们往往要在报表里面加入其他的参数。

例如主机名,指标名等等。

首先我们在报表里面定义这些参数的时候,建议使用中文的参数名称,这样在定时生成之后,在报表查看时上方的参数名称也就是直接读的在报表
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
当中定义的参数名称。

中文对于最终用户来说比较容易理解。

在报表当中有这些参数的时候,定时生成的时候,我们需要设定参数包含哪些具体的值。

比如exchange邮件服务器的性能报表,在哪几台机器上
有exchange,exchange又包含哪些参数指标。

这些我们都需要通过定义全局数据源得到。

也就是说,我们先定义好一个全局数据源,该数据源返回的结果是exchange服务器所在的所有主机。

然后在设置定时生成的时候,主机这个参数的参数类型,设置为“列”。

选择我们已经定义好的全局数据源,以及该数据源中代表主机的列即可。

这样在这个数据源内返回了多少结果,则报表在生成的时候,会每一个值生成一个报表。

有一种特殊的情况,也许要通过多定义一些全局数据源来实现。

例如我们的报表当中,有一部分是windows主机的性能报表。

但是windows的主机又分为OA和CallCenter。

如果分开来设计报表的话,是一种重复劳动。

解决的办法,就是通过定义不同的全局数据源。

还是以主机这个参数举例。

在全局数据源里面定义两个不同的数据源分别返回的结果是OA的主机和CallCenter的主机。

然后我们只要设计一张Windows主机的报表即可。

在定义定时任务时,可以定义两个不同的action, 只是主机这个参数定义的时候,选择的数据源不同。

选择OA的主机,那么生成的报表就是OA的性能报表,选择CallCenter的主机,生成的即是CallCenter的报表。

再举一个例子。

各个业务系统的报表,也可以通过这个方法,大大减少报表的数量。

例如业务系统的日报,我们只需要设计一张报表。

在设置定时生成的时候,业务系统这个参数,可以分别设置固定的值。

即十个不同的action。

3.简单例子示例
3.1制作带参的模板
新建内置数据集e1,如图所示
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
添加参数p1,控件类型为日期类型,参数界面设置如下
表样设计如下图所示,并在B4单元格中添加过滤条件:
date=$p1
3.2添加定时报表
在定时器管理界面点击按钮,添加定时报表,如下图所示
3.3添加定时任务
点击定时器界面相应模板的添加定时任务,并点击
第一步基本设置,如图
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
点击下一步进入时间设置,选择立即执行,循环方式选择不循环,如图
点击下一步,进入参数设置,直接点击界面上的按钮,自动生成报表中所带的参数,并双击参数的值,对参数值进行编辑,参数类型选择公式,将参数值设为:Format(today()-1,"yyyy-MM-dd"),该公式表示当前日期的前一天,如图所示
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
点击下一步,进入导出设置,填写文件显示名,并选中管理目录和导出文件类型,如图所示
点击完成,生成定时任务
3.4生成文件预览
刷新管理界面,发现生成定时文件参数测试1.cpt
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
点击该生成文件,预览,如图
6.5定时器填报
定时器的另一个重要功能就是可以用来定时填报,通过定时功能实现自动填写功能,而不必一个一个的手动输入,下面就通过一个例子介绍一下6.5版本定时器填报的用法
1.制作简单填报模板
连接数据库scheduleDemo,新建模板,并添加数据库查询ds1:SELECT year(countdate) as year,month(countdate) as month,empid,num FROM empdetails where year(countdate) = ${year} and month(countdate)= ${month},并将year参数的默认值设为2010,month参数的默认值设为4。

报表样式设计如图所示,并双击A3单元格,选择高级里面的自定义显示值:=CONCATENATE($$$,"年",month,"月"),将C3单元格设置为:汇总|求和
报表填报属性设置,如图所示,将empdetails表中的值插入到表empcount中去
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
报表制作完成之后将模板存储到reportlets目录下
2.添加定时报表
在定时器管理界面点击按钮,添加定时报表,并选中是否填报,如下图所示
3.添加定时任务
点击定时器界面相应模板的添加定时任务,并点击
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
第一步基本设置,如图
点击下一步进入时间设置,选择立即执行,循环方式选择不循环,如图
点击下一步进入参数设置,点击,并双击参数month和year进行编辑,将参
数类型都选择公式,month的参数值为:month(today()),表示当前的月份,year的参数值为:year(today()),表示当前的年份
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
点击下一步,进入导出设置,填写文件显示名,并选中管理目录和导出文件类型,如图所示
4.查看效果
6.5定时器的填报功能不能在定时器管理界面显示,效果只能在数据库中查看。

打开
scheduleDemo数据库的empcount表,发现通过定时任务,数据已经自动填入表中了。

如图所示
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
6.5定时器日报专题
在finereport定时器中,涉及到几个典型问题,日报,月报,年报。

这三种典型报表具体如何通过定时器生成定时任务呢?本专题专门介绍定时器的日报问题。

日报顾名思义就是在每日的定点生成关于每天的统计。

常见使用主要是人事考勤,订单管理之类的,下面就做一个人事考勤的简单例子介绍一下。

1.制作模板
新建内置数据集E1,如图所示
添加参数统计时间,控件类型为日期类型,参数界面设置如下
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
表样设计如下图所示,并在A6单元格中添加过滤:统计时间=$统计时间
报表制作完成之后将模板存储到reportlets目录下
2.添加定时报表
在定时器管理界面点击按钮,添加定时报表,如下图所示
3.添加定时任务
点击定时器界面相应模板的添加定时任务,并点击
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
第一步基本设置,如图
点击下一步进入时间设置,开始时间选择4月1日,循环方式选择自定义循环,结束时间选择4月30日,时间选择每天的10点50分执行,月选择四月,这样4月1号到4月30号每天的11点01分该定时任务都会执行
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
点击下一步,进入参数设置,直接点击界面上的按钮,自动生成报表中所带的参数,并双击参数的值,对参数值进行编辑,参数类型选择公式,将参数值设为:Format(today()-1,"yyyy-MM-dd"),该公式表示当前日期的前一天,这样该定时任务就在4月份的每一天的11点01 分生成当前日期的前一天的考勤统计,如图所示
点击下一步,进入导出设置,填写文件显示名,并选中管理目录和导出文件类型,如图所示
∙ 帆软(中国)有限公司
∙ 商务咨询电话:86-025-5186 2240
∙ 商务咨询邮箱:business@ ∙ 公司网址:
4. 效果预览
刷新管理界面,发现在设置的11点01分生成定时文件:日报专题文件导出
.cpt
点击该生成的定时文件,即在11点01分统计的当前日期的前一天的考情统计,预览
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
6.5定时器月报专题
在定时器的几个典型案例中,月报经常应用于业月份统计中,下面通过一个典型的汽车年度销售统计来介绍如何利用FineReport6.5定时器自动实现月报统计。

1.修改模板
打开模板%WebReport\WEB-INF\reportlets\demo\chart\car3.cpt,并删除图表,
页面修改后如图所示
将三个参数删掉两个,并添加一个新的参数$month,如图所示
在C5单元格中删除原来的过滤条件,添加新的过滤条件
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
将修改后的报表另存到到reportlets目录下
2.添加定时报表
在定时器管理界面点击按钮,添加定时报表,如下图所示
3.添加定时任务
点击定时器界面相应模板的添加定时任务,并点击
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
第一步基本设置,如图
点击下一步进入时间设置,开始时间选择2007年1月1日,循环方式选择自定义循环,结束时间选择2010年4月16日,时间选择17点15分执行,天选择每月的31日,月选择所有月,这样从07年1月到10年4月每月的31日的17点15分该定时任务都会执行
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
点击下一步,进入参数设置,直接点击界面上的按钮,自动生成报表中所带的参数,并双击参数的值,对参数值进行编辑,两个参数的类型都选择公式,将Year的参数值设为:year(today())-2 ,表示当前年份的上上年,month的参数值设为:month(today()),该公式表示每月的15日的17点15分,生成上上年的当前月份的月报,如图所示
点击下一步,进入导出设置,填写文件显示名,并选中管理目录和导出文件类型,如图所示
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
点击完成,生成定时任务
4.生成文件预览
刷新管理界面,发现生成定时文件:月报导出
.cpt
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
点击该生成文件,预览,生成了08年4月份的统计报表,如图
6.5定时器年报专题
在定时器的几个典型案例中,年报经常应用于和年度统计中,下面通过一个典型的汽车年度销售统计来介绍如何利用FineReport6.5定时器来自动实现年报统计。

月报
5.修改模板
打开月报专题.cpt模板,样式设计稍作修改,如图
删掉month参数,如图所示
在C5单元格中删除原来的过滤条件。

将修改后的报表另存到到reportlets目录下
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
6.添加定时报表
在定时器管理界面点击按钮,添加定时报表,如下图所示
7.添加定时任务
点击定时器界面相应模板的添加定时任务,并点击
第一步基本设置,如图
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
点击下一步进入时间设置,开始时间选择2007年1月1日,循环方式选择自定义循环,结束时间选择2010年4月30日,时间选择12点00分执行,天选择每月的16日,月选择四月,这样从07年1月到10年4月每年的4月16日的12点00分该定时任务都会执行
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
点击下一步,进入参数设置,直接点击界面上的按钮,自动生成报表中所带的参数,并双击参数的值,对参数值进行编辑,Year参数的类型都选择公式,将Year的参数值设为:year(today())-2 ,表示当前年份的上上年,该公式表示每年的4月16日12点00分,生成上上年的年报,如图所示
点击下一步,进入导出设置,填写文件显示名,并选中管理目录和导出文件类型,如图所示
点击完成,生成定时任务
∙ 帆软(中国)有限公司
∙ 商务咨询电话:86-025-5186 2240
∙ 商务咨询邮箱:business@ ∙ 公司网址:
8. 生成文件预览
刷新管理界面,发现在设置的4月16日的12:00生成定时文件:年报导出
.cpt
点击该生成文件,预览,生成了08年的年报统计报表,如图
6.5定时器邮件专题
在FineReport6.5版本中,定时器比6.2版本中多了邮件通知的功能,该功能使得定时器的定时任务生成定时文件时能够及时通知用户,而用也可通过是否收到邮件判断定时器的定时任务是否正常工作。

下面就详细介绍一下定时器的邮件设置。

1. 服务器配置
打开报表设计器,登录环境设置为tomcat 所在目录(因为定时器环境是集成在tomcat 下),打开菜单栏服务器|服务器配置,选择邮件栏目,依次填入邮件服务器地址(SMTP ),如: 等。

邮件用户名,密码,以及发件人地址(发件人相应邮箱)。

如下图所示
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
2.定时器邮件配置
2.1开启tomcat服务器,并打开定时器界面
http://localhost:8088/WebReport/ScheduleServer?action=dashboard,如图
2.2添加定时报表
点击左边目录定时器例子,在右边窗口中点击按钮添加定时报表,进入添加定时报表界面。

选择需要添加的报表test.cpt,选完之后点击确定按钮。

∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
2.3添加定时任务
2.3.1在报表/文件列表窗口,在对于的定时报表栏中点击添加定时任务,如下图
2.3.2基本设置
进入任务编辑第一步,基本测试,填写任务名称分报测试,任务描述可省略,
详见图示
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
2.3.3时间表
时间表设置开始选择立即执行,循环方式选择简单循环,运行的执行次数选择3次,频率选择每分钟
2.3.4参数
该模板没有参数,所以直接点击下一步
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
2.3.5导出
在文件显示名中填写文件导出的名字,并对文件进行描述,选择管理的目录:
定时器的例子,导出文件类型选择cpt和excel(邮件中cpt文件不会导出
) 选中是否邮件通知,填写需要发送的邮箱地址,并填写主题和内容
这样就完成了一个定时任务
3.预览
∙帆软(中国)有限公司
∙商务咨询电话:86-025-5186 2240
∙商务咨询邮箱:business@ ∙公司网址:
刷新定时器管理界面,每分钟生成一个cpt和一个excel文件,共生成了六个定时文件,如下图所示
根据设置的邮件通知,打开发送的126邮箱,看到三个从jerny1118@邮箱发送的邮件通知,如图。

相关文档
最新文档