林 宏
閩江學院物理學與電子信息工程系,福建福州 350108
RCM決策系統的報表設計
林 宏
閩江學院物理學與電子信息工程系,福建福州 350108
目前,基于.NET的報表設計與制作主要采用水晶報表技術和RDLC報表技術,作為.NET內嵌的RDLC報表技術在實用性和可控性等方面具有明顯的優勢。以“可靠性為中心的維修決策系統(RCM)”通過報表向用戶展示評估、決策和維修等信息。本文詳細的闡述了RCM中報表的規劃、設計和實現過程,展示了RDLC技術在具體項目開發中的具體應用。通過實踐證明了在項目開發中應用RDLC技術實現各類報表是有效快捷的。
RCM;RDLC報表;NET
以可靠性為中心的維修(RCM)決策是目前通用于國際上以確定裝(設)備等優化維修制度以及預防性維修需求的一種系統工程方法。在保證裝(設)備的安全性和完整性的前提下,以最小的停機維修損失和消耗最少的維修資源為目標的優化維修手段。
目前,基于.NET的報表設計與制作主要采用水晶報表技術和RDLC報表技術。由于水晶報表技術的誕生早于RDLC報表技術,因此水晶報表的使用相對RDLC報表更加廣泛,但是隨著RDLC報表技術優勢的展現,水晶報表技術的影響力正逐步衰減。
RDLC作為微軟自帶的程序組件,具有以下特點。
1)控件簡單易用,字段排列方便。
2)可定制性靈活,可用XML描述。
3)可編程性高,通過代碼直接完成報表的生成、預覽和打印等操作。
4)支持Drill Through數據鉆取功能。
5)在不安裝Excel、Word、PDF的情況下直接導出并保存為Excel、Word、PDF保存格式。
RDLC報表有兩種數據源,一種是從數據庫中獲取數據表填充到DataSet中制成DataTable,另一種是通過建立一個類似數據表的自定義類作為數據源。RDLC的報表設計主要是在報表的設計界面上拖拽或右鍵插入報表控件進行報表布局設置。報表設計界面分為三個主要區域:頁眉、頁腳和報表主體。RDLC報表之所以能夠簡化報表設計,其主要原因在于它將報表的組成要素抽象成了幾個控件,使報表的設計趨向簡單。開發人員可以將更多的精力集中在數據上,不需要糾結于報表的格式設計。RDLC報表的主要布局控件可分為四類:Matrix類控件、Table類控件、List類控件和Chart類控件。
設計一個報告模塊,模塊中存在下列功能圖標:【技術分級】、【執行小結1】、【執行小結2】、【風險矩陣分布】、【任務包】及【風險分析FMEA】,點擊某一功能圖標,得到相應功能格式的報告。
圖1 主要報表布局控件
2.1 主界面
在Microsoft Visual Studio 2010 的winForm編程中可以直接通過拖放控件來設計系統界面,使界面的設計趨向與簡單化,節省了開發人員大量書寫布局代碼的時間。
圖2 報告模塊主界面
2.2 技術分級報告
本任務主要關鍵點在于按要求理清數據分組時的父組與子組之間的包含關系,在設計分組時需要注意分組排序問題。RDLC默認的分組方式是在表的左邊添加分組,如果希望父組在子組的上方出現,則需要先分好組,在按需要排列字段。
2.3 執行小結1報表
點擊執行小結1按鈕,得到關于高、中、低設備項風險比例的分析報告,要求給出五個風險等級,分別為極高、高、中等、低極低五個風險范疇。
2.4 執行小結2報表
點擊執行小結2功能按鈕,通過把自定義排列label控件可以自定義固定數據的顯示方式,使報表的數據顯示更加直觀。圖表的使用,是數據的統計更加具有可視性。
2.5 風險矩陣分布
報表顯示的5×5矩陣用VH、H、M、L、VL來表示極高危險、高危險、中等危險、低危險和極低危險五個等級。用紅、橙、黃、藍、綠五種顏色來填充矩陣中相應的等級:當出現VH時顯示紅色,出現H時,顯示橙色,出現M時顯示黃色,出現L時顯示藍色,出現VL時顯示綠色。
自定義矩陣的設計的三個方案囊括了RDLC報表設計的大部分設計知識,特別是參數的引入和內部屬性關聯變化的實現,使報表的代碼量大幅度減小。
2.6 任務包報表
點擊任務包按鈕會得到任務報表,Dataset之間的數據傳遞需要通過Adatper來完成,將數據存入報表的數據集中,報表執行時會自動讀取存入的數據集,自動完成數據顯示操作。
2.7 風險分析FMEA
與任務包的設計思路完全和設計方法一樣,區別在于數據段與數據。點擊風險FMEA按鈕,即可得到風險數據分析清單。
RDLC報表的設計可分為兩個方面:其一是可視化設計,也是報表設計中最重要的環節。一張精致美觀的報表效果如何,除了數據以外都可以從報表設計界面上看到。另一個就是利用代碼來控制報表的數據傳遞和顯示。縱觀整個報表設計的每一個模塊,報表執行的代碼均是大同小異,甚至屬于同一模式的設計。
設計報表的時候主要的設計重點在于報表的界面設計,特別是Microsoft Visual Studio 2010將RDLC報表的設計集中成多個模塊之后,報表的設計過程基本上是無需通過代碼編程來完成,所要做的就是按照設計要求拖拽報表控件,設置相應屬性和關聯公式就能達到設計要求。后臺執行代碼只剩下簡單的傳值和顯示操作。
[1]張露.Visual Studio .NET 2005 中RDLC 報表初探[J].電腦知識與技術,2011(7):7835-7847.
[2]埃斯波西托,薩爾塔列洛.Microsoft .NET企業級應用架構設計[M].北京:人民郵電出版社,2010.
[3]薛若雯.基于RDLC的報表生成[J].新科技論壇,2010:179.
[4]孫鵬,徐美紅,謝國雄,等.基于RDLC的報表系統的設計和實現[J].電腦知識與技術,2012(8):4624-4626.
TP3
A
1674-6708(2015)150-0081-02
林宏,碩士,閩江學院物理學與電子信息工程系講師,研究方向:計算機軟件及算法