999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

BIRT報表在上市油氣儲量報表開發中的應用

2021-03-08 01:38:32張歡
電子技術與軟件工程 2021年23期
關鍵詞:上市系統

張歡

(中海油研究總院有限責任公司 北京市 100028)

石油天然氣儲量是石油企業的核心資產,儲量報表的設計和應用顯得尤為重要。公司使用的上市儲量評估專業軟件是一套根據國際石油公司儲量資產化管理的需求,利用Java語言設計開發的油氣儲量資產評估與管理系統,主要用于油氣儲量計算、儲量資產評估和儲量管理。上市儲量報表是要將儲量計算和評估的多個成果數項混合顯示在單個報表中,有的數據項是單個字符串,有的數據項是字符集(一定年限中各年度的數據)。上市儲量報表數據項的邏輯結構和層級比較簡單,但是數據項多,還涉及到數據對象的單位轉換問題,實現起來比較復雜。上市儲量評估專業軟件之前使用Actuate報表開發工具。該報表工具設計開發比較困難,在數據顯示上也有一些不足。而BIRT報表具有很好的國際化支持,可以很方便地在一個報表中混合展現概要數據和詳細數據,容易和應用系統集成結合等優點,非常適合設計和生成上市儲量報表。

1 報表系統架構

BIRT(Business Intelligence and Reporting Tool)是Eclipse平臺的商業智能和報表工具項目,它是一個基于開放源代碼的報表系統,主要用在基于Java,J2EE的Web應用程序上。BIRT報表基于Eclipse的開源報表工具,開發環境與Eclipse的天然結合非常適合程序員使用。BIRT非常容易集成,引入相應TLD(標簽庫)和JAR包就能搞定,十分方便。同時擁有和Dreamweaver一般的操作界面,可以像畫table一樣畫報表,生成圖片,導出word,html分頁樣樣齊全,樣式和script設置簡單。上市儲量評估系統是一個基于Java的C/S應用程序。BIRT給上市儲量評估系統創建美觀實用的PDF、XLSX、DOCX、PPTX等格式的報表插件。

上市儲量評估系統主要包括儲量評估和經濟評價兩大功能。上市儲量報表集中展示這兩項功能的成果數據。上市儲量評估系統是C/S架構,采用的是典型的MVC框架。M是指業務模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式。比如一批統計數據可以分別用不同的BIRT報表來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。整體的系統架構圖如圖1所示,系統主要有表示層、業務邏輯層和數據服務層組成。在表示層中,用戶在統一入口開展所有的業務研究工作,包括油藏儲量計算、氣藏儲量計算、經濟評價等,計算結果按照單一資產輸出和多資產匯總展示BIRT報表。在業務邏輯層中,基于Eclipse定制BIRT報表模板,采用基于MVC模式的請求轉發,決定訪問的目標,應用程序接受普通業務處理。在數據服務層按照BIRT報表格式要求建立數據規范,提供統一的數交換接口。

圖1:系統架構圖

2 POJO數據源

在設計報表時,首先需要確定報表的數據源。BIRT報表支持定義不同類型的數據源,如JDBC數據源、平面文件數據源、XML數據源、腳本化數據源、POJO數據源等。數據庫中的數據通常是企業報表的最主要的來源,因此BIRT最常用的數據源是JDBC數據源。而上市儲量評估系統根據系統的實際架構,選擇使用POJO數據源。

POJO(Plain Old Java Object)是指簡單java對象。POJO的內在含義是指那些沒有從任何類繼承、也沒有實現任何接口,更沒有被其它框架侵入的java對象。簡單理解為不包含業務邏輯的單純用來存儲數據的 java類,一般POJO沒有實現任何接口,沒有集成任何父類(java.lang.Object除外)。對于對JAVA語言不熟悉的,可能比較難以理解POJO對象。在上市儲量評估系統中,POJO對象指的是系統中定義的變量,包括基礎變量和過程變量,都能作為POJO對象進行輸出。

在用戶界面定義并錄入了儲量評估和儲量計算的基礎數據,同時能夠記錄經過業務模型運算后形成的結果數據。基礎數據包括評估單位、評估日期、稅率、儲量級別、儲量狀態等單個字符串的變量,同時包括油價、毛產量、費用、費率等字符集數據。在業務模型部分基于產量遞減法、數模法的方法編寫了產量預測模型,同時按照既定規則編寫了自營油氣田和合作油氣田經濟評價模型。控制器利用基礎數據來運行業務模型,最終得到出儲量評估和經濟評價的結果數據。在上市儲量評估系統中,基礎數據項、計算后的結果數據項、以及計算過程中的數據項,都可以視為POJO對象,能夠在BIRT報表中輸出。

3 General類型報表

