JasperReport实现网络办公系统的报表(一):工程源码+系统使用说明书

来源:互联网 发布:电子地图制作软件 编辑:程序博客网 时间:2024/05/05 12:44
 在学习JasperReport的过程中,通过其自带的例子以及网络上热心朋友的帖子,我们可以在一段时间之后大略掌握其核心功能,但是这些知识不能让我们立刻就能成为一个可以随时投入工作的人。原因在于,我们在实际的项目中可能会遇到各种各样的例子中没有给出解决方案的需求,更多的应用场景(本地,Web等等)以及不少的Bug。
下面是我们去年做的一个B/S结构的网络办公系统,我负责实现科研管理子系统以及报表部分的实现。出于成本考虑,我们采用了不要钱的JasperReport作为报表工具,经过不少时间,排除了若干困难和复杂报表的需求,终于得以完成。我也将我的部分心得写到了其他几篇Blog中。但是前几天一个用JasperRepor做报表的同学在自己学习一段并看过我的Blog之后仍然有很多问题无法解决,所以不能立刻投入到工作中去。有鉴于此,我觉得有必要把我们做的东西共享出来给大家参考一下,毕竟空洞的理论说教不能完全解决问题,实践才是成功的不二法门。
我的工程会打包发到我的网易邮箱:gondam_f91@163.com,密码是012401030。(PS:以前我把我的B+树源码也发到这里,不知道被谁删掉了,又由于我手头也没存档,所以找不回来了。所以如果你不喜欢我的东西也请别乱删)。由于不知道能不能把这么大附件传上去,于是我又在邮箱的网络硬盘存了一份,希望没问题 :)。该工程是JBuilder2006的作的(包括MySQL的数据库脚本),不过应该可以很容易放到Eclipse或者NetBeans等其他IDE下重新编译。
为了让各位能更好的理解,我将工程的系统使用说明书有关于报表的部分写在下面,并会在下一篇Blog中提供我们的系统设计说明书(两个说明书都是我一个人写的,好辛苦的),希望能给你提供一些帮助。(PS:最近CSDN的Blog又不能直接从Word里把带图片的粘贴到网页上了,一按CtrlV就弹错误,希望管理员能尽快解决,否则一个一个上传图片太麻烦了,如果解决不了的话系统设计说明书就得晚一些传上来了--因为太多UML图了)
最后,由于刚才试验了一下,可能在Blog中还是看不到图(虽然编辑的时候可以看到),所以我把所有截图也同时发到邮箱里,图片名称都是中文,各位可以和这里印证一下。
抱怨:CSDN什么时候才能将这些基本的功能调整好啊!!整天升级些没用的,基本工作都没做好!
1. 系统整体功能简介
科研管理子系统是计算机科学与技术学院网络办公自动化系统的一个子系统,主要包括科研人员/机构信息管理、重点实验室和系统配置三部分组成。
 
1.1.   科研人员/信息管理(略)
1.1.1. 其他部分(略)
1.1.2. 科研信息统计
科研信息统计查询功能主要用于对一定时间段内的各种科研信息,包括项目信息、获奖信息、成果/专利信息、著作信息以及论文信息进行统计和显示,可以查看每一个项目的详细信息,并以柱状图和饼状图的形式显示出该时间段内的科研信息趋势。
1.2.   重点实验室
重点实验室部分主要用于统计和显示各学科中各种科研项目的情况,并提供格式转换和报表预览和打印功能。主要包括:
l         出版著作情况
l         实验室人员承担项目情况
l         实验室人员承担省部级以上项目情况
l         访问学者情况
l         学术交流情况
l         研究成果情况
l         获奖项目情况
l         专著、论文情况
l         论文索引情况
l         实验室基本情况
l         人才培养情况
l         实验室主要设备情况
l         实验室获奖信息情况
l         举办学术会议情况
l         申请获得专利情况
l         实验室计量奖励情况
1.3.   系统配置(略)
2. 系统详细使用说明
在进入办公自动化系统主页之后,在如图所示的两种方式下点选“科研信息管理”即可进入科研管理子系统:
 
