摘 要:為了適應(yīng)公司發(fā)展,盡快提高設(shè)計(jì)水平,并與國(guó)際接軌,我公司引進(jìn)了美國(guó)Intergraph公司的SPE體系軟件。其中,SPF是一個(gè)針對(duì)工程信息管理的基礎(chǔ)平臺(tái),具有開(kāi)放的API開(kāi)發(fā)接口,能夠根據(jù)用戶需求進(jìn)行二次開(kāi)發(fā)。本文著重介紹我公司使用VB.Net技術(shù),對(duì)SPF進(jìn)行的一系列開(kāi)發(fā),使SPF更加適應(yīng)我公司實(shí)際,提高了軟件應(yīng)用效率。
關(guān)鍵詞:SmartPlant Foundation;二次開(kāi)發(fā);API
1.前言
SmartPlant Foundation(簡(jiǎn)稱SPF)軟件,是美國(guó)Intergraph公司SmartPlant Enterprise(簡(jiǎn)稱SPE)體系軟件之一,是專門為工程公司、工廠業(yè)主、運(yùn)營(yíng)商設(shè)計(jì)的工程信息管理系統(tǒng),能夠提高工程項(xiàng)目和工廠運(yùn)營(yíng)信息的有效性、完整性、準(zhǔn)確性。
2.SPF的邏輯結(jié)構(gòu)
SPF是基于數(shù)據(jù)庫(kù)的軟件。用戶可以從桌面客戶端或者瀏覽器界面,通過(guò)激活配置好的Method來(lái)調(diào)用處于API(應(yīng)用程序接口,Application Programming Interface,簡(jiǎn)稱API)層的Server API或Client API,從而實(shí)現(xiàn)對(duì)象的創(chuàng)建、更新、刪除、關(guān)聯(lián)等操作,并保存到數(shù)據(jù)庫(kù)中。SPF中的對(duì)象,都是由Schema這個(gè)概念實(shí)例化出來(lái)的。Schema是SPF的核心概念,描述了軟件的數(shù)據(jù)結(jié)構(gòu),以及SPE設(shè)計(jì)集成系統(tǒng)各個(gè)軟件之間進(jìn)行數(shù)據(jù)傳遞的規(guī)則。它包括ClassDef、InterfaceDef、PropertyDef、RelDef等。
3.開(kāi)發(fā)原理
開(kāi)發(fā)工具:Microsoft Visual Studio.Net 2008
運(yùn)行環(huán)境:SmartPlant Foundation 2009(04.03.01.05),.Net FrameWork 3.5
SPF是基于.Net技術(shù)開(kāi)發(fā)的,具有開(kāi)放的API開(kāi)發(fā)接口,因此能夠根據(jù)用戶需求進(jìn)行二次開(kāi)發(fā),并能與任何第三方平臺(tái)進(jìn)行溝通。而進(jìn)行二次開(kāi)發(fā)的切入點(diǎn)就在SPF邏輯結(jié)構(gòu)的API層。Server API開(kāi)發(fā)能夠節(jié)省客戶端的執(zhí)行時(shí)間,客戶端對(duì)對(duì)象的所有操作都由服務(wù)端負(fù)責(zé),由服務(wù)端進(jìn)行運(yùn)算,性能較高;Client API的開(kāi)發(fā)相對(duì)簡(jiǎn)單一些,省時(shí)省力。在這個(gè)基礎(chǔ)上,我們使用VB.Net技術(shù),結(jié)合公司實(shí)際需求,以Client API為接口進(jìn)行了開(kāi)發(fā)。
對(duì)SPF進(jìn)行二次開(kāi)發(fā)時(shí),項(xiàng)目必須引用的系統(tǒng)自帶的幾個(gè)DLL,并繼承SPF.Client.APIs.Model這個(gè)基類,所有用戶操作時(shí)調(diào)用的Client API都繼承了這個(gè)基類。
通過(guò)程序開(kāi)發(fā)生成的DLL,要經(jīng)過(guò)SPF軟件的定制,才能被調(diào)用。要在SPF中創(chuàng)建一個(gè)Client API,其名字必須與程序中的類名相同,這樣SPF才能正常調(diào)用程序生成的DLL。而API是不能被用戶直接激活的,這就需要將Client API實(shí)例化成Method,并且由Menu作為Method的前臺(tái)觸發(fā)窗口,成為用戶使用二次開(kāi)發(fā)功能的入口。
4.開(kāi)發(fā)成果
4.1校審卡模塊
在文檔管理中,如何確保文檔質(zhì)量就成了管理的關(guān)鍵問(wèn)題。一般來(lái)說(shuō),設(shè)計(jì)都要有一套審核機(jī)制來(lái)保證設(shè)計(jì)成果及過(guò)程文件的質(zhì)量。我們?cè)赟PF中定制了一套設(shè)校審流程,通過(guò)SPF工作流來(lái)對(duì)各個(gè)專業(yè)之間的資料、成果進(jìn)行審核,保證各個(gè)專業(yè)之間提出去的資料都是經(jīng)過(guò)審核的。雖然SPF能夠生成工作流程報(bào)告來(lái)查看校審記錄,但是其格式與樣式跟設(shè)計(jì)人員常用的校審卡表單差異較大,使用不方便,而且不能夠作為質(zhì)量記錄由相關(guān)單位存儲(chǔ)。因此,必須通過(guò)開(kāi)發(fā),才能使軟件生成滿足公司質(zhì)量記錄要求的校審卡表單。
開(kāi)發(fā)的校審卡模塊能夠?qū)崿F(xiàn)以下功能:
(1)提供用戶輸入界面:使設(shè)校審人員能方便地填寫校審意見(jiàn),記錄校審過(guò)程中發(fā)現(xiàn)的文件錯(cuò)誤數(shù)及等級(jí)評(píng)定,并將其存儲(chǔ)到數(shù)據(jù)庫(kù)中;
(2)提供校審卡預(yù)覽功能:能自動(dòng)獲取信息并輸出到Excel,包括被校審文檔的文檔號(hào)和文檔類型、設(shè)校審人員填寫的校審意見(jiàn)、校審過(guò)程中發(fā)現(xiàn)的文件錯(cuò)誤數(shù)及等級(jí)評(píng)定、校審人員名字及進(jìn)行校審的時(shí)間,使設(shè)校審人員可以隨時(shí)查看被校審文檔的校審狀態(tài)及校審流程中各個(gè)步驟的校審意見(jiàn);
(3)校審卡存檔:工程項(xiàng)目完成后,其責(zé)任人需對(duì)校審記錄進(jìn)行收集、編號(hào)、整理歸檔。在軟件中存儲(chǔ)校審卡時(shí),需按照一定規(guī)則對(duì)校審卡進(jìn)行命名,并存放到相應(yīng)文檔結(jié)構(gòu)中,以便今后進(jìn)行查閱;
(4)權(quán)限管理:使設(shè)校審人員各司其職,只能對(duì)自己的工作流步驟進(jìn)行操作。
這樣,設(shè)校審人員在文檔流轉(zhuǎn)的過(guò)程中可以直觀的查看文檔的校審狀態(tài),所填寫的相關(guān)信息也能夠存儲(chǔ)到數(shù)據(jù)庫(kù),達(dá)到了使SPF自動(dòng)生成滿足公司要求的校審卡表單的效果,從而保障校審工作優(yōu)質(zhì)高效的完成,確保設(shè)計(jì)質(zhì)量進(jìn)一步提高。
4.2文檔批量創(chuàng)建
工程設(shè)計(jì)項(xiàng)目涉及的專業(yè)多,產(chǎn)生的管理文件、交換文件、成果文件等各類資料數(shù)量較大,而這些文件都需要上傳到SPF中作為文檔進(jìn)行管理。默認(rèn)情況下,用戶只能通過(guò)手動(dòng)操作填寫文檔屬性,將文檔一一創(chuàng)建到SPF中。面對(duì)龐大的文檔量,這樣的方式效率低下,是任何一個(gè)工程項(xiàng)目所不能容忍的。而文檔批量創(chuàng)建功能的開(kāi)發(fā),恰恰解決了這個(gè)問(wèn)題。
用戶可以通過(guò)編輯Excel模版,在模板中填寫文檔必要屬性,然后從SPF菜單讀取Excel,將文檔批量創(chuàng)建到SPF中。Excel使用方便靈活,較之SPF表單繁復(fù)的操作,大大提高了工作效率。
4.3與公司一體化平臺(tái)結(jié)口
在引進(jìn)SPF軟件之前,我公司一直使用上海金慧公司的一體化平臺(tái)進(jìn)行項(xiàng)目管理。在使用SPF之后,我們對(duì)這兩個(gè)平臺(tái)進(jìn)行了定位。目前,一體化平臺(tái)仍是公司企業(yè)級(jí)的項(xiàng)目管理平臺(tái),SPF工作的重點(diǎn)以項(xiàng)目設(shè)計(jì)過(guò)程控制和數(shù)據(jù)管理功能開(kāi)發(fā)為主。針對(duì)這個(gè)定位,一方面對(duì)一體化平臺(tái)進(jìn)行修改,另一方面通過(guò)程序開(kāi)發(fā)使SPF中的設(shè)計(jì)集成項(xiàng)目設(shè)計(jì)成果及過(guò)程文件也能通過(guò)一體化平臺(tái)進(jìn)行存檔,保證了項(xiàng)目存檔的統(tǒng)一。
該功能的實(shí)現(xiàn)主要包括兩部分,一是將文檔從SPF中批量下載,二是將文檔批量導(dǎo)入至一體化平臺(tái)中。目前已經(jīng)開(kāi)發(fā)完成將SPF中的校審和互提文件自動(dòng)導(dǎo)入到一體化平臺(tái)的功能,項(xiàng)目資料的接口正在開(kāi)發(fā)中。
5小結(jié)
科學(xué)的管理必須與先進(jìn)的技術(shù)相結(jié)合,落實(shí)到實(shí)踐中,才能發(fā)揮出事半功倍的效果。本文從SPF的邏輯結(jié)構(gòu)、開(kāi)發(fā)原理、開(kāi)發(fā)成果等方面系統(tǒng)介紹了我公司在使用SPF軟件過(guò)程中,所做的二次開(kāi)發(fā)工作,先后實(shí)現(xiàn)了校審卡模塊開(kāi)發(fā)、文檔批量創(chuàng)建、與公司一體化平臺(tái)接口等功能。目前,這些功能已經(jīng)在實(shí)際項(xiàng)目中得到了推廣,應(yīng)用效果良好。
(作者單位:中石化石油工程設(shè)計(jì)有限公司)