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