国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于J2EE平臺(tái)電量計(jì)量報(bào)表系統(tǒng)的設(shè)計(jì)與應(yīng)用

2010-07-03 07:05陶曉峰彭釗軼
電力工程技術(shù) 2010年1期
關(guān)鍵詞:電量報(bào)表計(jì)量

陶曉峰 ,彭釗軼 ,陳 琪

(1.東南大學(xué)軟件學(xué)院 江蘇 南京 210096;2.國(guó)電南瑞科技股份有限公司 江蘇 南京 210061)

隨著電力體制改革的不斷深入,各電力部門(mén)對(duì)生產(chǎn)數(shù)據(jù)要求也越來(lái)越高,尤其是電量數(shù)據(jù),因?yàn)橹苯雨P(guān)系到用戶結(jié)算等方面的需求,所以如何從大量的數(shù)據(jù)中快速、高效、準(zhǔn)確地提取用戶需要的數(shù)據(jù),形成特定格式的報(bào)表,成為了用戶的基本需求。同時(shí)報(bào)表還擔(dān)負(fù)著信息發(fā)布和交互數(shù)據(jù)的功能[1,2]。

由于現(xiàn)在的報(bào)表產(chǎn)品大部分是基于商業(yè)目的,其通用性比較強(qiáng)、相對(duì)獨(dú)立,但是對(duì)于具體的業(yè)務(wù)系統(tǒng)來(lái)說(shuō)還是有很大的局限性,不能基于現(xiàn)有的應(yīng)用平臺(tái)。本報(bào)表系統(tǒng)針對(duì)電量計(jì)量生產(chǎn)系統(tǒng)的特點(diǎn),基于已有系統(tǒng)的平臺(tái)采用面向用戶的設(shè)計(jì)器,把業(yè)務(wù)數(shù)據(jù)抽象化、圖形化,使用戶能靈活、方便地設(shè)計(jì)出各種形式的電子表格。

1 報(bào)表系統(tǒng)的總體設(shè)計(jì)

現(xiàn)在電量計(jì)量系統(tǒng)采用的硬件平臺(tái)大都是基于UNIX/Windows的混合平臺(tái),相應(yīng)就要求報(bào)表系統(tǒng)也能跨平臺(tái)運(yùn)行,本文設(shè)計(jì)的報(bào)表系統(tǒng)是基于J2EE平臺(tái)上采用Java語(yǔ)言編寫(xiě)的,實(shí)現(xiàn)了跨平臺(tái)運(yùn)行的要求[3]。

本報(bào)表系統(tǒng)采用了基于J2EE架構(gòu)的三層技術(shù),分為數(shù)據(jù)服務(wù)層、應(yīng)用服務(wù)層、客戶層,如圖1所示。報(bào)表設(shè)計(jì)器(客戶層)提供良好的人機(jī)交互界面,采用的是類(lèi)Excel的設(shè)計(jì)風(fēng)格;應(yīng)用服務(wù)層封裝系統(tǒng)業(yè)務(wù)邏輯數(shù)據(jù),提供數(shù)據(jù)引擎,這樣既使服務(wù)邏輯和業(yè)務(wù)邏輯分離,又可以提高獲取數(shù)據(jù)的效率,實(shí)現(xiàn)系統(tǒng)業(yè)務(wù)的組件化,有效提高程序的復(fù)用性;數(shù)據(jù)服務(wù)層一般采用商用數(shù)據(jù)庫(kù),封裝一些數(shù)據(jù)對(duì)象接口給應(yīng)用服務(wù)層。系統(tǒng)通過(guò)J2EE平臺(tái)的Web容器對(duì)外發(fā)布報(bào)表,用戶直接在客戶機(jī)上通過(guò)IE等瀏覽器就可以查看和下載報(bào)表[1,4]。

圖1 報(bào)表系統(tǒng)架構(gòu)

2 報(bào)表設(shè)計(jì)器

2.1 報(bào)表格式和數(shù)據(jù)內(nèi)容定義

由于本報(bào)表設(shè)計(jì)器采用Java Swing編寫(xiě)的類(lèi)Excel的設(shè)計(jì)風(fēng)格[5],使得用戶對(duì)報(bào)表設(shè)計(jì)器的使用不是那么陌生,增加了親和力,報(bào)表支持導(dǎo)入/導(dǎo)出Excel文件,設(shè)計(jì)器能完全兼容Excel包括Cell格式、公式、圖表等在內(nèi)的大部分內(nèi)容,并能支持多Sheet方式,包括Sheet間的互相引用等功能。最重要的是設(shè)計(jì)器本身針對(duì)電量計(jì)量系統(tǒng)的業(yè)務(wù)進(jìn)行了抽象和概括,首先利用電力系統(tǒng)CIM模型把電網(wǎng)模型樹(shù)形化,這樣能使用戶能快速定位到需要定義的設(shè)備上。其次對(duì)每種數(shù)據(jù)業(yè)務(wù)進(jìn)行了分析歸納,根據(jù)數(shù)據(jù)的時(shí)間屬性分成歷史數(shù)據(jù)、統(tǒng)計(jì)數(shù)據(jù)、區(qū)間統(tǒng)計(jì)數(shù)據(jù)等幾個(gè)大類(lèi),用戶可根據(jù)自己的需求定義不同的數(shù)據(jù)屬性,采用這種圖形化和用戶能理解的描述語(yǔ)言相結(jié)合的方式,使報(bào)表工具能真正做到面向用戶,在用戶不需要了解具體的數(shù)據(jù)結(jié)構(gòu)的前提下也能輕松定義出自己需要的數(shù)據(jù)。報(bào)表設(shè)計(jì)器還支持按單元格定義的方式能讓用戶最大程度的靈活組織自己的報(bào)表形式,提高了報(bào)表系統(tǒng)的靈活性和實(shí)用性。

