趙強 屠衛 周文慧

[摘 要] 隨著企業管理和信息化水平的不斷提高,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.