殷 慧
(山西焦煤西山煤電集團公司杜兒坪礦,山西 太原 030022)
在煤礦企業(yè)中,“安全為天”,安全記分是堅持教育先行,獎罰并舉的原則,采用記分的形式查處“三違”人員,排除隱患,獎勵在安全管理中做出優(yōu)異成績,突出貢獻的個人。由于這項工作涉及人員眾多,內(nèi)容復(fù)雜,且一直采用手工記分管理,工作量大,不能及時提供有效、必要的安全信息,給礦井的安全管理帶來了諸多不便。為強化安全管理,將建設(shè)數(shù)字化礦井的總體構(gòu)想切實落實到安全生產(chǎn)的實處,西山煤電集團杜兒坪礦結(jié)合礦井安全管理實際,經(jīng)過前期調(diào)查研究,綜合系統(tǒng)整體要求,開發(fā)了一套基于礦井局域網(wǎng)絡(luò)的安全記分信息系統(tǒng),整個系統(tǒng)充分利用B/S結(jié)構(gòu)的特點,實現(xiàn)了將記分系統(tǒng)移植到局域網(wǎng)的功能,實現(xiàn)了現(xiàn)有的紙張記分統(tǒng)計向基于局域網(wǎng)的無紙張記分系統(tǒng)的轉(zhuǎn)變。采用計算機程序處理計分、統(tǒng)計、分析的過程,不僅可以降低工作量,而且在同一系統(tǒng)中實現(xiàn)了記分、統(tǒng)計與查詢多種功能。本系統(tǒng)主要是通過客戶端,服務(wù)器,數(shù)據(jù)庫三層結(jié)構(gòu)來運行,以網(wǎng)頁形式呈現(xiàn)。
本系統(tǒng)采用 B/S(Brower/Server)模式,B/S(Browser/Server)模式即瀏覽器和服務(wù)器模式。其結(jié)構(gòu)見圖1。
圖1 B/S模式的三層結(jié)構(gòu)圖
B/S的執(zhí)行過程為:客戶端通過瀏覽器向WEB服務(wù)器發(fā)出請求,如需操作數(shù)據(jù)庫,則再由WEB服務(wù)器向數(shù)據(jù)庫服務(wù)器發(fā)出請求,對數(shù)據(jù)庫進行操作,操作完成后,由數(shù)據(jù)庫服務(wù)器返回WEB服務(wù)器,客戶端由WEB服務(wù)器以動態(tài)網(wǎng)頁的形式返回客戶端,由瀏覽器顯示結(jié)果。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。
可行性研究的目的是使用最小的代價在盡可能短的時間里確定問題是否能解決,通過復(fù)雜系統(tǒng)的規(guī)模與目標,研究與此類似的系統(tǒng)后,具體從下面幾個方面考慮。
1)技術(shù)的可行性。由于該礦在之前應(yīng)用類似開發(fā)工具成功開發(fā)過其他系統(tǒng),技術(shù)基礎(chǔ)已經(jīng)非常雄厚,并且應(yīng)用良好,操作簡便,維護簡單。因此,技術(shù)上的準備應(yīng)該不成問題。
2)經(jīng)濟上的可行性。由于安全記分系統(tǒng)是我礦內(nèi)部應(yīng)用的小型系統(tǒng),開發(fā)由該礦自行設(shè)計開發(fā),從人力、物力、財力方面來說都是可行的。
需求分析就是分析用戶的要求。需求分析是設(shè)計數(shù)據(jù)庫的起點,需求分析的結(jié)果是否準確地反映了用戶的實際要求,將直接影響到后面各個階段的設(shè)計并影響到設(shè)計結(jié)果是否合理和實用。
1)功能分析。功能分析的調(diào)查內(nèi)容是分析用戶要完成什么處理功能,對處理的響應(yīng)時間有什么要求,以及處理方式、系統(tǒng)安全性及完整性的要求。
經(jīng)過調(diào)查、收集與分析安全記分系統(tǒng)應(yīng)提供以下的功能:a)不同用戶不同使用權(quán)限的功能。對于普通用戶即職工只可以進行個人記分的明細查詢及一段時間的分數(shù)累計查詢,而超級用戶即記分員則可對分數(shù)進行錄入、修改及一段時間的分數(shù)統(tǒng)計與分析。b)數(shù)據(jù)初始化功能。因安全記分以一年為一個周期,在年初時記分員可對所有正負分清零,對所有數(shù)據(jù)庫中記分值進行刪除。c)數(shù)據(jù)錄入及修改功能。系統(tǒng)除了給記分員提供錄入分數(shù)的功能外還應(yīng)允許記分員有因各種原因需要修改記分信息的功能。d)記分查詢功能,包括對個人記分的查詢和對單位總分的查詢,職工個人基本情況的查詢。e)記分統(tǒng)計分析的功能。包括對正、負分的統(tǒng)計、按單位統(tǒng)計及對符合一定條件分數(shù)的清除功能。
2)數(shù)據(jù)分析。數(shù)據(jù)分析的調(diào)查內(nèi)容是分析用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì),即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù),及數(shù)據(jù)與處理的關(guān)系。
對安全記分中的數(shù)據(jù)分析發(fā)現(xiàn),大致可分為兩大類數(shù)據(jù),安全記分數(shù)據(jù)及職工基本信息數(shù)據(jù)。職工基本信息數(shù)據(jù)基本不變,如職工姓名、編號、等信息,安全記分數(shù)據(jù)需進行累加、統(tǒng)計等運算,如正分合計、負分合計等。對這兩類數(shù)據(jù)在設(shè)計數(shù)據(jù)處理方法時要分別對待。
本系統(tǒng)涉及到的數(shù)據(jù)有:a)職工基本信息。主要有編號、部門、姓名、性別、工種、出生日期、學(xué)歷、政治面貌、用工形式、籍貫、家庭住址、工作時間、照片等。b)安全記分信息。主要有正分合計、負分合計、人數(shù)合計、各分數(shù)明細等。其中分數(shù)明細中包括三違、管理過失、一級傷亡事故、二級傷亡事故、三級傷亡事故、嚴重隱患、原因、三員兩長、放心職工、優(yōu)秀安全員、拔尖人才、勞模、學(xué)習(xí)明星、礦比武、集團公司比武、發(fā)現(xiàn)三違、日期。
根據(jù)系統(tǒng)功能的設(shè)計要求,本記分考試系統(tǒng)分為三個模塊,即:查詢、數(shù)據(jù)錄入、統(tǒng)計分析三大模塊。整個系統(tǒng)的設(shè)計可分解為三個功能模塊來進行設(shè)計,各模塊之間的關(guān)系見圖2。
圖2 系統(tǒng)功能模塊示意圖
本記分系統(tǒng)根據(jù)權(quán)限設(shè)置的需要,分為超級用戶和一般用戶,超級用戶是指礦安監(jiān)處負責(zé)“三違”記分的人員,可進行系統(tǒng)內(nèi)錄入、查詢、統(tǒng)計分析的任何操作;一般用戶是指普通職工,只能進行系統(tǒng)內(nèi)記分明細與記分匯總的查詢。
根據(jù)系統(tǒng)功能設(shè)計的要求以及功能模塊的劃分,設(shè)計了一個數(shù)據(jù)庫,庫中建立了幾個表:jfb(記分表)、mast(職工信息表)、yhzb(負分合計表)、zfhzb(正分合計表)、dhzb(單位匯總表)等。jfb(記分表)與其備份表jfzb結(jié)構(gòu)一致,這里以記分表為例,其結(jié)構(gòu)見表1。
本系統(tǒng)主要分成兩個用戶,一個是只對記分信息進行查詢的普通用戶,另一個是擁有錄入及統(tǒng)計權(quán)限的超級用戶。因此在打開錄入及統(tǒng)計等有權(quán)限的頁面時要首先通過用戶登錄頁面,輸入用戶名及密碼后通過驗證方可進入相應(yīng)頁面進行操作。
下面分析一下關(guān)鍵的地方:
首先,需要向系統(tǒng)編譯器說明腳本語言:
<%@Language=VBScript%>
然后,讀取dl.txt的系統(tǒng)設(shè)定用戶名和密碼并與用戶輸入內(nèi)容進行比較,根據(jù)輸入用戶名的不同進入不同權(quán)限的頁面,用戶名與密碼不對則重新登錄。
表1 記分表
本系統(tǒng)數(shù)據(jù)庫采用SQL Server。連接數(shù)據(jù)庫的簡單代碼如下:
首先使用ASP Server對象的createobject方法創(chuàng)建Connection對象,Connection對象負責(zé)與數(shù)據(jù)庫實際的連接動作,其他對象都必須依賴Connection對象的連接才能發(fā)揮其特有的功能。Connection對象代表與數(shù)據(jù)源進行的唯一會話。Driver=SQL Server;Server=192.168.19.6;Uid=sa;Pwd=abc;DataBase=aqj;”表示數(shù)據(jù)庫的驅(qū)動程序及數(shù)據(jù)庫服務(wù)器地址,用戶名、密碼、及數(shù)據(jù)庫名稱。通過創(chuàng)建Recordset對象得到記錄集,Recordset對象表示的是來自基本表或命令執(zhí)行結(jié)果的記錄全集,任何時候Recordset對象所指的當(dāng)前記錄均為集合內(nèi)的單個記錄。
查詢中主要分為記分明細查詢、記分匯總查詢、基本情況查詢,記分明細查詢是對記分表(jfb)查詢,記分匯總查詢對負分合計表(yhzb)查詢,而基本情況查詢是對基本情況表(mast)進行查詢。以記分明細查詢?yōu)槔?,在查詢中有四個供選擇條件,為保證實際應(yīng)用中這四個條件既能單個選擇也可并列存在,而且也不出現(xiàn)錯誤顯示,在SQL語句的where條件語句中加入了通配符“%”。“%”可表示任意長度的字符串,在語句“&Request.Form(“T1”)&”后加“%”,就可保證在用戶未輸入具體條件時系統(tǒng)也能按默認值輸出正確的顯示。具體代碼如下:
WHERE bianh like'“&Request.Form(“T1”)&”%'and xingm like'“&Request.Form(“T2”) &”% 'and jfb.bumen like'“&Request.Form(“bm”)&”%'
下一步就是按照安全負分與正分分別對記錄進行顯示。首先給正、負分分別設(shè)定一個變量值,然后按照條件的不同通過循環(huán)語句對記分表(jfb)讀取正、負分所對應(yīng)的不同字段并顯示出來。
記分匯總查詢、基本情況查詢等其他查詢與記分明細查詢方法基本一致,這里不做贅述。
在系統(tǒng)中根據(jù)權(quán)限設(shè)置,除記分明細查詢及記分匯總查詢頁面,其他所有頁面在點擊進入時都會出現(xiàn)登錄頁面。當(dāng)密碼或用戶名錯誤時系統(tǒng)重新回到登錄頁面。登錄頁面在執(zhí)行時通過程序讀取dl.txt中的用戶名及密碼進行用戶身份鑒別,如果鑒定成功,才可登錄。
以記分明細查詢頁面為例,當(dāng)用戶對個人記分明細進行查詢時點擊記分明細查詢進入記分明細查詢頁面,頁面中包括查詢內(nèi)容、卡號、姓名、部門四項內(nèi)容,用戶可選擇其中一項或幾項進行查詢,不選擇時按系統(tǒng)默認對所有安全負分進行查詢。頁面下方設(shè)有兩個按鈕。提交查詢按鈕,即提交選擇內(nèi)容,程序按照編號、姓名、部門字段對記分表(jfb)進行查詢操作并將查詢結(jié)果顯示出來;全部重寫按鈕即清除選擇內(nèi)容重新選擇。
當(dāng)操作者對職工進行分數(shù)錄入時首先點擊數(shù)據(jù)錄入,打開數(shù)據(jù)錄入頁面,為保證數(shù)據(jù)錄入的準確性,只顯示頁面最上方卡號一欄,進行卡號驗證。填入卡號,點擊“提交”后將輸入卡號與職工基本信息表(mast)中“編號”字段進行比較,如卡號正確則顯示全部頁面。如卡號不正確則提示“查無此人!”。錄入數(shù)據(jù)頁面中的錄入數(shù)據(jù)為了保持其統(tǒng)一性,均采用選擇按鈕或下拉式文本框,這樣在錄入記分時只需進行選擇操作,簡單易行。錄入數(shù)據(jù)分別記入了記分表的相應(yīng)字段中。
統(tǒng)計分析頁面中共設(shè)有四項內(nèi)容:負分統(tǒng)計、正分統(tǒng)計、負分清除、單位匯總。點擊負分統(tǒng)計是對一段時間內(nèi)所有記負分的人員的分數(shù)的累計,程序?qū)τ浄直?jfb)中所有負分項進行合計,并存放至負分合計表(yhzb)中,最后再從負分合計表(yhzb)讀取記錄顯示出來。
安全記分信息系統(tǒng)是從煤礦安全工作出發(fā),將計算機技術(shù)應(yīng)用于煤礦安全管理,以煤礦局域網(wǎng)為基礎(chǔ),將數(shù)據(jù)庫技術(shù)與編程技術(shù)相結(jié)合的一套系統(tǒng)。整個系統(tǒng)基于B/S架構(gòu),實現(xiàn)了對安全記分的遠程管理,用戶可以在局域網(wǎng)內(nèi)任何一個工作站上進行操作,程序的執(zhí)行完全在服務(wù)器端,系統(tǒng)的維護與管理更加簡便易行。系統(tǒng)目前的各項功能基本滿足了日常工作的要求,但還不夠完善,在進一步的工作中,將根據(jù)工作需要增加干部安全獎罰金額的管理等功能,不斷完善系統(tǒng),使其在煤礦安全管理中發(fā)揮更大的作用。
[1] 頊宇峰,馬 軍.ASP網(wǎng)絡(luò)編程從入門到精通[M].北京:清華大學(xué)出版社,2006:16-19.
[2] 潘恭華,徐俊東.突破FrontPage 2002中文版網(wǎng)頁制作實例培訓(xùn)教程[M].北京:中國水利水電出版社,2002:155-200.
[3] 鄒 建.中文版SQL Server 2000開發(fā)與管理應(yīng)用實例[M].北京:人民郵電出版社,2005:159-179.
[4] 瑣宇峰.ASP+SQL Sever典型網(wǎng)站建設(shè)案例[M].北京:清華大學(xué)出版社,2006:15-22.
[5] 鄭阿齊.SQL Server實用教程[M].北京:電子工業(yè)出版社,2002:87 -95.