馬 云 劉福剛 李紅旗 晁 陽 楊程華
(中國石油吐哈油田公司物資保障中心)
中國石油吐哈油田公司物資保障中心被定為油田公司HSE 標準化站隊建設(shè)示范單位之一,按照集團公司《基層站隊HSE 標準化建設(shè)工作實施意見》和《油田公司基層站隊HSE 標準化建設(shè)指導意見》的要求,開始了HSE 標準化站隊建設(shè)示范和推廣工作。 為了提升合規(guī)管理水平,車間和廠部加大了管理力度,對生產(chǎn)、安全及培訓等每一處環(huán)節(jié)建立了資料信息庫,但各車間的HSE站隊信息數(shù)據(jù)量大,管理組織困難。 如果外部委托開發(fā)管理軟件,不但價格高、開發(fā)周期長,而且需求分析很難全部滿足。為了實現(xiàn)各車間HSE 標準化站隊信息的統(tǒng)一平臺管理,進一步提高HSE標準化站隊的數(shù)字化管理水平,自行設(shè)計開發(fā)一款平臺軟件,實現(xiàn)各車間HSE 標準化站隊信息的統(tǒng)一平臺和結(jié)構(gòu)有序管理軟件迫在眉睫。
經(jīng)過前期調(diào)研,基于網(wǎng)絡(luò)化的HSE 標準化站隊建設(shè)信息管理軟件應(yīng)具備以下功能:
a. 各車間和部門的HSE 標準化站隊建設(shè)信息應(yīng)實現(xiàn)統(tǒng)一平臺管理和共享;
b. 軟件應(yīng)實現(xiàn)三塘湖、哈密和鄯善的網(wǎng)絡(luò)分布式辦公;
c. 各車間和部門管理員可以維護本單位HSE 標準化站隊建設(shè)的信息資料。
將以上需求進一步抽象化,概括出該軟件系統(tǒng)應(yīng)包括三大方面:一是HSE 標準化站隊信息的分權(quán)化維護管理業(yè)務(wù),二是HSE 標準化站隊信息的使用業(yè)務(wù),三是網(wǎng)絡(luò)化數(shù)據(jù)庫訪問管理業(yè)務(wù)。
HSE 標準化站隊信息的參與角色由系統(tǒng)維護員、車間管理員和普通用戶構(gòu)成。 其中系統(tǒng)維護員負責軟件系統(tǒng)改造、軟件升級、軟件發(fā)布及車間管理員注冊等業(yè)務(wù)。 車間管理員負責所在車間HSE 標準化站隊信息的維護管理工作。維護管理業(yè)務(wù)包括文件體系的管理、各文件夾的資料上傳、在線閱覽、快速下載及刪除等。
HSE 標準化站隊建設(shè)信息資料的使用業(yè)務(wù)由用戶完成,用戶通過結(jié)構(gòu)樹快速訪問結(jié)構(gòu)化的各車間和部門站隊建設(shè)信息資料,使用業(yè)務(wù)包括文件的在線閱覽、快速下載及文件定位等。
數(shù)據(jù)庫在管理系統(tǒng)中有著非常重要的地位[1],建立合理的多用戶共享數(shù)據(jù)庫是開發(fā)本系統(tǒng)的關(guān)鍵。 通過E-R 方法(圖1)設(shè)計關(guān)系型數(shù)據(jù)庫模型。
從圖1 可以看出,HSE 標準化站隊建設(shè)信息的文件資料在數(shù)據(jù)庫中占有核心地位,文件資料與其他實體基本上都是多對多和一對多的關(guān)系,根據(jù)這種關(guān)系可以在數(shù)據(jù)庫中建立相應(yīng)的表,涉及的表有:文件信息表、文件表及用戶表等。 文件信息表用于記錄各基層單位考評細則目錄,并與文件表通過關(guān)鍵字一對多關(guān)聯(lián)。 文件表存在二進制的基層站隊文件。 用戶表用于記錄員工編號、部門及角色等信息。
圖1 軟件E-R 關(guān)系流程
由于數(shù)據(jù)庫為關(guān)系型的數(shù)據(jù)庫,為了加速檢索和滿足前臺需求, 使用了虛擬的視圖功能,對重構(gòu)數(shù)據(jù)進行組合和快速檢索。
考慮到信息數(shù)據(jù)安全、 軟件開發(fā)周期等因素,軟件開發(fā)采用Client/Server 結(jié)構(gòu)。 通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到客戶端和服務(wù)端來實現(xiàn),降低系統(tǒng)的通信開銷。 這樣既減輕了服務(wù)器負擔又提高了系統(tǒng)的處理效率[2]。 服務(wù)器端由數(shù)據(jù)庫服務(wù)器和項目服務(wù)器構(gòu)成。 數(shù)據(jù)庫服務(wù)器軟件(后端)主要用于處理數(shù)據(jù)查詢或數(shù)據(jù)操作的請求。 項目服務(wù)器用于瀏覽器安裝項目和軟件自動升級。 軟件框架如圖2 所示。
圖2 軟件框架
本系統(tǒng)采用Microsoft VS2015 作為前臺開發(fā)環(huán)境平臺,Microsoft SQL Server 2008 作為后臺數(shù)據(jù)庫服務(wù)器。 主界面采用結(jié)構(gòu)樹瀏覽的布局,如圖3 所示。
圖3 主界面結(jié)構(gòu)樹布局
按照需求設(shè)計HSE 標準化站隊建設(shè)的信息資料應(yīng)統(tǒng)一平臺管理和閱覽,因此左側(cè)結(jié)構(gòu)樹根目錄名稱為4 個車間和部門,分別為:機泵保運中心、油管車間、抽油機保運中心和壓縮機維修中心。 結(jié)構(gòu)樹一級目錄為各車間名稱,二級以上目錄為各部門的HSE 考評細則目錄。通過單擊目錄及其子目錄,在主界面右側(cè)顯示該文件夾下面的標準化站隊建設(shè)信息資料。
在線閱覽功能為用戶提供了快捷方便的車間站隊建設(shè)資料的在線閱覽功能。 資料以字節(jié)形式存儲于數(shù)據(jù)庫文件表中, 為實現(xiàn)在線閱覽功能,首先在電腦指定目錄創(chuàng)建文件夾,其次調(diào)用select 指令查詢用戶所需文件, 并以文件數(shù)據(jù)流FileStream 寫入創(chuàng)建文件夾中, 最后執(zhí)行shell()指令使用辦公軟件將存在指定位置的文件打開。
用戶根據(jù)文件名可以實現(xiàn)基層站隊建設(shè)的資料下載功能,資料數(shù)據(jù)庫存儲策略為編號列遞增策略,因此將編號列設(shè)計為主鍵,文件顯示時,在表格的最后一列隱藏了編號列,單擊下載功能時,根據(jù)主鍵定位、查詢和下載用戶需求文件。
各車間和部門的基層站隊建設(shè)資料成百上千,如果用戶不知道資料在結(jié)構(gòu)樹的位置,可以使用文件定位功能快速找到, 為了提高檢索效率, 文件定位功能提供模糊和精確查詢兩種模式,select 語句中使用 “=” 執(zhí)行精確查詢, 使用“l(fā)ike”執(zhí)行模糊查詢。
精確查詢程序如下:
模糊查詢程序如下:
查詢后的結(jié)果顯示在DataGridView 表格中。文件查詢界面如圖4 所示。
圖4 文件查詢界面
上傳文件功能由ContextMenuStrip 控件實現(xiàn),通過右擊ContextMenuStrip 控件,彈出上傳界面并添加上傳文件實現(xiàn)上傳文件功能。 上傳文件分為普通上傳和批量上傳,普通上傳單次只能上傳一個文件, 批量上傳單次可以上傳多個文件。上傳文件功能為車間管理員的專有權(quán)限,普通用戶無法上傳文件。 程序通過select 語句查詢數(shù)據(jù)庫用戶信息表Privilge_Level 權(quán)限字段的數(shù)值確定用戶級別,Privilge_Level 權(quán)限字段大于1 時,ContextMenuStrip 控件可顯示并允許操作。當上傳界面啟動時,界面Load 事件會將結(jié)構(gòu)樹選擇的文件夾級數(shù)、各級文件夾名稱、文件類型寫入上傳界面變量中,批量上傳文件提供指定文件夾的查重過濾功能,防止空文件和同文件夾下的重復文件錄入。 批量上傳程序流程如圖5 所示。
文件刪除功能為車間管理員特有的權(quán)限,各車間的管理員只能刪除本車間的信息資料。 登錄軟件后,當程序檢測到用戶是車間管理員且查詢的是本車間文件時,本車間的文件表格第3 列顯示文件刪除鏈接。 DataGridView 表格第0 列隱藏有文件在數(shù)據(jù)庫的主鍵號ID,用戶執(zhí)行刪除命令后, 根據(jù)主鍵號刪除文件表中的二進制文件,程序指令如下:
圖5 批量上傳程序流程
文件夾管理功能由ContextMenuStrip 控件右擊實現(xiàn)。 文件夾管理包含創(chuàng)建子目錄和刪除目錄,刪除目錄將刪除該目錄下的所有文件和考評細則文件夾。 軟件通過前臺攔截技術(shù)防止空文件夾和同目錄重復文件夾的創(chuàng)建。
考評細則為各車間和部門站隊建設(shè)資料的總目錄,目錄信息量較大,軟件創(chuàng)建方法繁瑣,通過Excel 批量導入技術(shù), 實現(xiàn)考評的快速導入目錄功能。 程序具體步驟如下:
a. 創(chuàng)建OpenFileDialog 對象,通過ShowDialog 指令獲取打開的Excel 考評細則目錄文件名。
b. 創(chuàng)建Excel.Application 和Workbook 對象,將考評細則目錄文件名和Workbook 關(guān)聯(lián), 使用sxlBook.Worksheets 對象獲取考評細則目錄文件的文件, 文件指定a 行和b 列內(nèi)容使用屬性sxl-Sheet.Cells(a,b).value 獲取。
c. 通過for 循環(huán), 將每行的目錄信息數(shù)據(jù)通過SQLinsert 插入指令錄入至數(shù)據(jù)庫中。
如圖6 所示,通過應(yīng)用數(shù)據(jù)庫服務(wù)器遠程訪問技術(shù)和網(wǎng)絡(luò)技術(shù),三塘湖、哈密和鄯善片區(qū)各基層站隊的用戶可以完成分布式網(wǎng)絡(luò)辦公。
圖6 數(shù)據(jù)庫服務(wù)器和網(wǎng)絡(luò)布局
為了實現(xiàn)遠程訪問SQL 數(shù)據(jù)庫數(shù)據(jù)的功能,SQL Server 管理器配置成遠程連接服務(wù)器模式,并且SQL 登錄用戶賬號應(yīng)與程序賬號信息一致。最后啟用SQL 配置管理器的TCP/IP 和端口功能, 并將IP 地址設(shè)置為SQL Server 服務(wù)器的內(nèi)網(wǎng)地址,端口默認1433。
軟件用戶定義了3 種角色(圖7),不同角色設(shè)有不同權(quán)限,通過權(quán)限分配劃分用戶職責。
以往各車間和部門的HSE 標準化站隊建設(shè)信息資料版本多,并且存儲在不同電腦中,容易造成管理混亂和丟失。 通過資料的集中化和統(tǒng)一平臺管理, 實現(xiàn)了全廠HSE 標準化資料的共享、借鑒和考核。
圖7 軟件角色分配
Client/Server 框架的缺點之一是維護繁瑣,通過使用異步更新技術(shù),可以實現(xiàn)軟件客戶端的自動更新。 具體步驟如下:
a. 首先將最新版軟件安裝文件存放在IIS 項目服務(wù)器端的指定文件中,并將文件夾關(guān)聯(lián)和聯(lián)機至設(shè)置的URL 和端口上。 VS2015 軟件設(shè)置更新后的軟件版本號和修訂號,并配置啟動網(wǎng)頁和端口,軟件程序更新和最新版發(fā)布后,安裝文件將自動保存在指定文件中。
b. 在IIS 管理器中新建網(wǎng)址項目, 將物理地址映射至安裝文件夾上,并設(shè)置項目服務(wù)器IP 地址。
c. 最后啟動網(wǎng)站。 當客戶端啟動軟件后,用戶就可以在網(wǎng)頁中一鍵更新和升級至最新版的應(yīng)用程序。
HSE 標準化站隊信息資料內(nèi)容多而雜,通過軟件平臺在全廠和車間部門的推廣,有效實現(xiàn)了各基層站隊資料的科學有序管理。 軟件自上線以來,經(jīng)過不斷的測試,軟件功能、布局和美觀度不斷提升,滿足了用戶的所有需求,應(yīng)用效果良好。