與用戶打交道的是報表定制層,因此定制層的質量直接決定了用戶的體驗。上市儲量評估系統包括研究項目的建立、資產管理單元的建立、數據的導入導出和備份、儲量評估參數的錄入、儲量圖形分析工具的運用、評估模型的的運行、評估結果的預覽和打印。資產建立遵循:油氣田、開發狀態、預測單元三級的原則。根據SEC相關要求,信息單包含了油氣田及其各狀態的總產量、凈產量、價格、公司未來總收入、產品稅、成本項、稅前未來凈現金流等關鍵分年數據。報表主要包括兩種模板類型,general類型和summary類型,分別對應單一資產報表和多資產匯總報表。

在general類型報表模板中,是單個油田或者分狀態的資產的相關數據項在報表中輸出。數據項包括單個的字符串以及字符集。因此,需要建立兩個數據集合(SingleData和TableData),分別用以存儲各種類型的字符串和字符集。確定好了報表的模板類型后,下一步需要構建報表的框架布局,大部分的布局都可以直接使用Eclipse的table組件來組合實現。Eclipse提供的屬性也很豐富,能夠規范報表中數據項的顯示。接下來需要根據報表的數據項導入儲量評估系統中的POJO對象。導入的功能類就是寫在引入的JAR包中。導入的POJO對象包括三類:常量對象,比如年度信息(使用getDate()函數);單個字符串對象,包括中方權益、縮水系數、經濟年限、棄置費等,使用getValue()函數;分年的字符集:比如2021年至2035的原油總產量、凈產量、稅費、成本、稅前凈現金流等,使用getStreamValue()函數。掌握好三類導入函數的使用,基本掌握額general類型報表的定制。導入POJO對象后,可以很方便的將相關對象拖入模板中相應的位置即可。接下來,需要設置模板數據項的屬性,包括字符長度,字體、保留小數位數等。最后,在軟件環境中測試,檢查生成的報表是否符合預期要求。

選擇合適模板,建立框架,匹配POJO對象,測試完成后,報表顯示的數據還缺少有效的單位。作為一個企業集的應用,數據項的單位統一以及轉換不可缺少。比如在儲量評估系統中原油凈產量的單位是噸,BIRT報表中要求原油凈產量統一顯示為桶。這就需要在報表生成時,需要有一個單位轉換的過程。作為專業軟件,系統中已有單位轉換的功能函數,在導入POJO對象時調用相關功能函數即可。

4 Summary類型報表

Summary類型報表比General類型更加復雜,本質是將多個資產的數據顯示在同一個表單中,每個資產占用一行或多行數據(單一字符串或分年的字符集)。不同于General類型,布局時可僅使用Table組件進行組合。Summary類型報表需要在Table中插入一個Group組件,同時增加一個Group字符集。將導入的POJO對象拖入Group組件的相應方框后,同時將POJO對象與Group字符集的AbsoluteName進行綁定,然后選擇多個資產后,即可導出多條記錄。

需要注意的是,如果Group組件中的數據項混合有單一字符串和分年的字符集,需要將單一字符串導入至TableData字符集。這樣單一字符串才能與分年的字符集顯示多行,不過每行的數據都是相同的,與分年的字符集進行匹配。

實際工作中,Summary類型報表使用更廣泛,它能夠反映季度或者年度儲量評估的一個整體情況。Summary類型報表模板的設計開發的難度也更大。

5 上市儲量報表的不足

上市儲量評估系統的建設和應用的時間比較長,之前一直視為一個儲量評估和經濟評價的工具軟件(類似一個復雜的計算器)。隨著用戶和資產數量的增長,系統也被外部審計納入了審計的范圍。報表的輸出作為數據的一個出口,按照審計要求,需要通過角色對員工的權限進行限制。在BIRT中,這個功能實現起來比較困難。BIRT沒有權限方面的輔助功能,想要實現權限,需要另外開發模塊來實現此項功能。這也是接下來需要解決的問題。

其次,上市儲量BIRT報表交互性比較差。上市儲量評估系統中引入的JAR包中的數據導入函數,很好的起到了報表表格數據項與系統POJO對象的匹配關系,但是缺少異常處理和提示機制,不能與用戶進行交互。在開發報表的時候,只要有一處語法錯誤,整個報表的數據都無法顯示,無法進行調試。由于BIRT的報表數據的動態生成的,調試起來比較困難,只能逐個數據項手動檢查,不可避免會走很多彎路。但是一旦BIRT報表開發完成,在具體的應該過程還是比較穩定的,除非需要增加新的需求,需要更改報表的功能,其他方面基本不需要維護。

