楊 政 安
(蘭州職業技術學院 信息工程系,蘭州 730070)
許多手機維修企業在內部管理上通常都會遇到一些同樣令人頭痛的問題:維修單據隨著業務的增長而越來越多,保管不便、查找不便、修改不便,這無形中間接為企業帶來了很多額外的成本,同時也帶來很多作弊營私的機會,對企業造成聲譽和收入的直接損失。針對這些問題,筆者開發了這個手機維修單管理系統。通過這個軟件,企業可以做到快速地對維修單據進行錄入、查找、修改、刪除、統計、打印的管理,最大限度提高企業的管理效率。
該手機維修單管理系統是基于B/S架構和采用ASP開發的管理系統。使用B/S架構是為了能對維修單據進行統一管理,并最大限度地節約開發維護成本,在客戶端只要使用IE瀏覽器就可方便訪問,而不需要其他軟件支持。
ASP是Active Server Pages(動態服務器網頁)的簡稱,其主要特點是所產生的執行結果都是標準的HTML格式,并且完全與HTML文件融合,易創建、修改,不用編譯、連接程序,面向對象可擴展等,因此,ASP技術非常適合于手機維修單管理系統的設計。
由于在實現手機維修單輸出時需要進行套打,即在已有的手機維修單上打印出客戶的信息,所以在實現時用到了CSS。CSS是Cascading Style Sheets的縮寫,按照官方定義,它可以被認為是一個樣式表語言,它允許用戶通過它來為結構化文檔(HTML文檔)指定樣式。通過使用CSS用戶可以將文檔的內容和樣式分離,從而簡化Web頁面的開發和維護。
本文所述的管理系統主要設計了輸入、打印、查詢、統計、用戶管理等五個模塊,其中輸入模塊又分為信息錄入和地縣送修,主界面如圖1、圖2。


由于整個設計有六個模塊,我們以維修信息錄入模塊的設計為例,具體地介紹如何運用ASP進行其功能的實現。維修信息錄入模塊是前臺用戶端程序中非常關鍵的一個功能模塊,幫助用戶完成信息的錄入,并把這些交給服務端進行處理。它包含的功能有:錄入維修客戶的基本信息,將基本信息存入數據庫,打印基本信息到維修單據上。
錄入維修客戶的基本信息:
基本信息的錄入頁面采用表單方式,在表單上對客戶基本信息進行輸入,提交表單時調用存儲打印頁,進行數據的校驗、入庫和打印。在輸入信息過程中,要求維修日期、前臺接待人員的編號要根據當前系統時間和登錄人信息進行自動填寫。錄入頁面設計如圖3。

基本信息存入數據庫:
表單提交后,校驗填寫數據的完整性,判斷維修單中有沒有未填寫的項,判斷維修單號是否已經存在于數據庫中,如果維修單填寫完整且維修單號在數據庫中沒有出現過,則表單提交數據存入數據庫中,提示提交成功并顯示打印頁面。如維修單填寫不完整或維修單號在數據庫中出現過,則進行提示,并返回前頁。
代碼如下:
提示信息不完整:response.Write(″″)
提示維修單號已經存在:response.Write(″″)
打印基本信息到維修單據上:
打印維修單是在已有空白維修單上打出客戶信息的,因而需要對打印的信息精確定位到空白維修單上,并且要保證錄入的格式不發生變化。在設計前首先對空白維修單進行掃描,把空白維修單保存為圖片bg0.jpg,并將這個圖片作為頁面背景,使用CSS樣式表進行載入。
#content{
width:500px;
height:721px;
background-image:url(images/bg0.jpg);
}
打印時不顯示此背景圖片,只打印頁面中需要打印的文字和格式即可。采用打印控件的方式對頁面進行整體打印,代碼如下:
@media print{
.noprint,#printtable_1,#No{display:none}
td,table{
background:display:none;
}
function printWindow() {
factory.printing.header = ″″;
factory.printing.footer = ″″;
factory.printing.portrait = true;//設為true就是橫向
factory.printing.leftMargin = 17.05;
factory.printing.topMargin = 21.05;
factory.printing.rightMargin = 5.04;
factory.printing.bottomMargin = 5.04
}
printWindow();

頁面中顯示打印按鈕:

為了在打印時錄入的格式不發生變化,需要使用自定義函數對數據庫中的格式進行讀取。
代碼如下:
function HTMLEncode(fString)
fString = replace(fString, ″>″, ″>″)
fString = replace(fString, ″<″, ″<″)
fString = Replace(fString, CHR(32), ″ ″)
fString = Replace(fString, CHR(13), ″″)
fString = Replace(fString, CHR(10) & CHR(10), ″
″)
fString = Replace(fString, CHR(10), ″
″)
HTMLEncode = fString
end function
通過此系統的應用,能有效解決維修單據隨著業務的增長而越來越多,保管不便、查找不便、修改不便的問題。企業能夠做到快速地對手機維修單據進行查找、錄入、修改、刪除、統計、打印的管理,提高了企業的管理效率,降低了企業的維護成本。
[1]胡穎輝,寧賽飛.基于UML和ASP.NET實現三層B/S結構系統開發[J].計算機與信息技術,2007,(6).
[2]張領.ASP.NET項目開發全程實錄[M].北京:清華大學出版社,2008.
[3]劉友生.基于.NET數據庫BLOB數據處理技術在MIS開發中的應用[J].云南民族大學學報:自然科學版,2007,16(1).
[4]尹輝,秦杰.《計算機網絡》課程實驗教學探索[J].光盤技術,2007,(6):58~59.