2.2 報(bào)表模版的設(shè)計(jì)流程

該報(bào)表系統(tǒng)與傳統(tǒng)報(bào)表最大的不同是實(shí)現(xiàn)了報(bào)表真正的模版化,因?yàn)殡娏坑?jì)量系統(tǒng)的數(shù)據(jù)不是實(shí)時(shí)的,而是帶時(shí)標(biāo)采集的,采集的數(shù)據(jù)有可能是前幾天的歷史數(shù)據(jù),用傳統(tǒng)的報(bào)表預(yù)先生成好報(bào)表并不能滿足要求。本文設(shè)計(jì)的報(bào)表是定義完模版后,預(yù)先并不生成好報(bào)表,而是用戶需要時(shí)系統(tǒng)根據(jù)用戶輸入的條件實(shí)時(shí)地去數(shù)據(jù)庫(kù)中抽取數(shù)據(jù)形成報(bào)表。為了實(shí)現(xiàn)這種動(dòng)態(tài)靈活的模版技術(shù),如何描述數(shù)據(jù)屬性定義是報(bào)表設(shè)計(jì)器的關(guān)鍵技術(shù)之一,本報(bào)表系統(tǒng)采用了面向?qū)ο蟮募夹g(shù),把每個(gè)Cell里定義的數(shù)據(jù)屬性封裝成一個(gè)對(duì)象,這個(gè)對(duì)象描述了要查詢數(shù)據(jù)的類(lèi)型、查詢的相對(duì)時(shí)間、顯示格式等所有信息,在保存報(bào)表的時(shí)候把對(duì)象轉(zhuǎn)化成文本描述存到對(duì)應(yīng)的Cell里,當(dāng)打開(kāi)報(bào)表時(shí)根據(jù)每個(gè)Cell里的文本描述去逆向生成一個(gè)個(gè)對(duì)象[6]。這些對(duì)象結(jié)合用戶輸入的查詢條件通過(guò)后臺(tái)服務(wù)從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)。取完數(shù)據(jù)后根據(jù)各個(gè)對(duì)象中的一些格式屬性把數(shù)據(jù)回填到報(bào)表中。采用這種面向?qū)ο蠹夹g(shù)后,對(duì)以后增加數(shù)據(jù)種類(lèi)非常方便,體現(xiàn)了良好的擴(kuò)展性。報(bào)表模版可以保存在本地硬盤(pán),也可以發(fā)布到數(shù)據(jù)庫(kù)中,發(fā)布后在其他客戶機(jī)或者其他瀏覽器上就可以瀏覽模版,如圖2所示。

圖2 報(bào)表模版流程示意圖

2.3 報(bào)表模版的查詢

報(bào)表系統(tǒng)的查詢是基于J2EE平臺(tái),中間層采用sessionBean技術(shù),抽取數(shù)據(jù)采用DAO+EJB方式,通過(guò)后臺(tái)已經(jīng)封裝好的數(shù)據(jù)接口提取數(shù)據(jù),由于一些不同類(lèi)型的數(shù)據(jù)可以通過(guò)一次封裝取出,報(bào)表在查詢數(shù)據(jù)時(shí)采用全局優(yōu)化的歸納算法,對(duì)一些對(duì)象采取合并查詢,提高了查詢效率。查詢出的數(shù)據(jù)回填到對(duì)應(yīng)的Cell中,若有的Cell中定義了公式,由報(bào)表設(shè)計(jì)器根據(jù)回填的相關(guān)數(shù)據(jù)自動(dòng)進(jìn)行相應(yīng)的公式計(jì)算,顯示計(jì)算后的數(shù)據(jù);并能提供各種圖形顯示,提供比較直觀的變化趨勢(shì),便于決策者提供分析。

3 報(bào)表系統(tǒng)的應(yīng)用

3.1 報(bào)表模版的Web發(fā)布

