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

?

基于PCMS和Oracle數(shù)據(jù)庫項目圖表開發(fā)

2022-12-08 07:23:38劉加偉陳文婭宋亞楠
現(xiàn)代計算機 2022年18期
關(guān)鍵詞:數(shù)據(jù)表匯總視圖

沈 彬,劉加偉,陳文婭,宋亞楠

(海洋石油工程股份有限公司數(shù)字化中心,青島 266520)

0 引言

工程項目建造管理信息系統(tǒng)(Engineering Project Construction Management System,PCMS),是海洋石油工程股份公司與海克斯康PPM基于Smart Plant系列產(chǎn)品(Smart Foundation、Smart Material、Smart Construction、Smart Weld Quality Manage System、Smart Completion和可視化圖表網(wǎng)站),結(jié)合海油工程公司個性化的工程項目管理需求,通過配置與二次開發(fā)打造完成的一套工程項目建造全過程管理(包括設(shè)計數(shù)據(jù)和文檔管理、材料管理、施工管理、質(zhì)量管理、機械完工管理和調(diào)試管理)信息集成系統(tǒng)。

1 開發(fā)需求

每一個項目的管理者對項目的工作量統(tǒng)計和進度統(tǒng)計等都可能提出一些特定的需求,一方面管理者可能會頻繁提出新的報表統(tǒng)計需求,另一方面項目管理過程中可能急需使用這些報表,因此留給開發(fā)人員的開發(fā)時間就會很短?;陧椖繄蟊黹_發(fā)的上述需求和開發(fā)特點,本文提出了直接使用Oracle函數(shù)和視圖快速開發(fā)報表,最后使用報表定時同步技術(shù)和網(wǎng)站圖表可視化大屏顯示技術(shù)將生產(chǎn)進度詳表和圖表呈現(xiàn)給用戶。

2 Smart Foundation數(shù)據(jù)庫

在Smart Plant系列軟件產(chǎn)品中與項目建造進度直接相關(guān)的施工管理軟件(Smart Construction)和質(zhì)量管理軟件(Smart Weld Quality Manage System)都是基于Smart Foundation開發(fā)的,它們的后臺數(shù)據(jù)庫都是Smart Foundation的數(shù)據(jù)庫。Smart Foundation數(shù)據(jù)庫可以是Oracle或者SQL Server數(shù)據(jù)庫,本文選擇了Oracle作為它的數(shù)據(jù)庫管理平臺。下面兩小節(jié)介紹Smart Foundation數(shù)據(jù)庫中相關(guān)數(shù)據(jù)表存儲信息的類別以及每一個字段的作用,這是進行數(shù)據(jù)庫函數(shù)開發(fā)的基礎(chǔ)。

2.1 Schema數(shù)據(jù)表

Smart Foundation數(shù)據(jù)庫是一種非常獨特的數(shù)據(jù)庫,在Object對象數(shù)據(jù)之上定義了Schema(Schema指的是類、接口、屬性、關(guān)系等定義信息),它是對象信息存儲規(guī)范的定義,與Schema對象相關(guān)的數(shù)據(jù)表主要是四個表:SchemaObj、SchemaObjPr、SchemaObjIf、SchemaObjRel。通過上述四個數(shù)據(jù)表可以獲得所有Schema對象的定義信息。

2.2 Object數(shù)據(jù)表

Smart Foundation數(shù)據(jù)庫中與Object數(shù)據(jù)對象相關(guān)的數(shù)據(jù)表主要是四個表:DataObj(用于存儲所有對象的基本信息,包括UID、所屬類、所屬工廠、創(chuàng)建日期等字段);DataObjPr(用于存儲所有對象所包含的每一個屬性的信息,包括屬性UID、屬性值等字段);DataObjIf(用于存儲所有對象所包含的接口的信息,包括接口UID、創(chuàng)建時間等字段);DataObjRel(用于存儲所有對象之間的關(guān)聯(lián)關(guān)系信息,包括關(guān)聯(lián)關(guān)系UID、UID1、UID2、創(chuàng)建時間等字段)。通過上述四個表可以獲得每個Object對象所實現(xiàn)的類、接口、屬性和關(guān)系信息。

