iReport报表在ERP系统中的应用
2016-05-14赵强屠卫周文慧
赵强 屠卫 周文慧
[摘 要] 随着企业管理和信息化水平的不断提高,ERP作为现代企业管理信息系统被广大企业单位采用。报表是ERP系统中各种业务和数据的集中反映,是企业日常业务流转的凭证,ERP系统的数据输出已成为影响企业效率的关键因素。iReport作为一种智能化的报表软件,应用于ERP系统,系统维护人员可以根据不同的业务需求灵活地设计报表,能极大地提高ERP系统报表输出的效率。
[关键词] ERP;报表;iReport
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2016. 07. 085
[中图分类号] TN948.61 [文献标识码] A [文章编号] 1673 - 0194(2016)07- 0185- 02
1 引 言
当前,ERP已经成为国际上最先进的企业管理模式,它以信息化技术为支撑,以现代化的管理思想为导向,为企业决策者和管理层提供一个安全的、方便的管理平台[1]。ERP系统把企业的物流、人流、资金流、信息流统一起来管理,最大限度地利用企业现有资源,实现企业经济效益的最大化,为此就需要一款稳定、高效、智能的报表系统作为保证[2],这也是ERP系统引入iReport报表的重要原因。
报表是反映某段时间内企业活动(如生产、销售等)的相关记录,以数据的列表、汇总和分析通过量化的形式直观地展现出来。它是ERP系统中各种业务和数据的集中反映,能为具体业务流程提供支持,保证业务正常进行;能反映公司整体运营情况和趋势,为公司管理提供决策支持;还可以发现业务流程和经营管理中存在的问题,为业务改进提供依据。因此报表对企业的运营管理具有重要意义。
报表作为一种经过归纳、整理和统计的数据信息,是企业服务、管理和内部控制的重要依据。基于报表的数据采集方式,是最符合人类使用习惯的数据录入和数据组织管理的有效方式。随着信息化建设的逐步深入和现代化管理水平的不断提高,基于报表的数据分析方式正在被大多数企事业单位采用。
2 主要技术
2.1 iReport简介
iReport是基于Jasperreport的一个可视化报表开发工具,简单地说,Jasperreport是引擎部分,iReport是前端界面开发工具。
iReport 系统是一套可视化的报表数据收集统计分析平台,具有良好的通用性、灵活性和可操作性,能处理多种的报表格式,如条码,列表式报表,表单式报表以及综合形式的报表,还可以在一个报表中嵌套多个子报表;报表系统具有自定义功能,随着需求的变化,用户可以轻松修改和调整报表;报表系统还具备脚本编写功能,使得用户可以根据自身的特殊需要增强应用程序的灵活性,最大程度的满足用户的需求。
2.2 工作原理
报表的生成、预览、打印、导出等主要功能都在JasperReport的对应类中实现。报表的开发和设计流程如下:
第一步.开发人员首先根据业务需求设计一个*.xml或*.jrxml文件。
第二步.使用JasperReports提供API中的JasperCompileManager类编译*.jrxml文件,编译后生成一个*.jasper文件。
第三步.使用JasperFillManager类填充编译后的*.jasper文件,填充后生成一个*.jrprint文件。
第四步.使用导出管理器(JasperExportManager)将*.jrprint文件导出成各种格式的报表文件。也可以使用JRViewer工具类来直接浏览报表。
2.3 关键技术
JasperReports生成报表的过程不很复杂,只需要使用net.sf.jasperreports.engine包中的几个类就能完成报表的生成、预览、打印、导出等功能[3]。下面对制作报表的几个关键类做一个简单的介绍:
(1)JasperCompileManager类
报表的编译工作是通过这个类的几个静态方法实现的,编译完成后,在*.jrxml文件所在的目录下生成一个*.jasper文件.
(2)JasperFillManager类
使用这个类可以完成报表的数据填充工作。它可以使用JasperReport对象,也可以使用*.jasper文件作为报表模板。以JRDataSource类作为数据源在iasper文件所在目录生成一个.jrprint文件。
(3)JasperExportManager类
这个类的作用是导出报表.它使用.irprint文件做为输入,输出不同格式的报表,例如PDF,HTML,XML,XLS,CVS等.
3 具体应用
报表是ERP系统中用到的最频繁的单据之一。企业的各个部门内部业务记录及部门之间的业务流转都要用到报表,比如,采购中心要打印采购订单明细、采购物资验收单;仓储中心要打印入出库申请单;生产部要打印车间任务工艺路线规程卡;销售中心要打印销售订单明细,等等。因此报表的使用在ERP系统中起着举足轻重的地位。因此,在采用JasperReports开发报表时,可选择使用可视化工具iReport来简化开发过程。
3.1 使用iReport设计报表
(1)运行iReport软件,新建一个空报表文件。
(2)在“report query”窗口里输入查询语句,格式为:select*from表名where条件。
(3)在空报表窗口把相应控件拖拽到指定位置,然后设置控件的属性。
(4)报表设计完成后,编辑——运行后在工作目录下生成*.jasper文件,这个文件就是生成的报表文件。
3.2 ERP程序调用报表过程
报表文件生成后,要把它放在ERP程序所在的目录下,然后再创建一个调用报表的文件,最后在ERP程序中调用这个程序来访问报表[4]。这样,在ERP系统的前端页面中点击“打印”按钮相应的报表就会显示在用户的面前,接通打印机就能得到纸质的报表。
调用报表文件的关键代码如下:
第一步:装载jasper文件
File jasperFileName =newFile(request.getRealPath("/Reports/test_report.jasper"));
第二步:设置参数值
HashMap params =new HashMap();
params.put("yourParamName","");//设置参数值
第三步:利用JasperRunManager生成PDF文件
ConnectionPoolconnMgr=ConnectionPool.getInstance();
Connectionconn=connMgr.getConnection();
JasperRunManager.runReportToPdfFile(jasperFileName.getPath(),parameters,conn);
4 实 验
4.1 实验环境
ERP环境:许昌烟草机械有限责任公司ERP系统;
硬件:IBM服务器;
操作系统:Windows 2000;
Web服务:Websphere 6.0版本;
数据库:Oracle10g。
4.2 实验效果(见图1)
5 结 语
综上所述,把iReport报表引用企业ERP系统中,能够根据业务的需要方便地定制报表,是一种简洁、直观且高效的解决方案。动态报表的设计使ERP系统更具柔性化,提高ERP系统的使用效率,进而提升企业的整体管理水平。
主要参考文献
[1]韦宗龙.浅议ERP系统实施的策略和方法[J].计算机光盘软件与应用,2014(1).
[2]肖华.基于ERP的商业智能报表系统的研究与实现[D].长沙:湖南大学,2013.