由于現(xiàn)在系統(tǒng)大都是基于B/S結(jié)構(gòu)的,用戶都習(xí)慣于直接通過(guò)瀏覽器查看報(bào)表,報(bào)表系統(tǒng)的Web發(fā)布采用是JSP+Servlet方式,由用戶通過(guò)輸入查詢的時(shí)間,由后臺(tái)實(shí)時(shí)地生成報(bào)表,并能生成HTML、Excel等多種格式,同時(shí)還支持報(bào)表緩存方式,加快了用戶瀏覽的速度。由于電量計(jì)量的數(shù)據(jù)是比較敏感的,報(bào)表系統(tǒng)有嚴(yán)格的權(quán)限控制,報(bào)表在發(fā)布的時(shí)候可以選擇那些用戶有權(quán)限查看報(bào)表[7]。

3.2 報(bào)表的定時(shí)生成和打印

報(bào)表系統(tǒng)也實(shí)現(xiàn)了一些自動(dòng)化功能,報(bào)表系統(tǒng)會(huì)根據(jù)用戶需求按月、天、小時(shí)自動(dòng)生成指定的報(bào)表,也可以按預(yù)先設(shè)計(jì)好的分頁(yè)線自動(dòng)打印出來(lái),或者按照自適應(yīng)紙張來(lái)打印,比如一些每天要出的一些匯總報(bào)表就可以定時(shí)在用戶上班前打印好,用戶上班就能看到自己需要的報(bào)表。

3.3 智能報(bào)表的實(shí)現(xiàn)

一般報(bào)表只能提供相對(duì)固定的報(bào)表,而由于用戶需求的不斷變化,加上大量的報(bào)表模版,對(duì)報(bào)表模版的修改也會(huì)變得很頻繁,造成后期的維護(hù)非常困難,所以報(bào)表系統(tǒng)針對(duì)特殊業(yè)務(wù)提供了智能模版的設(shè)計(jì)功能,智能模版功能預(yù)先定義好一些典型的模版格式,系統(tǒng)就可以根據(jù)用戶輸入的參數(shù)自動(dòng)套用不同的模版動(dòng)態(tài)生成報(bào)表,需求變了只需要修改模版就行了,這樣大大減少了用戶的工作量。

4 結(jié)束語(yǔ)

本文設(shè)計(jì)并實(shí)現(xiàn)了基于J2EE平臺(tái)的報(bào)表系統(tǒng),充分結(jié)合了電量計(jì)量生產(chǎn)系統(tǒng)的特點(diǎn),設(shè)計(jì)了能讓用戶自己定義數(shù)據(jù)的圖形化界面,并能將做好的報(bào)表模版方便地在Web上發(fā)布,這個(gè)報(bào)表系統(tǒng)已經(jīng)成為了計(jì)量系統(tǒng)中不可或缺的模塊,已經(jīng)在多個(gè)現(xiàn)場(chǎng)系統(tǒng)中得到了充分運(yùn)用[8]。

[1] 路 廣,王永福,張伯明,等.基于UNIX/Linux的電力市場(chǎng)綜合報(bào)表系統(tǒng)[J].電力系統(tǒng)自動(dòng)化,2002,26(14):31-33.

[2]石光亮,王 拓,戈長(zhǎng)青,等.電力生產(chǎn)信息統(tǒng)計(jì)報(bào)表生成器的設(shè)計(jì)與實(shí)現(xiàn) [J].電力系統(tǒng)自動(dòng)化,2003,27(21):86-88.

[3] 涂翔云.J2EE權(quán)威指南[M].北京:中國(guó)電力出版社,2002.

[4]閔 濤,嚴(yán)小文,李 捷,等.基于J2EE架構(gòu)的新一代電能量計(jì)量系統(tǒng)[J].電力系統(tǒng)自動(dòng)化, 2003,27(22):85-87.

[5]王 鵬,何昀峰.Java Swing圖形界面開(kāi)發(fā)與案例詳解[M].北京:清華大學(xué)出版社,2008.

[6]孫衛(wèi)琴.Java面向?qū)ο缶幊蘙M].北京:電子工業(yè)出版社,2006.

[7]張洪斌.WebLogic Server系統(tǒng)管理和程序開(kāi)發(fā)指南[M].北京:機(jī)械工業(yè)出版社,2005.

[8] (美)Marty Hall,Larry Brown.Servlet與 JSP 核心編程[M].趙學(xué)良,譯.北京:清華大學(xué)出版社,2004.

猜你喜歡
電量報(bào)表計(jì)量
儲(chǔ)存聊天記錄用掉兩個(gè)半三峽水電站電量
《化學(xué)分析計(jì)量》2020年第6期目次
LabWindows/CVI中Excel報(bào)表技術(shù)研究
關(guān)注日常 計(jì)量幸福
四川2018年7月轉(zhuǎn)讓交易結(jié)果:申報(bào)轉(zhuǎn)讓電量11.515 63億千瓦時(shí)
計(jì)量自動(dòng)化在線損異常中的應(yīng)用
從三大報(bào)表讀懂養(yǎng)豬人的成績(jī)單
電量隔離傳感器測(cè)試儀的研制
基于因子分析的人力資本計(jì)量研究
北斗通信在小型水電廠電量采集中的應(yīng)用