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