用VB.NET實現基于B/S模式的檢斤內網開發和應用
基于B/S模式的檢斤內網Web服務器主要服務于檢斤隊,通過相應的權限層級控制,實現了維修方、隊管理人員、檢斤員對內網資料的查詢訪問、上傳下載、自主學習,為各級用戶查詢實時檢斤數據提供了靈活實用的平臺,安全性好、維護簡單、使用方便、查詢速度快,檢斤大數據的分析也為汽車衡校驗、維保提供了技術支持。
近年來,我公司始終秉承“科技引領發展、創新成就未來”的科技理念,充分發揮廣大科技技術人員的聰明才智,通過各部門的協作創新,運用科技手段解決了公司生產、經營和管理中的一系列難題。從12年開始,公司自主創新研發的V3智能檢斤系統已在我隊全部磅房推廣使用,實現了流程再造、全面協同作業、作業票信息化,具備數據穩定、傳輸率高、實時統計存儲、多策略控制等特點。
伴隨公司信息化建設的不斷推進,隊內部現行的汽車衡及輔助設備相關資料、單證使用多手工填寫提報,易丟失,后期追溯查詢也不方便;同時汽車衡維保多采用計劃檢修和事后維修的方法,管理滯后;隊內各時間段、各班次檢斤信息亟待整合、加工、對比分析,供港區各磅房統一共享查閱。
基于各磅房網絡互聯互通、V3智能檢斤系統提供的檢斤局域網的穩定性,檢斤隊利用VB.NET著手搭建隊內網站,旨在搭建起實時、便捷、高效、動態的信息交流管理平臺。
1 基于B/S結構的數據庫訪問模式
1.1 B/S三層結構
B/S模式是是對傳統C/S結構的一種改進,它把軟件應用的業務邏輯全部移植到了服務器端。以訪問Web數據庫為中心,HTTP為傳輸協議,員工端通過瀏覽器(Browser)訪問Web服務器和與其邏輯相連的后臺數據庫,是真正的三層結構。
第一層是數據層。負責管理數據庫,主要完成中間層提交的查詢、刪除、更新和存儲等功能。
第二層Web服務器是功能層,即接受員工請求,并與后臺數據庫連接,進行申請處理,然后將處理結果返回Web服務器,再傳至員工端。中間層是Web應用中最重要的一層,負責處理復雜的應用研究邏輯、數據分析等各種與用戶界面及數據存儲無關的工作,是用戶層的數據服務的邏輯橋梁。WebServer可以利用Asp.net或Java技術來生成基于數據信息的HTML文件。
第三層是員工端即瀏覽器,一般借助Asp.net、JavaScript、Active等顯示用戶界面和應用服務的運行結果,可向中間層發送服務請求。主要完成員工和后臺的交互及最終結果輸出功能。
B/S架構服務器無論是使用還是數據庫維護都比傳統模式更加經濟方便,而且使維護任務層次化——信息管理員負責服務器硬件日常管理和維護,程序開發人員負責后臺數據庫數據更新維護,員工不需要進行維護。
1.2 B/S模式應用到檢斤內網WEB服務器的設計
檢斤內網后臺數據庫設在隊部數據監控室,在本地服務器上安裝IIS信息服務,并搭建運行環境。因全隊作業電腦有36臺,處在同一局域網內,故采用靜態IP(路由器上采用IP與MAC綁定)方式,使員工端和服務器能有較好的交互性。
檢斤隊內部網站設有會員專區及會員信箱、非會員區,會員區由外修方、隊管理人員、檢斤員自己注冊賬號與密碼登陸網站,在作業過程中實現信息共享的同時,也確保了操作人員身份的準確。網站在績效考核管理、創新平臺管理、設備技術管理、生產實時管理、計量單管理、培訓管理等6個方面進行了改革創新。訪問權限密碼采用MD5多次加密算法,不易破解。防火墻技術可以保證后臺數據庫的安全性,結合Windows XP與IIS的高度安全性,系統安全可以較好地得到保障。
2.系統結構的開發
2.1 開發工具的選擇
使用.NET技術進行開發,在開發過程中操作系統采用Windows XP,采用基于.NET框架(Framework)的開發平臺,其前端開發工具選用VisualStudio.NET2005集成開發環境,結合VB.NET和ADO.NET技術進行開發。
2.2 登陸權限管理
針對單證異常處理、績效考核、維修派工等模塊,需要根據工作崗位不同分配不同權限。
strSql=”select 登錄權限 from 用戶管理where [姓名]=” + Label1.Text + “”
cm=New OleDb.OleDbCommand(strSql,cn)
dt=cm.ExecuteScalar()
cn.Close()
If dt=”技術員” Or dt = “統計” Or dt = “中控主管” Then
Else
ClientScript.RegisterStartupScript(Client Script.GetType(),”myscript”,””)
2.3 網站管理
檢斤內部網站資料系統的數據庫為Access2000數據庫。其在數據庫管理功能、完整性檢查、安全性、一致性方面都有良好的表現。網站信息上傳、刪除、編輯等操作代碼如下:
網頁整理:
Handles GridView1.SelectedIndexChanged
del_id=GridView1.SelectedRow.Cells(3).Text
End Sub
網頁上傳:
strSql=”select 目錄編號 from 站點結構 where[網站目錄]=” & DropDownList1.Text & “”
Try
cn.Open()
Catch ex As Exception
Response.Write(“數據連接錯誤!”)
End Try
cm=New OleDb.OleDbCommand(strSql, cn)
Bh=cm.ExecuteScalar()
cn.Close()
Bh1=System.Text.RegularExpressions.Regex. Replace(Bh, “[B][1-6]”, “”)
Save_Path1=”~/admin/main_aspx/” & Bh1 & “/”& Bh & “/”
Save_Path=Server.MapPath(“~/admin/main_ aspx/” & Bh1 & “/” & Bh & “/”)
Label4.Text=”要上傳的網頁將保存在:~/admin/ main_aspx/” & Bh1 & “/” & Bh & “目錄”
ClientScript.RegisterStartupScript(Client Script.GetType(),”myscript”, “”)
2.4 SQL結構化數據的存儲及查詢
單班作業匯總是將每班次汽車衡運行狀況、人員出勤、設備運行及其他明細由當班中控主管核準并錄入系統,是檢斤內網最核心最關鍵的信息。數據錄入部分代碼如下:
If TextBox1.Text=”” And TextBox2.Text=”” And TextBox4.Text=”” Then
ClientScript.RegisterStartupScript(Client Script.GetType(), “myscript”, “”)
ElseIf TextBox1.Text=”” Or TextBox2.Text=””Or TextBox4.Text=”” Then
ClientScript.RegisterStartupScript(Client Script.GetType(),”myscript”,””)
Else
jy1=”select 作業日期 from 中控交班 where ID=(select max(ID) from 中控交班) “
jy2=”select 晝夜 from 中控交班 where ID=(select max(ID) from 中控交班) “
jy4=”select count(*) from 中控交班 where ID=(select max(ID) from 中控交班)”
strSql = “insert into 中控交班 (班次,填表時間,作業日期,晝夜,接班問題,本班問題,交班事項,填表人) values (‘” & DropClass.Text& “,” & Session(“mydate11”) & “,” & Session(“MyDate”) & “,” & DropDorN.Text & “,”& TextBox1.Text & “,” & TextBox2.Text & “,”& TextBox4.Text & “,” & DropName.Text & “)”
根據需要,對檢斤單班資料查詢主要是日期及班次的查詢,查詢方法采用SQL結構化語句。以查詢某個時間的某個班次的檢斤作業數據為例,SQL查詢語句為:
strSql=”select 填表人 from 中控生產 where ID=(select max(ID) from 中控生產) “;
strSql1=”select 班次 from 中控生產 where ID=(select max(ID) from 中控生產) “;
strSql2=”select 晝夜 from 中控生產 where ID=(select max(ID) from 中控生產) “;
strSql3=”select 作業日期 from 中控生產where ID=(select max(ID) from 中控生產) “。
檢斤生產作業量查詢是選取相應時間段進行檢斤量查詢,其SQL語句可以這樣寫:
strSql=”select 作業日期,晝夜,汽運噸數from 中控生產 where [作業日期] between #” & date_1 & “# and #” & Now.Date & “#”。
3 結論
基于VB.NET的檢斤內網Web服務器的建立,將我隊分布在港區各處的磅房、檢斤中控室、檢斤隊隊部聯系起來,縱向將疏港檢斤工作的日日夜夜聯系起來。
隨著系統運行及使用的深入,內部網站實時性、動態性、直觀性、便捷性的優勢凸顯,不僅為檢斤員日常績效考核、技能培訓提供了信息交互平臺,更是在為汽車衡校驗、日常維保、故障預診斷提供了數據和技術支持。