付國華++侯磊
[摘 要]勞動就業培訓數據管理系統基于B/S架構,采用ASP網絡編程技術和SQL-Server數據庫等網站開發技術,確定了系統總體架構、主要功能和業務流程,闡述了系統安全訪問控制、導入導出數據、二代身份證閱讀器信息采集、自動統計數據信息等關鍵技術。
[關鍵詞]就業培訓;管理系統;B/S
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-914X(2016)02-0139-02
[Abstract]The solution of labor and employment information management system based on B/S architecture, by integrating such website development technologies as ASP and SQL—Server database. The overall system architecture, main functions and business processes are determined, the pivotal technology of security access control, data import/export, the second generation ID card reader information collection and automatic statistics of information are elucidated. A set of secure,stable and scalable network application system is constructed.It implements the labor employment of informatization and network.
[Key words]Employment training Management system B/S
引言
本文將ASP.NET技術應用到就業培訓信息管理系統中,根據系統的需求分析和設計,完成了系統框架搭建、各功能模塊劃分及實現、數據庫的創建和系統分層實現等,并將報名培訓人數進行分析和統計,報名現場可實現對報名學員信息的收集和管理。
1 系統設計
1.1系統總體功能
B/S(browser/server)結構是目前比較流行的項目開發方式,它具有優越的可管理性和可維護性、先進的開發技術以及簡單方便等優點,同時,它還具有業務擴展簡單方便的特點,通過增加網頁即可增加服務器功能,保證了信息的時效性、準確性和完整性[1]。
本系統采用 B/S 模式的三層架構方式來開發,即表示層、功能層和數據層。表示層是用戶和整個系統的接口,用于顯示數據以及將數據提交到功能層,為用戶提供一種交互式的界面;功能層專門負責業務邏輯實現,它對表示層發送來的數據進行操作,將其發送給數據層,或調用數據層中的函數讀取數據;數據層負責數據信息的存儲、訪問及其優化,用于實現與數據庫的交互,即完成添加、刪除、查詢和修改數據的功能[2]。
該系統具有以下功能:數據備份、身份證采集、信息錄入、打印、批量刪除、權限管理、信息統計、數據庫備份、檢索姓名以及信息的批量導入和導出。
1.2系統開發工具和技術
在Windows7操作系統下,采用Microsoft Visual Studio 2010作為開發平臺,應用XHTML和JavaScript語言編寫瀏覽器端代碼,以ASP.NET(C#)語言編寫服務器端代碼,IIS作為HTTP服務器,處理靜態HTML頁面訪問,通過ISAPI服務器擴展調用服務器端程序,并將運算結果以靜態HTML的形式返回客戶端瀏覽器。服務器端程序運行在Microsoft.Net Framework4.0類庫之上,通過SQL server身份驗證訪問Microsoft SQL Server2008數據庫服務器。
1.3數據庫設計
根據系統功能需求分析及勞動就業培訓中心提供的學員數據的實際情況,建立了名為JiuYeManage的數據庫[3],本系統數據庫一共設計有16個表,例如:用戶信息表、學員信息表、實業培訓班表、特種作業培訓班表、角色表等。
2 系統的安全性
本文的安全驗證采用了多層次驗證的思想,具體包括:
(1)用Windows Server中的IIS的身份認證。
(2)對數據庫進行加密,通過SQL server身份驗證訪問數據庫服務器。
(3)用戶和密碼驗證。
用報名信息管理系統中的用戶登陸來驗證身份。用HTML請求的數據與數據庫中User_List表的用戶名、密碼進行驗證,若用戶存在,讀取用戶權限,進入主界面。
(4)session和cookie聯合驗證。
系統利用session來判斷用戶是否在線,因為這是保存在服務器的數據,不會受到客戶端影響。系統在運行過程中為防止系統資源不足,asp.net自動回收進程,這會導致session失效。在這種情況下,系統聯合使用session和cookie來判斷用戶狀態[4]。如果session里找不到用戶信息時,再去找cookie,同時把用戶信息再次寫入session,當離開頁面時,cookie會自動銷毀。
部分驗證程序如下:
if (Session["Role"] == null)
{
string xx = Request.Cookies["Role"].Value;
Session["Role"] = xx;
string b = Request.Cookies["Power"].Value;
Session["Power"] = b;
string c = Request.Cookies["UserName"].Value;
Session["UserName"] = c;
}
(5)權限驗證。
系統的用戶分為四類:第一類是操作員,一般是報名大廳的信息錄入員,該類用戶可以根據報名流程對學員信息進行錄入、對信息進行修改和刪除;第二類是數據處理員,一般是各個科室的工作人員,該類用戶只能修改學員信息,不能刪除和錄入;第三類是收銀員,只能管理收費、退費;第四類是系統管理員,該類用戶除具備普通管理員權限外,還可以對系統進行管理和維護,包括發布與管理公告、數據庫備份、修改用戶的密碼及權限等。
由于勞動培訓中心不同的部門管理不同的培訓班級,因此,操作員和數據處理員擁有管理不同班級的權利。本系統一共存在五個報名班級。系統管理員可以在用戶管理頁面對系統的權限和權力進行選擇和更改。
3 關鍵技術
3.1二代身份證信息采集
本系統通過身份證閱讀器與計算機的USB口相連,進行個人信息的采集。身份證閱讀器以無線傳輸方式與居民身份證卡內的專用芯片進行安全認證后,將身份證IC卡芯片內的個人信息資料讀出。讀取身份證的信息還需引用身份證閱讀器中的動態鏈接庫,并對其編寫接口程序,從而實現個人信息在系統中的讀取與存儲。以下是用javascript編寫的身份證信息采集程序片段:
function ReadCard_onclick()
{
var str;
str = SynCardOcx1.FindReader();
if (str<=0)
{
alert(沒有找到讀卡器?。?/p>
}
var a;
var nRet;
SynCardOcx1.SetReadType(0);
nRet = SynCardOcx1.ReadCardMsg();
if(nRet==0)
{ var text1= SynCardOcx1.Sex;
if(text1=="1")
{
a="男";
}
else
{
a="女";
}
var text2= SynCardOcx1.Nation;
var a2=test(text2);
//讀取身份證信息到頁面
document.getElementById("t1").value=SynCardOcx1.NameA;
document.getElementById("t2").value=a;
document.getElementById("t3").value=a2;
document.getElementById("t5").value=SynCardOcx1.Address; document.getElementById("t6").value=SynCardOcx1.CardNo;
}
}
3.2報名時間段統計
進入報名時間段統計界面,在“分類:”處的下拉框可選擇報名班級,“時間類型:”處的下拉框可選擇按培訓時間或報名時間搜索,“時間:”處可選擇查詢的時間段進行查詢。若輸入時間格式錯誤,系統將彈出對話框提示。點擊統計匯總按鈕,頁面顯示查詢結果,系統會按照報名專業、報名等級進行人數統計,實現優惠、退費、應收、實收費用的統計功能,同時,將優惠、退費人的基本資料顯示出來。
以下為統計等級為初級的培訓專業人數部分代碼:
for (int i = 0; i < dt.Rows.Count; i++)//循環查找;
{
string a = dt.Rows[i]["Zhuanye"].ToString();
//在JianDing_ZY表中查找出專業;
System.Web.UI.WebControls.Label lb0
= new System.Web.UI.WebControls.Label();
lb0.ID = "Label0" + i.ToString();
lb0.Text = a;
string sql3 = "select count(*) from JianDing_Class where 申報級別=初級and培訓專業=" + a + "";
//在JianDing_Class表中查找出專業所對應的初級培訓人數;
sql3 += sql;
SqlCommand cmd3 = new SqlCommand(sql3, cn);
SqlDataAdapter da3 = new SqlDataAdapter(cmd3);
cn.Open();
int aa3 = Convert.ToInt32(cmd3.ExecuteScalar());
cn.Close();
string b3 = Convert.ToString(aa3);
System.Web.UI.WebControls.Label lb3
//動態增加lable控件;
lb3.ID = "Label3" + i.ToString();
lb3.Text = "初級:"+ b3 + "人";//顯示人數;
……
}
3.3系統操作日志
本系統采用Log4net 控件來記錄系統日志,它能夠靈活多變地處理log文件,可以將log信息輸出不同的樣式和輸出到不同的地方,如控制臺、文本文件、XML文件,也可以根據天數或者文件大小產生新的文件。
引用動態鏈接庫log4net.dll到項目中,在web.config中對其進行配置, Log4net 控件的功能語句如下:log.Error()記錄錯誤日志;log.Fatal()記錄嚴重錯誤;log.Info()記錄一般信息;log.Debug()記錄調試信息;log.Warn()記錄警告信息。
3.4數據的導入導出
(1)導出班級信息表:主要功能為了導出系統里學員的班級信息到excel中,便于用戶對學員的信息進行格式的修改和打印。
(2)導入班級信息表:將excel表中的班級信息導入系統中,實現學員信息的批量導入,提高效率。本系統采用COM組件來操作excel文件,提供了完整的excel操控能力,可以方便的進行復雜操作,導出標準格式的excel文件,確保在將其導入數據庫時不會出現錯誤。
4 結束語
基于B/S模式的實用報名信息管理系統具有較強的適應性、有效性及靈活性,已成功應用于某市就業培訓管理部門,取得了良好效果。
參考文獻
[1] 李靜, 王軍政, 沈偉. 基于B/S和流媒體技術的遠程監控系統研究[J]. 北京理工大學學報, 2008, 28(2) :682-686
[2] 王進.B/S模式下的三層架構模式[J].軟件導刊,2011, 10(3) :30-31
[3] 蔣秀英.SQL Server2000數據庫與應用[M].北京:北方交通大學出版社,2006:220-301.
[4] 程琪,張白樺.ASP.NET動態網站開發項目化教程[M].北京:清華大學出版社,2010.