2.1.   科研人员/信息管理
2.1.1. 其他部分(略)
2.1.2. 科研信息统计
进入科研管理子系统之后,点击左侧的“科研信息管理”导航菜单下的“科研信息统计”,即可看到科研信息统计部分的初始页面,如下图所示:
l         时间段:用户输入所要进行统计的时间段的起始年分和终止年分,例如“2003”。除数字之外不能填入字母或其他字符,也不能漏填。
l         人事信息:当用户点击人事信息的CheckBox之后即可激活人事信息选项。激活该选项后用户可以通过右边的下拉列表框指定要查询的人员。由于可能存在重名人员,所以在人员姓名的右边有当前人员所对应的人事编号。它和左边的人员一一对应。所以即使重名的人员也有不重复的人员编号,所以在所选人员重名的情况下用户可以根据其人事编号进行选择。
l         查询类别:分为学院信息查询和重点实验室查询。点选学院信息查询时,系统将安照学院信息进行统计;而如果选择重点实验室,用户还需要选择具体的一间实验室。
在给出合适的信息之后,只需要点击确定,用户就可以以表格的形式查看查询结果。
该图显示了从2000年至2006年间的详细获奖情况,在图中我们可以看到在2006年的项目获得了2个一等奖。请注意表格上放菜单栏中的项目,点击查看柱状图就可以看到该图表的柱状图表示,而点击查看曲线图就可以获得图表的曲线图表示形式,这有利于用于观察科研信息的趋势。具体情况如下面两图所示:
2.2.   重点实验室
进入科研管理子系统之后,展开左侧导航条的“重点实验室”菜单,就可以根据需要选择所要使用的功能了。下面就详细介绍各个部分的功能与使用方法。
2.2.1. 出版著作情况
出版著作情况功能主要用于显示在某个重点实验室中的人员的出版著作情况,系统将根据著作的出版时间的顺序,列出实验室人员出版/参与的著作的详细信息,包括著作名称、作者(作者将按照参与的位次进行排列)、出版社、负责人以及出版时间。在点击左侧导航菜单中的“出版著作情况”超链接之后,就可以看到如下图所示的页面。其中,“选择重点实验室”的下拉列表中包含有目前系统所包含的所有重点实验室名称,用户可以从中选取任何一个来指定查询操作。
在点击“生成报表”按钮之后,即可生成网页形式的报表,如下图所示:
可以看到在网页报表上面的工具栏上分别有3个图标,分别表示将报表导出成PDF格式的文件,导出成Word格式的文件和导出成Excel格式的文件。在这3个图标右面的4个按钮分别表示转到报表的首页(如果已达首页则该按钮不可选择),翻到报表的上一页(如果已达首页则该按钮不可选择),翻到报表的下一页(如果已达末页则该按钮不可选择)和转到报表的最后一页。由于上图所示的出版著作情况的报表仅有一页,所以这几个按钮都是不可选择的。
在点击PDF图标的按钮之后,可以在网页中获得如下结果,即报表的PDF格式文件:
用于可以对该报表进行各种操作,包括打印,保存成PDF文件等等。对于将报表导出成Word和Excel格式的结果如下所示:
值得一提的是,对于重点实验室功能模块中的所有网页报表将都是以这种形式进行显示,所以有关这方面的功能将不再赘述。
2.2.2. 实验室人员承担项目情况
实验室人员承担项目情况主要用于显示某重点实验室所有人员在一定时间内所获得项目信息,包括不同来源的项目在不同年份的项目数及经费情况。点击导航菜单中的“实验室人员承担项目”即可开启此项功能,如下图所示:
(该图与报表无关,略)
图中所示的第一个下种,用户可以选择要查询的重点实验室名称,报表年限用于指定查询的时间跨度,起始年度则表示查询的起始年份。起始年度文本框中只能填入数字。点击“生成报表”按钮将获得如下结果:
 
2.2.3. 实验室人员承担省部级以上项目情况
该功能与“实验室人员承担项目情况”的功能类似,只是对查询条件有所改变,即不需要制定查询年度,并且查询的结果全部是省部级以上的项目。故省略。
2.2.4. 访问学者情况
访问学者情况主要用于显示某实验室派出/接收的访问学者的信息。用户只需要选则相应的重点实验室,点击“生成报表”即可。
2.2.5. 学术交流情况
学术交流情况主要用于显示在一定时间段内,某重点实验室的人员参加国际/国外的会议情况和接收/派出访问学者的情况。该查询需要用户输入查询的起始和终止年度,这两项都是不可空的。
具体的查询结果如下所示:
2.2.6. 研究成果情况
研究成果情况主要用于显示某重点实验室在一定的时间范围内的各种级别的成果以及各种类型专利的信息。该查询需要用户给出查询起始和终止的年度,这两项信息均不可为空。
2.2.7. 专著、论文情况
专著、论文情况用于显示某重点实验室人员在某一特定时间段内出版的著作、论文和论文被检索的情况。用户需要在查询页面指定重点实验室名称和查询的起止年份,示例结果如下所示:
2.2.8. 论文索引情况
论文索引情况用户显示某重点实验室的人员的论文被索引的详细情况。包括论文名称,作者,索引机构等等。用户只需要选择要查询的重点实验室名称即可。
2.2.9. 实验室基本情况
顾名思义,实验室基本情况即给出某重点实验室的基本信息,还包括实验室人员知识年龄结构情况和实验室人员具体情况,与报表关系不大,略。
2.2.10.      人才培养情况(略)
2.2.11.      实验室主要设备情况
实验室主要设备情况主要用于显示目前实验室所拥有的主要设备的情况,简单报表,略
2.2.12.      实验室获奖信息情况
该功能质要用于显示在一定时间段内某重点实验室人员所获的各种级别、各种来源的奖励信息,简单报表,略
2.2.13.      举办学术会议情况
该功能主要用于显示某重点实验室所举办的各种学术会议的相关信息,所有举办信息将按照举办时间进行排序显示,属于简单报表,略。
2.2.14.      申请获得专利情况
该功能主要用于显示某重点实验室申请获得专利的相关信息,所有专利信息将按照举办时间进行排序显示,属于简单报表,略。
2.2.15.      实验室计量奖励情况(略)