3 Oracle數(shù)據(jù)庫開發(fā)

3.1 Oracle函數(shù)開發(fā)

由于Smart Foundation數(shù)據(jù)庫表數(shù)據(jù)存儲的獨特性,決定了它不是常規(guī)的關(guān)系型數(shù)據(jù)庫,常規(guī)的關(guān)系型數(shù)據(jù)庫對象屬性作為獨立的數(shù)據(jù)列存在,可以稱之為縱向列屬性數(shù)據(jù),而它采用了橫向行屬性數(shù)據(jù)存儲方式,這種數(shù)據(jù)存儲方式更加具有擴展性,即每一個屬性數(shù)據(jù)是單獨的一行。因此需要通過創(chuàng)建Oracle函數(shù)來獲得某一個對象的某一個屬性的實際值。對于非枚舉類型屬性值的獲取,本文定義該函數(shù)名稱為:SPC_GET_PROPERTY_VALUE,具體函數(shù)定義如圖1所示。

該函數(shù)有兩個參數(shù):objectOBID(即對象的OBID)和propUID(即要返回的屬性的UID)。函數(shù)的執(zhí)行過程如下:第一步,先從DATAOBJPR表中返回該對象的屬性值和UOM(該屬性值是否帶單位);第二步,再判斷如果該屬性值是帶單位的,那么它的單位名稱是什么;第三步,將該屬性的完整內(nèi)容(即值和單位)作為函數(shù)的結(jié)果返回給調(diào)用者。另外,當(dāng)某屬性是枚舉類型時,如果使用SPC_GET_PROPERTY_VALUE函數(shù)返回的是枚舉項的UID,需要通過枚舉項的UID轉(zhuǎn)化成枚舉項的DisplayName屬性,本文定義該函數(shù)名稱為:SPC_GET_PROPERTY_DISPLAY_VALUE,具體函數(shù)定義如圖2所示。

3.2 Oracle視圖開發(fā)

在完成Oracle函數(shù)的開發(fā)后,就可以使用Select語句,基于DataObj表獲得縱向列屬性數(shù)據(jù)表。以SPC_ComponentWorkTypeStep類的實例數(shù)據(jù)表為例,Oracle視圖的SQL語句如圖3所示。

執(zhí)行上述Select語句返回的SPC_Component-WorkTypeStep類的實例數(shù)據(jù)表如圖4所示。

4 可視化圖表網(wǎng)站配置

??怂箍礟PM開發(fā)了一個可視化圖表網(wǎng)站產(chǎn)品(可視化圖表網(wǎng)站),該網(wǎng)站采用前后端分離開發(fā)技術(shù)(前端用Angule,后端用.Net Core跨平臺Web API)。該產(chǎn)品有三方面的優(yōu)勢:該網(wǎng)站產(chǎn)品可以通過管理員配置實現(xiàn)報表定時同步任務(wù),可以通過配置將平鋪的進度匯總統(tǒng)計報表,用圖表的形式展現(xiàn)在網(wǎng)站上;網(wǎng)站實現(xiàn)Windows操作系統(tǒng)、安卓操作系統(tǒng)、蘋果操作系統(tǒng)等多操作系統(tǒng)瀏覽器訪問兼容;手機、Pad、電腦、大屏顯示器等多種尺寸訪問終端頁面顯示自適應(yīng)。網(wǎng)站的這三大優(yōu)勢徹底解決了建造進度統(tǒng)計報表分發(fā)顯示的困難。既減少了系統(tǒng)管理員開發(fā)的工作量,又解決了各種顯示終端兼容的問題。

4.1 報表定時同步

