摘要:通過(guò)對(duì)傳統(tǒng)倉(cāng)庫(kù)管理系統(tǒng)的不足的分析,提出了將web開(kāi)發(fā)技術(shù)應(yīng)用到倉(cāng)庫(kù)管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)中的方法。按照這個(gè)思路,對(duì)系統(tǒng)進(jìn)行了設(shè)計(jì),最后采用JSP+SQLServer2000的方式對(duì)該系統(tǒng)進(jìn)行開(kāi)發(fā),并以出入庫(kù)維護(hù)模塊為例介紹了系統(tǒng)實(shí)現(xiàn)的主要方法。
關(guān)鍵詞:倉(cāng)庫(kù)管理系統(tǒng);web;JSP
中圖分類(lèi)號(hào):TP315文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)18-2pppp-0c
The Design and Development of a Web_based Warehouse Management System
WANG Hong-yan
(Engineering and Commerce College,South-central University for Nationalfcies,WuHan 430065,China)
Abstract:According the Analysis the shortcomings of traditional warehouse management system, the author proposed the programme that using the web technology to design and develop warahose management system. In order to prove the idea, the author have designed and developed a system by JSP and SQLServer2000. At last, theatuthor makes out-in warehouse module as an example introduce the key Technologies in development.
Key words:warehouse management system;web;JSP
1 引言
為了適應(yīng)日趨激烈的市場(chǎng)競(jìng)爭(zhēng),企業(yè)需要對(duì)自身的經(jīng)營(yíng)狀況有及時(shí)而準(zhǔn)確的了解,并通過(guò)有效的管理不斷提高運(yùn)作效率。目前,在庫(kù)存管理中,把企業(yè)內(nèi)的各類(lèi)產(chǎn)品按類(lèi)別、按庫(kù)房乃至按庫(kù)位存放管理已經(jīng)成為一種主要方式,但是隨著企業(yè)規(guī)模的擴(kuò)大,新廠房、廠區(qū)的組建,庫(kù)房的數(shù)量甚至地理位置都將發(fā)生巨大的變化,如何把一個(gè)企業(yè)各個(gè)地理位置的庫(kù)房處理信息進(jìn)行統(tǒng)一的管理也成為當(dāng)前企業(yè)面臨的一個(gè)問(wèn)題。如果仍然采用以前c/s工作模式,對(duì)各地庫(kù)房信息進(jìn)行分時(shí)段的同步處理方式,不僅要增加倉(cāng)庫(kù)管理員的工作量,對(duì)信息的實(shí)時(shí)獲取和準(zhǔn)確率方面也會(huì)有一定的影響。采用最新的信息化成果,把web開(kāi)發(fā)技術(shù)應(yīng)用到倉(cāng)庫(kù)管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)中,實(shí)現(xiàn)倉(cāng)庫(kù)管理的網(wǎng)絡(luò)化,將有效的解決上面的問(wèn)題,實(shí)現(xiàn)對(duì)信息實(shí)時(shí)統(tǒng)一的管理、科學(xué)的統(tǒng)計(jì)和精確的查詢,從而減少管理方面的工作量,提高倉(cāng)庫(kù)管理者的工作效率。下面對(duì)該系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行簡(jiǎn)單的闡述。
2 系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)功能設(shè)計(jì)
該系統(tǒng)的主要目標(biāo)是:實(shí)現(xiàn)倉(cāng)庫(kù)信息管理的系統(tǒng)化、精確化和自動(dòng)化,滿足倉(cāng)庫(kù)管理人員對(duì)倉(cāng)庫(kù)信息管理的需要,并達(dá)到操作過(guò)程的直觀、方便、實(shí)用、安全等要求。
系統(tǒng)的主要功能有:
(1)倉(cāng)庫(kù)各種信息的輸入,包括入庫(kù)、出庫(kù)、需求信息的輸入等;
(2)倉(cāng)庫(kù)管理中出入庫(kù)信息的修改和維護(hù);
(3)倉(cāng)庫(kù)管理中各類(lèi)信息的查詢,包括對(duì)每一筆出庫(kù)流水信息、入庫(kù)流水信息的查詢。通過(guò)對(duì)入庫(kù)流水信息的查詢,當(dāng)出入庫(kù)數(shù)據(jù)發(fā)生錯(cuò)誤時(shí),就可以通過(guò)出入庫(kù)流水信息號(hào),找到出錯(cuò)記錄;
(3)報(bào)表的生成,包括當(dāng)前庫(kù)存信息統(tǒng)計(jì)報(bào)表、出入庫(kù)報(bào)表及訂貨報(bào)表的生成;
(4)庫(kù)存預(yù)警,為降低企業(yè)成本,提高生產(chǎn)效率,該系統(tǒng)具有庫(kù)存報(bào)警功能。系統(tǒng)對(duì)每一類(lèi)產(chǎn)品設(shè)置一個(gè)庫(kù)存量的臨界值,當(dāng)?shù)陀谠撝档脮r(shí)候進(jìn)行庫(kù)存預(yù)警,提醒用戶進(jìn)行訂貨;
(5)倉(cāng)庫(kù)數(shù)量的增刪、管理員目錄維護(hù)、個(gè)人資料修改等;
另外,考慮到系統(tǒng)的安全性,該系統(tǒng)在登錄窗口對(duì)使用者進(jìn)行身份的識(shí)別功能——用以識(shí)別系統(tǒng)管理員和普通用戶。同時(shí),系統(tǒng)對(duì)不同的倉(cāng)庫(kù)管理員也進(jìn)行了權(quán)限控制,每個(gè)倉(cāng)庫(kù)管理員只可以看到和操作自己所管理的庫(kù)房?jī)?nèi)的信息,對(duì)其他庫(kù)房的信息進(jìn)行屏蔽。倉(cāng)庫(kù)領(lǐng)導(dǎo)可以查看所有庫(kù)房信息但不能操作任一庫(kù)房的信息。
2.2 系統(tǒng)的模塊設(shè)計(jì)及分析
根據(jù)以上的功能,該系統(tǒng)設(shè)計(jì)了十個(gè)模塊,分別對(duì)應(yīng)于普通用戶和管理員兩個(gè)角色。模塊的結(jié)構(gòu)圖如圖1所示。
雖然該系統(tǒng)是網(wǎng)絡(luò)版,但考慮到企業(yè)內(nèi)信息的安全問(wèn)題,不管是管理員用戶還是普通用戶都不能夠進(jìn)行任意的登錄與注冊(cè)。用戶的帳號(hào)、密碼及權(quán)限均由系統(tǒng)管理員得到庫(kù)房領(lǐng)導(dǎo)的通知后進(jìn)行分配。管理員進(jìn)行對(duì)系統(tǒng)增加用戶的模塊對(duì)應(yīng)于模塊——庫(kù)管員設(shè)置,該用戶管理那個(gè)庫(kù)房的權(quán)限設(shè)置對(duì)應(yīng)于模塊——用戶權(quán)限設(shè)置。當(dāng)系統(tǒng)要增加或者更換管理員時(shí),在管理員目錄進(jìn)行維護(hù)與設(shè)置。
進(jìn)入系統(tǒng)時(shí),根據(jù)用戶的角色不同,用戶進(jìn)入系統(tǒng)后的界面和可以操作的菜單有所不同,此處主要由系統(tǒng)根據(jù)數(shù)據(jù)庫(kù)中用戶標(biāo)的角色字段進(jìn)行判定。如果登錄用戶為普通用戶時(shí),當(dāng)其進(jìn)入系統(tǒng)時(shí),還要對(duì)系統(tǒng)每個(gè)操作菜單項(xiàng)內(nèi)的內(nèi)容進(jìn)行控制,是的每個(gè)庫(kù)管員只能管理自己庫(kù)房的物料。以入庫(kù)為例,那么管理“小五金庫(kù)”庫(kù)管員就只能對(duì)“小五金類(lèi)”的產(chǎn)品進(jìn)行入庫(kù)操作,此處的實(shí)現(xiàn)主要是在入庫(kù)單的“類(lèi)別”下拉菜單的列表值,根據(jù)庫(kù)管員的帳號(hào)進(jìn)行控制。
圖1
3 系統(tǒng)的實(shí)現(xiàn)
該系統(tǒng)為b/s架構(gòu),前臺(tái)采用JSP技術(shù),后臺(tái)使用SQLServer2000進(jìn)行開(kāi)發(fā)。系統(tǒng)中的“出入庫(kù)流水號(hào)”具有唯一性,方便用戶對(duì)出入庫(kù)記錄的查詢與維護(hù),這個(gè)字段在使用SQLServer2000中的int自加字段類(lèi)型?;趙eb的網(wǎng)絡(luò)倉(cāng)庫(kù)管理系統(tǒng)只用安裝在服務(wù)器上,其他所有庫(kù)房及庫(kù)房領(lǐng)導(dǎo)均可以通過(guò)瀏覽器對(duì)服務(wù)器上的系統(tǒng)進(jìn)行訪問(wèn)和操作。系統(tǒng)中各功能的實(shí)現(xiàn)方法主要是:先建立ODBC數(shù)據(jù)源,然后使用JDBC-ODBC橋連接數(shù)據(jù)庫(kù),最后執(zhí)行SQL語(yǔ)句對(duì)基本表進(jìn)行操作。
下面以出入庫(kù)維護(hù)模塊的實(shí)現(xiàn)為例,簡(jiǎn)單介紹一下該系統(tǒng)功能的實(shí)現(xiàn)。
出入庫(kù)維護(hù)模塊的界面如下圖2所示。
圖2
function checkform() {
if (document.form1.item_name.value==""){
alert("物料名不能為空");
document.form1.item_name.focus();
return false;
}
if (document.form1.trans_way.value==""){
alert("出入庫(kù)類(lèi)型不能為空");
document.form1.trans_way.focus();
return false;
}
if (document.form1.amount.value==""){
alert("數(shù)量不能為空!");
document.form1.amount.focus();
return false;
}
var patrn=/^[0-9]{1,20}$/;
if (!patrn.test(document.form1.amount.value))
{alert("數(shù)量必須為整數(shù)!");
return false;
}
return true;
}
</script>
關(guān)鍵jsp代碼:
<%int i=0;
int quantity = 0;
String item_name = request.getParameter("item_name");
String trans_way = request.getParameter("trans_way");
String amount= request.getParameter("amount");
if (amount!=null)quantity = Integer.valueOf(amount).intValue();
String userid = request.getParameter("userid");
String url = "jdbc:odbc:jspshop";
String drivername="sun.jdbc.odbc.JdbcOdbcDriver";
String user ="sa";
String password = " ";
Class.forName(drivername);
Connection con = DriverManager.getConnection(url, user, password);
Statement stmt = con.createStatement();
String sql=
"insert into trans_table(item_name,trans_way,quantity,userid,floor_location,trans_date) values('"+item_name+"','"+trans_way+"','"+quantity+"','"+userid+"', '"+floor_location+"',+trans_date) ";
if (item_name!=null)i =stmt.executeUpdate(sql);
if (i==1)out.println("恭喜,操作成功");
if (i==0)out.println("對(duì)不起,操作失敗");
%>
4 結(jié)束語(yǔ)
該系統(tǒng)可以滿足一般企業(yè)的倉(cāng)庫(kù)管理需求,可以進(jìn)行多方面的查詢,使企業(yè)領(lǐng)導(dǎo)層可以得到及時(shí)而準(zhǔn)確的數(shù)據(jù)統(tǒng)計(jì)與分析。該系統(tǒng)還提供了系統(tǒng)維護(hù)功能,使用戶方便進(jìn)行數(shù)據(jù)的刪除與恢復(fù),并且支持多用戶操作(高級(jí)用戶、普通用戶),可以對(duì)用戶進(jìn)行權(quán)限設(shè)置。
參考文獻(xiàn):
[1]崇明,黃洪.設(shè)計(jì)模式在倉(cāng)庫(kù)管理系統(tǒng)中的研究與應(yīng)用[J].成都信息工程學(xué)院學(xué)報(bào),2006(2):34-37.
[2]林敏.基于Delphi的倉(cāng)庫(kù)管理系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)[J].福建電腦,2007(7):134-135.
[3]伍俊良.Visual C++課程設(shè)計(jì)與系統(tǒng)開(kāi)發(fā)案例[M].清華大學(xué)出版社,2002.
[4]周紅.基于B/S結(jié)構(gòu)的倉(cāng)庫(kù)管理系統(tǒng)[J].電腦知識(shí)與技術(shù),2007(8):602-603.
[5]陳瑞斌.基于Web服務(wù)的倉(cāng)庫(kù)管理系統(tǒng)設(shè)計(jì)[J].物流科技,2006(16):169-170.
收稿日期:2008-04-09
作者簡(jiǎn)介:王洪艷(1980-),女,北京順義人,助教,碩士研究生,研究方向?yàn)橛?jì)算機(jī)信息管理。