另外,BIRT的報表設計界面是傳統的條帶式界面,在設計報表樣式,需要的行和列需要畫出,對表頭比較復雜的中國式報表來說,實現起來有困難。上市儲量報表中的現金流相關數據需要按照15種分狀態,按照分公司、總部層層匯總統計。這類處理簡單數據關系的統計分析功能在關系型數據庫中非常容易實現,但是BIRT報表中難以實現。為解決這個問題,只能將上市儲量報表涉及的數據項導入基于關系型數據庫的儲量成果管理系統中,再通過編寫SQL語句來實現統計分析功能。

最后,BIRT報表相關教程和資料的獲取也比較困難,難以進一步深入學習相關知識。筆者也是在使用國外的石油專業軟件時,才接觸到BIRT報表。國內沒有BIRT的官方技術交流平臺和技術支持人員,僅有的幾個網友自發組建平臺上,問題的更新還停留在2012年以前,活躍度很低。可能這也是BIRT報表在國內企業中的使用率卻遠遠低于FineReport等報表工具的主要原因。筆者在設計上市儲量BIRT報表時,資料主要也是從外方工程師獲取。學習的進度也比較緩慢,經常遇到問題遲遲得不到有效的解決方案。

6 結束語

上市儲量評估系統通過單井和油氣田的歷史產量數據計算出分年預測的毛產量和凈產量,再結合油價、稅費、費用等基礎數據,計算經濟評價的各項現金流,并最終通過BIRT報表輸出計算成果。利用BIRT報表生成的上市儲量報表使用簡單,數據呈現效果好,在公司上市儲量工作中得到了廣泛的應用。相比較其他的報表工具,BIRT報表的功能比較簡單,能夠快速與系統集成,最大的優點還是免費,在報表數量不多且報表簡單的項目里建議選用。

猜你喜歡
上市系統
20.59萬元起售,飛凡R7正式上市
車主之友(2022年6期)2023-01-30 08:01:04
10.59萬元起售,一汽奔騰2022款B70及T55誠意上市
車主之友(2022年4期)2022-11-25 07:27:30
52.8萬元起售,全新奔馳EQE正式上市
車主之友(2022年5期)2022-11-23 07:24:48
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
14.18萬元起售,2022款C-HR上市
車主之友(2022年4期)2022-08-27 00:57:48
13.29萬元起售,全新XR-V熱愛上市
車主之友(2022年5期)2022-04-06 11:54:26
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
主站蜘蛛池模板: 人人爽人人爽人人片| 国产亚洲精品97在线观看| 日韩一区二区在线电影| 国产国语一级毛片| 91毛片网| 波多野结衣AV无码久久一区| 一级毛片免费观看不卡视频| 久久这里只有精品2| a天堂视频在线| 久久久噜噜噜| h网址在线观看| 热伊人99re久久精品最新地| 91精品久久久无码中文字幕vr| 国产精品三级专区| 日本不卡在线| 欧美日韩第二页| 97国产在线视频| 色综合色国产热无码一| 久久免费视频6| 97色婷婷成人综合在线观看| 久久这里只有精品国产99| 亚洲美女一级毛片| 国产欧美日韩一区二区视频在线| 黄色a一级视频| 亚洲国语自产一区第二页| 国产噜噜噜视频在线观看 | 亚洲狠狠婷婷综合久久久久| 日韩精品资源| 国产视频一二三区| 99久久精品免费看国产免费软件 | 97国产精品视频自在拍| 免费高清毛片| 亚洲首页在线观看| 亚洲熟女偷拍| 亚洲国产日韩在线成人蜜芽| 亚洲欧美日韩中文字幕在线一区| 成人在线综合| 伊人成色综合网| 欧美精品伊人久久| 噜噜噜久久| 免费毛片a| 成人免费一区二区三区| 青青青国产视频| a色毛片免费视频| 亚洲乱码在线视频| 91国内视频在线观看| 99在线视频网站| 亚洲人成人无码www| 国产一级无码不卡视频| 这里只有精品在线| 婷婷六月激情综合一区| 亚洲国产精品成人久久综合影院| 亚洲第一黄色网址| 无码视频国产精品一区二区| 992tv国产人成在线观看| 精品国产欧美精品v| 国产精品太粉嫩高中在线观看| 国内精自视频品线一二区| 91在线播放免费不卡无毒| 国产在线自乱拍播放| 亚洲三级成人| 美女国产在线| 永久在线精品免费视频观看| av大片在线无码免费| 国产福利影院在线观看| 少妇极品熟妇人妻专区视频| 超薄丝袜足j国产在线视频| 99久久国产综合精品2023| 亚洲欧洲国产成人综合不卡 | 久久成人免费| 欧美怡红院视频一区二区三区| 欧美一级大片在线观看| 中文国产成人久久精品小说| 午夜精品一区二区蜜桃| 欧美激情第一区| 99久视频| 亚洲精品动漫| 国产人在线成免费视频| 97国产成人无码精品久久久| 亚洲av日韩av制服丝袜| 久久精品丝袜| 青青极品在线|