當(dāng)項目的數(shù)據(jù)量達到百萬行這個級別后,按照3.2節(jié)開發(fā)的視圖,視圖每次運行時間可能要幾分鐘,如果數(shù)據(jù)列的數(shù)量很多,如果視圖和視圖之間還有嵌套、合并等操作,復(fù)雜視圖的運行時間還要更長。另外,當(dāng)項目的數(shù)據(jù)量達到千萬行這個級別后,視圖運行的時間也會增加到原先的十倍左右。因此,夜間報表定時同步功能就非常有必要。可視化圖表網(wǎng)站已經(jīng)完成該功能的開發(fā)。管理員通過簡單的定時任務(wù)配置和SQL語句設(shè)計即可完成此項任務(wù)。

4.2 報表數(shù)據(jù)匯總

按照3.2節(jié)開發(fā)的視圖數(shù)據(jù)表是數(shù)據(jù)詳表,項目管理者需要的可能是經(jīng)過數(shù)據(jù)分類匯總后的圖表,因此報表數(shù)據(jù)的匯總工作不可避免。首先可以選擇使用Oracle數(shù)據(jù)庫中的統(tǒng)計函數(shù)和匯總SQL語句完成此項任務(wù),報表數(shù)據(jù)分析匯總后形成新的視圖,再通過報表定時同步計劃任務(wù)將匯總數(shù)據(jù)表下載到網(wǎng)站本地數(shù)據(jù)庫,最終用圖表的形式分發(fā)給項目管理者。另外,在可視化圖表網(wǎng)站中開發(fā)數(shù)據(jù)分析匯總模塊,將數(shù)據(jù)分析匯總工作交給可視化圖表網(wǎng)站服務(wù)器來完成,這樣也可以減少數(shù)據(jù)庫服務(wù)器的工作量。

4.3 可視化圖表

可視化圖表網(wǎng)站中提供了豐富的可視化圖表控件,常用的柱狀圖、餅圖、折線圖,甚至立體三維圖表也在其中,可視化圖表顯示效果如圖5所示。

5 結(jié)語

結(jié)合海油工程項目建造管理者的匯總報表需求,基于PCMS系統(tǒng)中各軟件產(chǎn)品的已有功能,使用Oracle數(shù)據(jù)庫函數(shù)、視圖和匯總報表開發(fā)是一條非常靈活和高效的報表開發(fā)解決方案,最后通過可視化圖表網(wǎng)站顯示和分發(fā)給用戶。該解決方案的顯著優(yōu)勢如下:一方面,大大縮短了報表開發(fā)周期,而且在面對頻繁地報表開發(fā)需求升版時,可以從容應(yīng)對快速修改;另一方面,它成功地實現(xiàn)了可視化圖表在主流操作系統(tǒng)和主流顯示終端上自適應(yīng)兼容顯示目標。

猜你喜歡
數(shù)據(jù)表匯總視圖
常用縮略語匯總
系統(tǒng)抽樣的非常規(guī)題匯總
湖北省新冠肺炎疫情數(shù)據(jù)表
黨員生活(2020年2期)2020-04-17 09:56:30
基于列控工程數(shù)據(jù)表建立線路拓撲關(guān)系的研究
5.3 視圖與投影
視圖
Y—20重型運輸機多視圖
SA2型76毫米車載高炮多視圖
供應(yīng)商匯總
供應(yīng)商匯總
汾西县| 密云县| 平潭县| 合山市| 新乡市| 临夏县| 湘潭市| 高邑县| 马山县| 景东| 平阳县| 丽江市| 乌审旗| 凉城县| 喀喇沁旗| 宿州市| 确山县| 米林县| 轮台县| 开原市| 长海县| 柯坪县| 津南区| 瑞丽市| 双牌县| 含山县| 武山县| 衡阳县| 德清县| 潞城市| 定边县| 湖南省| 体育| 双辽市| 石首市| 阜康市| 石景山区| 五莲县| 淮南市| 太仓市| 沁水县|