• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      水質(zhì)監(jiān)測(cè)領(lǐng)域報(bào)表工具的研究與應(yīng)用

      2014-07-16 09:01:26林艷燕
      四川環(huán)境 2014年2期
      關(guān)鍵詞:單元格報(bào)表工具

      林艷燕,張 軒

      (國(guó)網(wǎng)電力科學(xué)研究院南京南瑞集團(tuán)公司,南京 211106)

      1 引言

      在高速發(fā)展的當(dāng)今社會(huì),環(huán)境問題已經(jīng)逐漸成為阻礙我國(guó)經(jīng)濟(jì)發(fā)展的重要因素之一。其中,水資源污染是我國(guó)現(xiàn)階段面臨的重要問題[1,2],水環(huán)境監(jiān)測(cè)及分析領(lǐng)域是近年來伴隨著國(guó)家對(duì)水環(huán)境治理的重視而興起的領(lǐng)域,通過設(shè)置測(cè)站,對(duì)排污口、河流、湖泊的水質(zhì)進(jìn)行監(jiān)測(cè)將所有水資源進(jìn)行統(tǒng)一管理,起到保護(hù)水資源的作用。該領(lǐng)域內(nèi)系統(tǒng)的主要功能是提供測(cè)點(diǎn)的實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)和歷史數(shù)據(jù)分析,使得環(huán)保、水利等相關(guān)部門能夠適時(shí)的了解水質(zhì)測(cè)站所在地?cái)嗝娴乃|(zhì)狀況,及時(shí)處理突發(fā)水污染事件,合理調(diào)度水資源。在該領(lǐng)域軟件系統(tǒng)的功能需求中,監(jiān)測(cè)與分析的結(jié)果大多以報(bào)表的形式展現(xiàn),因此在該領(lǐng)域內(nèi)系統(tǒng)的開發(fā)過程中,報(bào)表模塊的設(shè)計(jì)不可或缺,實(shí)踐證明,使用獨(dú)立的報(bào)表工具既能夠減少工作量又能夠提高報(bào)表的可維護(hù)性。

      現(xiàn)有的報(bào)表工具[3~6]與系統(tǒng)耦合性較高,靈活性較差。此外,在設(shè)計(jì)報(bào)表時(shí),通常是以添加數(shù)據(jù)源結(jié)合綁定數(shù)據(jù)列的方式或是通過內(nèi)嵌函數(shù)將原始數(shù)據(jù)進(jìn)行簡(jiǎn)單計(jì)算。然而水質(zhì)報(bào)表的數(shù)據(jù)列計(jì)算方法復(fù)雜,數(shù)據(jù)計(jì)算量大,報(bào)表格式復(fù)雜,多數(shù)報(bào)表工具自帶的函數(shù)不足以滿足水質(zhì)報(bào)表的需求,因此需要結(jié)合水質(zhì)報(bào)表的特點(diǎn)開發(fā)獨(dú)立于系統(tǒng)的水質(zhì)報(bào)表工具,允許用戶自定義水質(zhì)函數(shù),同時(shí)提供給用戶專屬于水質(zhì)監(jiān)測(cè)領(lǐng)域的報(bào)表函數(shù)和報(bào)表模版。

      2 水質(zhì)報(bào)表特點(diǎn)

      通過對(duì)大量的水質(zhì)報(bào)表的分析,總結(jié)出水質(zhì)報(bào)表具有以下特點(diǎn):

      (1)報(bào)表類型多樣化。水質(zhì)報(bào)表的分類情況如圖1所示。

      按時(shí)間分類有日?qǐng)?bào)、周報(bào)、月報(bào)、季度報(bào)、年報(bào),按目的分有監(jiān)測(cè)類報(bào)表、分析類報(bào)表。

      圖1 水質(zhì)報(bào)表分類圖Fig.1 Classification of water quality report

      監(jiān)測(cè)類報(bào)表將監(jiān)測(cè)數(shù)據(jù)直接展示,分析類報(bào)表通常是對(duì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行二次處理后得到的分析結(jié)果,分析類報(bào)表又分為對(duì)比表、評(píng)價(jià)表、統(tǒng)計(jì)表。對(duì)比表包括多站同參數(shù)對(duì)比、單站多參數(shù)對(duì)比、單站多年對(duì)比等;評(píng)價(jià)表展示對(duì)測(cè)站、河流、水功能區(qū)、污染源等監(jiān)測(cè)對(duì)象的水質(zhì)評(píng)價(jià)結(jié)果;統(tǒng)計(jì)表通常與評(píng)價(jià)類報(bào)表結(jié)合使用,例如污染源達(dá)標(biāo)率統(tǒng)計(jì)表是在評(píng)價(jià)類報(bào)表的基礎(chǔ)之上,對(duì)不同監(jiān)測(cè)對(duì)象的達(dá)標(biāo)率進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)表還可結(jié)合時(shí)間類報(bào)表對(duì)不同時(shí)間段的數(shù)據(jù)進(jìn)行統(tǒng)計(jì),如污染物排量的年統(tǒng)計(jì)表。

      (2)圖形輔助。水質(zhì)監(jiān)測(cè)的目的是為決策人員提供支持,為更加直觀化的展示數(shù)據(jù)分析結(jié)果,水質(zhì)報(bào)表通常配有相應(yīng)圖形展示。例如餅圖通常用來輔助水質(zhì)評(píng)價(jià)統(tǒng)計(jì)類報(bào)表的展示,柱狀圖和折線圖通常用以輔助對(duì)比類報(bào)表的展示。

      (3)列計(jì)算方式復(fù)雜。不同于一般管理信息系統(tǒng)的報(bào)表,水質(zhì)報(bào)表的大多數(shù)據(jù)列并不直接從數(shù)據(jù)庫(kù)中獲得,而是通過特定的水質(zhì)評(píng)價(jià)方法或統(tǒng)計(jì)方法計(jì)算得出,為支持復(fù)雜列的計(jì)算,水質(zhì)報(bào)表工具不僅需要提供常用水質(zhì)函數(shù)以供用戶選擇,還應(yīng)當(dāng)允許用戶根據(jù)業(yè)務(wù)需要自定義報(bào)表函數(shù)。

      (4)數(shù)據(jù)量大。水質(zhì)監(jiān)測(cè)業(yè)務(wù)數(shù)據(jù)包括水位、流量以及pH、NH3、COD等眾多化學(xué)溶解性污染物的檢測(cè)值,數(shù)據(jù)量的龐大導(dǎo)致數(shù)據(jù)計(jì)算量大,一個(gè)分析結(jié)果的獲得通常需要數(shù)據(jù)庫(kù)中幾張關(guān)系表數(shù)據(jù)的支持,因此,水質(zhì)報(bào)表工具需要滿足大數(shù)據(jù)量情況下報(bào)表的運(yùn)行效率。

      (5)數(shù)據(jù)庫(kù)無統(tǒng)一標(biāo)準(zhǔn)?,F(xiàn)階段對(duì)于水質(zhì)監(jiān)測(cè)領(lǐng)域數(shù)據(jù)庫(kù)設(shè)計(jì),環(huán)保部有兩個(gè)標(biāo)準(zhǔn),分別是《環(huán)境數(shù)據(jù)庫(kù)設(shè)計(jì)與運(yùn)行管理規(guī)范》 (HJ/T_419-2007)和《水資源監(jiān)控管理數(shù)據(jù)庫(kù)表結(jié)構(gòu)及標(biāo)識(shí)符標(biāo)準(zhǔn)》 (SL380-2007),水利部發(fā)布了標(biāo)準(zhǔn)《水質(zhì)數(shù)據(jù)庫(kù)表結(jié)構(gòu)和標(biāo)示符標(biāo)準(zhǔn)》 (SL325-2005),這些標(biāo)準(zhǔn)中明確規(guī)定了基本信息類表、監(jiān)測(cè)信息類表、評(píng)價(jià)信息類表的種類、描述、標(biāo)識(shí)和字段定義。多數(shù)水質(zhì)系統(tǒng)在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)都參照了上述3個(gè)標(biāo)準(zhǔn),因此在設(shè)計(jì)水質(zhì)報(bào)表工具的數(shù)據(jù)訪問接口時(shí),需要盡可能的參照并兼顧環(huán)保和水利行業(yè)的技術(shù)規(guī)范。

      表1 水質(zhì)報(bào)表與水質(zhì)報(bào)表工具特點(diǎn)對(duì)應(yīng)表Tab.1 Characteristics of WQ report and WQ report tool

      通過對(duì)水質(zhì)報(bào)表的分析,可以得出水質(zhì)報(bào)表工具的功能性需求,表1為水質(zhì)報(bào)表工具與水質(zhì)報(bào)表的特點(diǎn)對(duì)應(yīng)表:水質(zhì)報(bào)表工具需具備一個(gè)水質(zhì)報(bào)表模板庫(kù),模板庫(kù)包含了為相同類型的水質(zhì)報(bào)表設(shè)計(jì)的水質(zhì)報(bào)表模板,以提供自定義參數(shù)的方式提高同類型報(bào)表的可復(fù)用性,例如測(cè)站日污染物排放量報(bào)表將測(cè)站編碼作為參數(shù),這樣用戶在調(diào)用該報(bào)表模板后只需要確定測(cè)站編號(hào)就能夠獲得該測(cè)站的日污染物排放量。除模板庫(kù)之外,水質(zhì)報(bào)表工具還需要提供圖形向?qū)Чδ苤С指黝悎D形的生成,提供函數(shù)面板供用戶選擇水質(zhì)函數(shù)同時(shí)預(yù)留接口允許自定義函數(shù),設(shè)立緩存機(jī)制提高報(bào)表工具的性能以提高用戶體驗(yàn),提供可擴(kuò)展的數(shù)據(jù)訪問接口提高水質(zhì)報(bào)表工具的可擴(kuò)展性。

      3 水質(zhì)報(bào)表工具結(jié)構(gòu)

      3.1 總體結(jié)構(gòu)

      由于水質(zhì)監(jiān)測(cè)領(lǐng)域內(nèi)系統(tǒng)大多為B/S結(jié)構(gòu),為了滿足水質(zhì)報(bào)表在Web環(huán)境中的調(diào)用,水質(zhì)報(bào)表工具采用報(bào)表設(shè)計(jì)和報(bào)表調(diào)用分離的結(jié)構(gòu)。圖2為水質(zhì)報(bào)表工具的總體結(jié)構(gòu)圖,報(bào)表工具由C/S端的報(bào)表設(shè)計(jì)器和B/S端的報(bào)表服務(wù)器兩部分構(gòu)成:C/S端的報(bào)表設(shè)計(jì)器主要用于水質(zhì)報(bào)表模板的設(shè)計(jì)和管理,提供報(bào)表函數(shù)面板支持報(bào)表函數(shù)的編輯并允許用戶自定義報(bào)表函數(shù),設(shè)計(jì)器中還設(shè)置了報(bào)表模板編輯狀態(tài)和報(bào)表預(yù)覽狀態(tài)的一鍵切換按鈕,方便用戶在設(shè)計(jì)報(bào)表時(shí),所見即所得的檢驗(yàn)當(dāng)前的報(bào)表模板是否已經(jīng)達(dá)到要求。B/S端的報(bào)表服務(wù)器用于報(bào)表數(shù)據(jù)的生成以及報(bào)表模板的解析,使得用戶能夠在瀏覽器上查看報(bào)表。

      圖2 水質(zhì)報(bào)表工具總體結(jié)構(gòu)圖Fig.2 Architecture of water quality reporting tool

      3.2 報(bào)表設(shè)計(jì)器的組成

      如圖2所示,報(bào)表設(shè)計(jì)器由報(bào)表管理界面、模板編輯界面、報(bào)表函數(shù)面板3部分組成:報(bào)表管理界面供用戶打開、保存、搜索已存儲(chǔ)的報(bào)表模板;報(bào)表編輯界面具備圖形向?qū)?、參?shù)設(shè)置、雙向擴(kuò)展等編輯功能,為了能夠及時(shí)的檢驗(yàn)報(bào)表模板的設(shè)計(jì)效果,用戶可以隨時(shí)切換到運(yùn)行態(tài)查看當(dāng)前模板計(jì)算后的結(jié)果;函數(shù)面板供用戶選擇函數(shù),雙擊后自動(dòng)錄入單元格以避免輸入函數(shù)名錯(cuò)誤的情況。

      3.2.1 報(bào)表存儲(chǔ)結(jié)構(gòu)

      報(bào)表模板又稱為報(bào)表設(shè)計(jì)文件,是設(shè)計(jì)狀態(tài)下報(bào)表的結(jié)構(gòu)[7],用戶在設(shè)計(jì)器編輯后轉(zhuǎn)化為XML格式進(jìn)行存儲(chǔ)。報(bào)表的主要組成元素為頁(yè)面元素、浮動(dòng)元素、單元格元素、報(bào)表參數(shù)元素。

      定義一個(gè)報(bào)表元素需要定義該元素的屬性特征和字符數(shù)據(jù)兩部分:頁(yè)面元素的屬性特征定義頁(yè)眉、頁(yè)腳、背景色,字符數(shù)據(jù)定義報(bào)表的名稱;浮動(dòng)元素包括浮動(dòng)圖片元素、浮動(dòng)圖形元素,浮動(dòng)圖片元素為用戶從外部插入報(bào)表模板的圖片,其屬性特征定義圖片的高度、寬度,字符數(shù)據(jù)定義為圖片的Base64編碼,浮動(dòng)圖形元素為圖形向?qū)傻恼劬€圖、餅圖等,浮動(dòng)圖形元素的主要屬性特征為圖形所在的單元格起始行列坐標(biāo),行寬、列寬、圖形類型,字符數(shù)據(jù)為圖形的分類軸、數(shù)據(jù)源、數(shù)據(jù)值所在單元格坐標(biāo);單元格元素的屬性特征為單元格起始行坐標(biāo)、起始列坐標(biāo)、行寬、列寬、對(duì)齊方式等,單元格的字符數(shù)據(jù)可以定義單元格中的文本信息也可以為報(bào)表函數(shù);報(bào)表參數(shù)包括默認(rèn)參數(shù)和自定義參數(shù),參數(shù)的屬性特征為參數(shù)類型,字符數(shù)據(jù)特征為參數(shù)的默認(rèn)值。

      3.2.2 報(bào)表編輯

      報(bào)表設(shè)計(jì)器的本質(zhì)是提供可視化的方式供用戶定義報(bào)表模板的各類元素,生成符合報(bào)表存儲(chǔ)結(jié)構(gòu)的報(bào)表設(shè)計(jì)文件。為提高設(shè)計(jì)器的易用性,減少用戶的學(xué)習(xí)時(shí)間,水質(zhì)報(bào)表設(shè)計(jì)器采用類Excel的編輯界面,主要具備以下功能:

      (1)圖形向?qū)АL峁┫驅(qū)浇缑?,只需要獲得分類軸、數(shù)據(jù)源的名稱以及數(shù)據(jù)值的單元格坐標(biāo)即可完成各類圖形的制作。

      (2)雙向擴(kuò)展。水質(zhì)報(bào)表工具采用一個(gè)數(shù)據(jù)列(或行)綁定一個(gè)報(bào)表函數(shù)的方式來添加數(shù)據(jù)源,因此單元格在獲得數(shù)據(jù)之后需要將其擴(kuò)展自動(dòng)填充一列 (或行)。

      (3)自定義參數(shù)。自定義參數(shù)主要作為報(bào)表函數(shù)中的形參供報(bào)表的調(diào)用者在查詢時(shí)輸入實(shí)際值,也可作為模版中的靜態(tài)變量使用。自定義參數(shù)類型包括時(shí)間、整形、字符串、布爾值等。

      (4)單元格引用。指直接使用單元格的坐標(biāo)代表該單元格的值。單元格引用功能通常使用在兩個(gè)方面,一是在圖形向?qū)е凶鳛榉诸愝S和分類源,二是作為報(bào)表函數(shù)的參數(shù)被引用,當(dāng)被引用的單元格已被設(shè)置為擴(kuò)展單元格時(shí),當(dāng)前單元格也需要設(shè)置為擴(kuò)展單元格。

      (5)單元格格式編輯。通過單元格格式編輯對(duì)話框,用戶可以輸入單元格的字符數(shù)據(jù)并對(duì)單元格的字體、邊框、行寬、列寬、對(duì)齊方式、背景色等屬性特征進(jìn)行設(shè)置,當(dāng)字符數(shù)據(jù)為函數(shù)時(shí),還可以結(jié)合函數(shù)面板錄入單元格的函數(shù)名稱和函數(shù)參數(shù)。

      3.2.3 函數(shù)面板與自定義函數(shù)

      報(bào)表工具將一個(gè)函數(shù)定義為一個(gè)類,這些函數(shù)類均繼承自報(bào)表函數(shù)抽象類ReportFunction,在抽象類中定義了一個(gè)運(yùn)行報(bào)表的方法execute(Object[]param),運(yùn)算時(shí)依據(jù)報(bào)表函數(shù)的名稱反射找到對(duì)應(yīng)的類,執(zhí)行execute(Object[]param)方法,從param中獲得報(bào)表函數(shù)中的參數(shù),解析參數(shù)的類型后計(jì)算。

      函數(shù)面板集合了各類型的報(bào)表函數(shù)供用戶選擇,除基本的文本、數(shù)學(xué)、邏輯、時(shí)間函數(shù)之外,函數(shù)面板還提供了大量的用于水質(zhì)評(píng)價(jià)和流量統(tǒng)計(jì)的水質(zhì)函數(shù),如單因子評(píng)價(jià)算法、污染指數(shù)評(píng)價(jià)算法。當(dāng)函數(shù)面板中的函數(shù)不滿足用戶的需求時(shí),用戶可根據(jù)自身的業(yè)務(wù)需要自定義報(bào)表函數(shù)。自定義報(bào)表函數(shù)的方法是繼承ReportFunction類并重寫execute函數(shù),將自定義的報(bào)表函數(shù)類編譯后放在指定的函數(shù)包中,最后在函數(shù)管理類中添加該函數(shù)。

      3.3 報(bào)表服務(wù)器的組成

      報(bào)表服務(wù)器由數(shù)據(jù)抽取器和報(bào)表解析器兩部分構(gòu)成。數(shù)據(jù)抽取器負(fù)責(zé)報(bào)表數(shù)據(jù)的獲取和計(jì)算,采用JDBC[8,9]技術(shù)訪問數(shù)據(jù)庫(kù)以屏蔽底層數(shù)據(jù)庫(kù)的差異,同時(shí)增加報(bào)表模版緩存和數(shù)據(jù)集緩存兩種緩存機(jī)制以提高報(bào)表工具的運(yùn)行效率,報(bào)表解析器主要負(fù)責(zé)解析報(bào)表參數(shù)類型并且完成報(bào)表設(shè)計(jì)文件與HTML頁(yè)面的轉(zhuǎn)換。

      3.3.1 數(shù)據(jù)抽取

      數(shù)據(jù)抽取器是報(bào)表服務(wù)器的重要部分,負(fù)責(zé)報(bào)表數(shù)據(jù)源的連接、數(shù)據(jù)的獲取和計(jì)算工作。數(shù)據(jù)抽取器首先解析報(bào)表模板,獲得各列的報(bào)表函數(shù),通過分析報(bào)表函數(shù)的參數(shù)引用關(guān)系得到各函數(shù)的計(jì)算次序,函數(shù)的計(jì)算次序采用“最先被引用的單元格先計(jì)算”原則,例如單元格A1的字符數(shù)據(jù)為函數(shù)F1(C1),該函數(shù)引用的單元格C1,而單元格C1中的字符數(shù)據(jù)為另一個(gè)函數(shù)F2(E1),因此E1的字符數(shù)據(jù)若為報(bào)表函數(shù),則E1最先被計(jì)算,再逐次計(jì)算函數(shù)F2,F(xiàn)1。

      報(bào)表函數(shù)通常使用數(shù)據(jù)服務(wù)層提供的接口獲取數(shù)據(jù),由于目前環(huán)保行業(yè)與水利行業(yè)目前尚無統(tǒng)一的數(shù)據(jù)庫(kù)標(biāo)準(zhǔn),因此領(lǐng)域內(nèi)系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)也未完全標(biāo)準(zhǔn)化,在此情況下為增強(qiáng)水質(zhì)報(bào)表工具的通用性,數(shù)據(jù)訪問層針對(duì)目前使用較多的3個(gè)標(biāo)準(zhǔn)庫(kù)SL325、SL380、HJ419開發(fā)相對(duì)穩(wěn)定的數(shù)據(jù)訪問接口。由于水質(zhì)監(jiān)測(cè)與分析領(lǐng)域內(nèi)的系統(tǒng)廣泛應(yīng)用于環(huán)保和水利行業(yè),今后會(huì)面臨各廠商的商用數(shù)據(jù)庫(kù),這對(duì)數(shù)據(jù)訪問層的可移植性和可擴(kuò)展性提出了更高的要求,為實(shí)現(xiàn)這一點(diǎn),水質(zhì)報(bào)表工具所有的數(shù)據(jù)服務(wù)通過Spring RMI發(fā)布,客戶端通過獲得可擴(kuò)展的代理對(duì)象進(jìn)行數(shù)據(jù)訪問。待數(shù)據(jù)抽取器得到數(shù)據(jù)之后,將計(jì)算的結(jié)果返回轉(zhuǎn)化為字符數(shù)據(jù)并且重新映射至報(bào)表設(shè)計(jì)文件中,等待數(shù)據(jù)解析器的解析。

      3.3.2 緩存機(jī)制

      由于水質(zhì)報(bào)表的數(shù)據(jù)量大,面對(duì)海量的數(shù)據(jù)流,報(bào)表服務(wù)器在并發(fā)訪問的情形下很可能造成用戶訪問響應(yīng)速度慢甚至服務(wù)器癱瘓的情況,因此需要在報(bào)表服務(wù)器中設(shè)立緩存機(jī)制提高報(bào)表工具的性能,水質(zhì)報(bào)表工具中建立了報(bào)表模板緩存和報(bào)表實(shí)例緩存機(jī)制。

      模板緩存的原理是通過將用戶經(jīng)常使用的報(bào)表模板存放在緩存中以減少C/S端用戶在讀取報(bào)表模板時(shí)與服務(wù)器的交互次數(shù),減輕服務(wù)器的負(fù)擔(dān)。報(bào)表實(shí)例緩存又稱結(jié)果緩存,主要目的是保留首次報(bào)表運(yùn)算的結(jié)果以提高大數(shù)據(jù)量情況下報(bào)表的調(diào)用速度,其原理是將報(bào)表模板的調(diào)用結(jié)果作為一個(gè)緩存實(shí)例,下次用戶調(diào)用時(shí)無需再進(jìn)行重復(fù)計(jì)算,直接調(diào)用緩存實(shí)例即可。對(duì)于存在用戶自定義參數(shù)的水質(zhì)報(bào)表,則允許緩存多個(gè)實(shí)例,例如一個(gè)以污染源作為參數(shù)的污染物排放量年報(bào),兩個(gè)用戶分別指定了兩個(gè)不同的污染源,則創(chuàng)建兩個(gè)緩存實(shí)例。

      3.3.3 報(bào)表解析

      圖3 水質(zhì)報(bào)表調(diào)用流程圖Fig.3 Transfer water quality report to browser

      圖3為B/S端發(fā)出報(bào)表請(qǐng)求后報(bào)表調(diào)用的流程圖。如圖所示,客戶端發(fā)出請(qǐng)求后,服務(wù)端根據(jù)報(bào)表編號(hào)從報(bào)表模板庫(kù)中找到用戶請(qǐng)求的報(bào)表設(shè)計(jì)文件并根據(jù)不同的參數(shù)類型動(dòng)態(tài)的生成不同的HTML控件或JQuery插件[10]嵌入至頁(yè)面中,表2為主要的自定義參數(shù)類型與控件的對(duì)應(yīng)表。

      表2 自定義參數(shù)類型與控件對(duì)應(yīng)表Tab.2 Self-defined parameters and corresponding UIs

      用戶輸入?yún)?shù)值之后再次發(fā)出請(qǐng)求傳入自定義參數(shù)值和報(bào)表模板編號(hào),報(bào)表服務(wù)器計(jì)算報(bào)表后將數(shù)據(jù)集結(jié)果映射至報(bào)表設(shè)計(jì)文件中,最后解析報(bào)表設(shè)計(jì)文件,將其中各個(gè)元素的屬性特征映射成為CSS,將字符數(shù)據(jù)映射為HTML,最終生成一個(gè)HTML頁(yè)面返回給瀏覽器。

      4 應(yīng)用效果

      4.1 制作報(bào)表模版

      將報(bào)表工具應(yīng)用至水質(zhì)大氣環(huán)境監(jiān)測(cè)系統(tǒng)中,下文以“斷面主要超標(biāo)項(xiàng)目及超標(biāo)倍數(shù)分析表”為例,詳細(xì)說明如何運(yùn)用水質(zhì)報(bào)表工具制作水質(zhì)報(bào)表模板?!皵嗝嬷饕瑯?biāo)項(xiàng)目及超標(biāo)倍數(shù)分析表”屬于水質(zhì)分析類報(bào)表中的評(píng)價(jià)表,旨在按特定的算法對(duì)測(cè)站的水體質(zhì)量狀況進(jìn)行定性評(píng)定,同時(shí)計(jì)算出測(cè)站在一段時(shí)間內(nèi)的水質(zhì)類別、達(dá)標(biāo)狀況以及主要超標(biāo)污染物和倍數(shù)。在制作完基本的表格式并且錄入表名、表頭信息之后,為該報(bào)表設(shè)置“開始時(shí)間”和“結(jié)束時(shí)間”兩個(gè)自定義參數(shù),再為各列綁定一個(gè)水質(zhì)函數(shù)并關(guān)聯(lián)對(duì)應(yīng)的參數(shù),接著在報(bào)表設(shè)計(jì)器的運(yùn)行界面輸入?yún)?shù)值后運(yùn)行報(bào)表,查看報(bào)表的執(zhí)行結(jié)果是否滿足需求,最后將報(bào)表模板保存至模板庫(kù)。圖4為采用報(bào)表設(shè)計(jì)器設(shè)計(jì)報(bào)表的最終結(jié)果。為控件的初始值,圖5為參數(shù)解析后的截圖。

      圖4 報(bào)表設(shè)計(jì)器的使用效果Fig.4 A report template designed by WQ reporting tool

      圖5 時(shí)間類型參數(shù)轉(zhuǎn)datetimepicker控件Fig.5 Two datetimepicker generated by report param

      用戶點(diǎn)擊查詢報(bào)表按鈕之后,報(bào)表服務(wù)器計(jì)算報(bào)表將數(shù)據(jù)集映射至報(bào)表設(shè)計(jì)文件中,最后渲染為HTML頁(yè)面返回給瀏覽器,圖6為B/S端報(bào)表計(jì)算后的結(jié)果展示。

      圖6 報(bào)表運(yùn)行結(jié)果Fig.6 A water quality report on browser

      4.2 瀏覽器展示

      制作完報(bào)表模板之后,用戶在B/S端發(fā)出調(diào)用請(qǐng)求,報(bào)表服務(wù)器從模板庫(kù)中調(diào)用“斷面主要超標(biāo)項(xiàng)目及超標(biāo)倍數(shù)分析表”,獲得用戶自定義的參數(shù)“開始時(shí)間”和“結(jié)束時(shí)間”,并依據(jù)自定義參數(shù)類型和控件的對(duì)應(yīng)關(guān)系生成控件,根據(jù)表2,時(shí)間類型的參數(shù)被轉(zhuǎn)化為datetimepicker控件并嵌入頁(yè)面中,同時(shí)用戶自定義參數(shù)的默認(rèn)值也被設(shè)置

      5 結(jié)語

      本文首先分析水質(zhì)報(bào)表的特點(diǎn),闡述了對(duì)水質(zhì)報(bào)表工具的功能和性能要求,接著說明了水質(zhì)報(bào)表工具的C/S端和B/S端的組成結(jié)構(gòu)及其中使用到的關(guān)鍵技術(shù),最后介紹了水質(zhì)報(bào)表工具在水質(zhì)環(huán)境監(jiān)測(cè)及分析系統(tǒng)中的應(yīng)用,除此之外,我們還將該水質(zhì)報(bào)表工具應(yīng)用于水庫(kù)水質(zhì)監(jiān)測(cè)系統(tǒng)和水資源信息管理系統(tǒng)中,實(shí)踐證明該報(bào)表工具使用方法簡(jiǎn)單,靈活性較高,減少了開發(fā)人員的工作量,同時(shí)具備較好的可維護(hù)性和可擴(kuò)展性。

      在實(shí)際應(yīng)用中,我們發(fā)現(xiàn)用戶通常每隔一段時(shí)間進(jìn)行一次報(bào)表查詢,如果可以預(yù)設(shè)每隔一段時(shí)間自動(dòng)的進(jìn)行查詢并將結(jié)果以快照的形式保存,這樣用戶可以直接獲取已查詢好的報(bào)表,不但提高了用戶體驗(yàn)還減輕了服務(wù)器的負(fù)擔(dān),因此下一步的工作將集中在報(bào)表的定時(shí)查詢功能的實(shí)現(xiàn)。

      [1]宋 超.水環(huán)境監(jiān)測(cè)現(xiàn)狀及發(fā)展方向[J].環(huán)境科學(xué)動(dòng)態(tài),2005,(03):46-47.

      [2]潘永江,榮少鵬,孫亞兵.我國(guó)環(huán)境監(jiān)測(cè)現(xiàn)狀及其發(fā)展對(duì)策研究[J]. 廣州化工,2013,41(5):158-160.

      [3]陳國(guó)華,劉海林.管理信息系統(tǒng)中自定義報(bào)表工具的研究與設(shè)計(jì)[J]. 計(jì)算機(jī)應(yīng)用與軟件,2006,23(5):74-76.

      [4]陶劍青.一個(gè)通用報(bào)表工具的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,24(10):34-36.

      [5]郭長(zhǎng)金,崔軒輝,游明英.質(zhì)量管理信息系統(tǒng)中用戶自定義報(bào)表的實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,27(01):132-134.

      [6]Rajkovic P J.Custom made medical data reporting tool[C]//Proc.of 9th International Conference on Telecommunication in Modern Satellite, Cable, and Broadcasting Services, IEEE Press,2009.306-309.

      [7]朱鳳娥.面向服務(wù)的Web報(bào)表的研究與設(shè)計(jì)[D].哈爾濱:哈爾濱工程大學(xué),2011.

      [8]郭廣軍,陳代武,胡玉平.基于JDBC的數(shù)據(jù)庫(kù)訪問技術(shù)的研究[J]. 南華大學(xué)學(xué)報(bào),2005,19(2):50-56.

      [9]BAI Y.Practical Database Programming with Java[M].New York:Wiley-IEEE Press,2011.

      [10]陳胤梁.jQuery插件為Web應(yīng)用帶來的變化[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013,(5):12-15.

      猜你喜歡
      單元格報(bào)表工具
      波比的工具
      波比的工具
      玩轉(zhuǎn)方格
      玩轉(zhuǎn)方格
      LabWindows/CVI中Excel報(bào)表技術(shù)研究
      淺談Excel中常見統(tǒng)計(jì)個(gè)數(shù)函數(shù)的用法
      西部皮革(2018年6期)2018-05-07 06:41:07
      從三大報(bào)表讀懂養(yǎng)豬人的成績(jī)單
      “巧用”工具
      讀者(2017年18期)2017-08-29 21:22:03
      月度報(bào)表
      月度報(bào)表
      武平县| 寻乌县| 吴桥县| 丹阳市| 松潘县| 蒲城县| 饶阳县| 阳谷县| 临清市| 翁牛特旗| 龙山县| 三都| 营山县| 蒲江县| 定安县| 永清县| 大关县| 喜德县| 和平区| 庄浪县| 阿拉善盟| 文成县| 呼玛县| 宁海县| 临洮县| 阿坝县| 兰西县| 江油市| 西城区| 八宿县| 资溪县| 林西县| 梁平县| 邳州市| 云龙县| 吉林市| 米脂县| 金坛市| 宣汉县| 昔阳县| 阳东县|