吳 波
(中鐵二十三局集團有限公司,四川成都 610031)
地下工程安全風險事件的來源很復雜,由于安全風險事件不只在項目建設施工階段發生,還包括很多早在地下工程項目的規劃設計階段就開始萌發的直接或間接的相關事件[1-2]。為了降低安全風險對實現地下工程項目目標構成的巨大威脅,必須在項目前期對風險事件開展仔細研究,對地下工程項目進行安全風險分析,以其作為參考,制定項目安全風險策略,從而確保項目目標的順利實現[3-4]。隨著計算機互聯網的時代的到來,工程流程化,工程無紙化作業迅速得到發展,徐媛等人提出建立面向地鐵施工及運營過程的安全設計知識庫[5],從而對地鐵施工運營的安全措施方案進行有效的管理,但該系統依托于Revit運行環境,不利于安裝和擴展。余宏亮.等人研究了工程圖紙的地鐵車站施工安全風險自動識[6],通過計算機來識別AutoCAD工程圖來判斷地鐵施工中的風險,該系統識別AutoCAD圖紙的原理是通過建立AutoCAD圖紙圖層庫,從而對整個圖紙進行讀取,所以對AutoCAD工程圖紙繪制要求較高,容易造成錯誤識別或識別不準。目前城市地下結構安全措施規范仍然停留在紙質管理階段,基于目前這些問題,建立獨立的城市地下結構安全設計信息的可視化系統具有重要意義,通過后臺建立統一的數據庫管理,前端設計可視化操作界面,工作人員可以快速輕松地查詢各類環境和條件下的安全措施,同時為進一步的無紙化自動識別施工安全措施開發提供基礎。
由于城市地下空間結構安全風險來源復雜且分類較多。
(1)第一步:需要基于Access2016數據庫來建立支持系統的數據庫[7],根據網絡化拓建、類型、分類、風險源和控制措施分別建立數據表,數據表又相互聯系,通過建立一對多,多對多和多對一的關系來解讀各個數據表之間的關系。
(2)第二步:根據C#語言和AccessDatabaseEngine來對后臺數據庫進行可視化的系統搭建[8],用戶不需要懂數據庫相關知識,但用戶可以通過與可視化界面進行交互,以此來實現操作后臺數據庫。
(3)第三步:分配不同權限級別來訪問及操作數據庫。
(4)第四步:實現用戶對查詢結果進行Excel報表,C#對Excel操作方法比較多,最常用的是通過OLE方式編程[9],但該方法需要Office環境支持,讀取速度也比較慢,基于Java平臺的POI技術具有高效快速Excel報表特點,同時不需要安裝Office[10],本系統采用POI的.NET版本,即:NPOI。
圖1為系統功能結構圖,系統安裝用戶權限級別分為兩個模塊進行設計,分別為超級管理員和普通用戶。

圖1 系統功能結構
1.1.1 超級管理員登錄模塊
該模塊主要實現超級管理員用戶的所有功能,數據入庫(導入數據的格式見圖2)、根據查詢條件查詢對應的控制措施、對查詢的數據記錄的進行修改和刪除,清空各類數據表、管理普通用戶、查詢結果報表等功能。

圖2 導入數據文件格式
1.1.2 普通用戶登錄模塊
該模塊主要實現監測數據導入、項目屬性和原始記錄管理,數據預處理。支持數據的插入、刪除、修改、自動保存等操作。
本系統后臺數據庫名稱為安全設計數據庫,圖3為該數據庫的ER關系圖。

圖3 E-R關系
表1為安全設計數據庫中的數據表名稱匯總。

表1 數據庫表
1.2.1 實體數據表
(1)網絡化拓建數據表(表2)。

表2 網絡化拓建
(2)類型數據表(表3)。

表3 類型
(3)分類數據表(表4)。

表4 分類
(4)風險源數據表(表5)。

表5 風險源
(5)控制措施數據表(表6)。

表6 控制措施
(6)賬戶設置數據表(表7)。

表7 賬戶設置
1.2.2 關系數據表
(1)網絡化拓建-類型數據表(表8)。

表8 網絡化拓建-類型
(2)類型-分類數據表(表9)。

表9 類型-分類
(3)分類-風險源數據表(表10)。

表10 分類-風險源
(4)風險源-控制措施數據表(表11)。

表11 風險源-控制措施
本系統的核心支撐就是后臺數據庫,第一部分介紹了數據庫的設計,接下來將通過C#編程語言來實現該可視化系統的設計和實現。
當運行軟件時,首先進入登錄界面,如圖4所示,該界面主要提供用戶賬戶和密碼輸入登錄、記住密碼,以及通過郵箱注冊、修改密碼和忘記密碼等功能。

圖4 登錄界面
這一部分通過C#語言與后臺數據庫進行交互,通過賬戶設置數據表對用戶進行相關的查詢、訪問、添加和修改,同時判斷用戶的訪問權限,根據訪問權限來分配給用戶不同的可操作的界面和功能。C#連接Access數據庫的連接字符串為:
String AccessCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Path +";Jet OLEDB:Database Password="+Password;
其中Path為數據庫文件路徑,Password為數據庫密碼。
2.2.1 超級管理員用戶功能
超級管理員用戶可以對數據庫執行增、刪、改、查和管理普通用戶等功能。
數據入庫
(1)數據入庫。將圖2所示的Excel數據文件導入到后臺數據庫中,圖5為導入數據的狀態顯示。

圖5 數據入庫狀態顯示
(2)數據查詢。用戶登錄后,數據庫會自動加載到數據查詢界面,如圖6所示,網絡化拓建、類型、分類和風險源的數據源會分別綁定到4個下拉選擇框中,用戶可以根據這四個查詢條件進行對應控制措施的查詢。

圖6 數據庫查詢界面
(3)數據修改。圖6中,在每一條控制措施后邊會有一個更改按鈕,當用戶為管理員時,圖中4個下拉菜單框和控制措施表格都是可編輯狀態,用戶可以通過單擊修改按鈕對對應記錄進行更改并同時更改到數據庫中。
(4)數據刪除。圖6中,在每一條控制措施后邊同時會有一個刪除按鈕,當用戶為管理員時,用戶可以單擊刪除按鈕來刪除對應記錄進行更改并同時將數據庫中這條記錄刪除掉。
(5)查詢結果報表。系統支持對查詢結果進行Excel報表,圖7為查詢結果報表的結果展示。

圖7 數據查詢報表顯示
(6)查詢結果報表。系統支持超級管理員對普通用戶的管理,如圖8所示,超級管理員可以對普通用戶進行賬戶注銷功能,操作方法為點擊該用戶右側的刪除按鈕即可。

圖8 賬戶管理界面
2.2.2 普通用戶功能
普通用戶的操作界面見如圖9所示,普通用戶只能對數據庫進行查詢和數據查詢結果報表功能,普通用戶不能對4個下拉菜單框和控制措施表進行編輯更改操作。

圖9 普通用戶操作界面
系統還提供大部分主要功能的工具欄,用戶可以借助工具欄進行相關操作,同時還為用戶提供系統操作的幫助文檔和開發者聯系方式。
系統采用面向對象的、運行于.NET Framework之上的高級程序設計語言C#.net,系統通過編程來實現與Access數據庫進行相關數據庫操作。另外,系統還使用了第三方庫:NPOI,NPOI是基于.NET平臺,對Excel和Word進行二次開發的開源庫。
本文設計了城市地下空間結構安全設計系統,采用C#.net語言與Access數據庫實現了數據庫數據導入、數據查詢、數據更新、數據刪除的可視化實現和數據Excel報表。本系統采用模塊化開發,系統擴展性強,以便后續的功能擴展和二次開發。