馬曉榮,吳銀川
(1.陜西職業(yè)技術(shù)學(xué)院陜西西安710100;2.西安石油大學(xué)陜西西安710065)
隨著我國(guó)改革開放的不斷深入,經(jīng)濟(jì)的快速發(fā)展,企業(yè)要想在激烈的競(jìng)爭(zhēng)中立于不敗之地,現(xiàn)代化的管理是必不可少的。庫(kù)存管理是企業(yè)經(jīng)營(yíng)過程中一個(gè)非常重要的環(huán)節(jié),尤其對(duì)庫(kù)存管理的實(shí)時(shí)性要求更為重要[1-2]。傳統(tǒng)的倉(cāng)庫(kù)管理工作主要是依靠手工來(lái)完成,不能及時(shí)監(jiān)控商品儲(chǔ)存數(shù)量、對(duì)庫(kù)存產(chǎn)品數(shù)量報(bào)警以及庫(kù)存產(chǎn)品失效報(bào)警等問題。這些問題將直接影響生產(chǎn)和銷售的方便性和管理的規(guī)范性。為了加快庫(kù)存管理的信息化,提高庫(kù)存管理的處理效率,建立庫(kù)存管理系統(tǒng)已經(jīng)是企業(yè)發(fā)展過程中一個(gè)亟待解決的問題[3]。
1)基本信息管理
基本信息包括客戶信息、倉(cāng)庫(kù)信息和用戶信息。客戶可以分為供應(yīng)商和購(gòu)貨商兩種類型。在產(chǎn)品入庫(kù)時(shí),需要提供供應(yīng)商的信息;在產(chǎn)品出庫(kù)和退貨時(shí),需要提供購(gòu)貨商的信息。倉(cāng)庫(kù)信息包括倉(cāng)庫(kù)編號(hào)、倉(cāng)庫(kù)名稱和倉(cāng)庫(kù)說(shuō)明等信息。用戶信息包括用戶名、密碼和員工姓名等信息。
基本信息管理模塊要求實(shí)現(xiàn)對(duì)客戶信息、倉(cāng)庫(kù)信息和用戶信息的添加、刪除、修改和查看等操作。
2)產(chǎn)品信息管理
產(chǎn)品信息管理模塊需要實(shí)現(xiàn)對(duì)產(chǎn)品類型的添加、刪除、修改和查看以及對(duì)產(chǎn)品信息的添加、刪除、修改和查看等操作。
3)庫(kù)存操作管理
庫(kù)存操作由倉(cāng)庫(kù)管理員執(zhí)行,庫(kù)存操作管理模塊可以實(shí)現(xiàn)入庫(kù)管理、出庫(kù)管理和庫(kù)存盤點(diǎn)等功能。
入庫(kù)可以分為采購(gòu)入庫(kù)、生產(chǎn)入庫(kù)、退貨入庫(kù)、退料入庫(kù)等情況。入庫(kù)操作需要記錄相關(guān)的產(chǎn)品信息、倉(cāng)庫(kù)信息、客戶信息、經(jīng)辦人、涉及金額和入庫(kù)時(shí)間等信息。出庫(kù)可以分為銷售出庫(kù)、退貨出庫(kù)、用料出庫(kù)等情況。出庫(kù)操作需要記錄相關(guān)的產(chǎn)品信息、倉(cāng)庫(kù)信息、客戶信息、經(jīng)辦人、涉及金額及出庫(kù)時(shí)間等信息。對(duì)庫(kù)存產(chǎn)品進(jìn)行整理,糾正不準(zhǔn)確的庫(kù)存數(shù)據(jù)即庫(kù)存盤點(diǎn)。由于人為操作等原因,系統(tǒng)中的庫(kù)存數(shù)據(jù)與實(shí)際數(shù)據(jù)之間可能會(huì)存在誤差。所以每隔一段時(shí)間就需要對(duì)庫(kù)存進(jìn)行盤點(diǎn),從而保證庫(kù)存數(shù)據(jù)的準(zhǔn)確性[4]。
4)庫(kù)存警示管理
庫(kù)存中的產(chǎn)品接近或超過臨界值時(shí)需要進(jìn)行報(bào)警即庫(kù)存警示。在產(chǎn)品信息中,包含產(chǎn)品的合理數(shù)量范圍和有效期限。產(chǎn)品數(shù)量小于合理數(shù)量的下限、產(chǎn)品數(shù)量大于合理數(shù)量的上限、產(chǎn)品出現(xiàn)接近或超過有效期限時(shí)都需要報(bào)警。
庫(kù)存警示管理模塊可以實(shí)現(xiàn)庫(kù)存產(chǎn)品數(shù)量報(bào)警和庫(kù)存產(chǎn)品失效報(bào)警。
5)統(tǒng)計(jì)查詢管理功能
統(tǒng)計(jì)查詢管理模塊可以對(duì)庫(kù)存產(chǎn)品進(jìn)行各種類型的統(tǒng)計(jì)和查詢,從而使用戶能夠全面地了解庫(kù)存狀況[5]。統(tǒng)計(jì)查詢管理模塊可以實(shí)現(xiàn)產(chǎn)品入庫(kù)統(tǒng)計(jì)報(bào)表和庫(kù)存產(chǎn)品流水線統(tǒng)計(jì)報(bào)表。
本系統(tǒng)將用戶分為系統(tǒng)管理員用戶和普通用戶兩種。系統(tǒng)管理員用戶Admin可以管理其他用戶的信息,在其他方面與所有用戶的權(quán)限相同。庫(kù)存管理系統(tǒng)的總體功能模塊圖如圖1所示。
圖1 庫(kù)存管理系統(tǒng)功能模塊圖Fig.1 Function module diagram of the inventory management system
仔細(xì)分析用戶在使用系統(tǒng)時(shí)的工作過程,對(duì)于多類型用戶的管理系統(tǒng)來(lái)說(shuō),每一類用戶的工作流程都是不相同的。多用戶系統(tǒng)的工作流程都是從用戶登錄模塊開始,對(duì)用戶的身份進(jìn)行認(rèn)證。身份認(rèn)證一般分為確認(rèn)用戶是否是有效的系統(tǒng)用戶以及確認(rèn)用戶類型兩個(gè)過程。第1個(gè)過程決定用戶能否進(jìn)入系統(tǒng),第2個(gè)過程根據(jù)用戶的類型決定用戶的操作權(quán)限,從而決定用戶的工作界面。本系統(tǒng)的流程分析如圖2所示。
圖2 庫(kù)存管理系統(tǒng)流程圖Fig.2 Flow chart of the tnventory management system
通過基于SQL Server2005的庫(kù)存管理系統(tǒng)的總體分析與設(shè)計(jì)之后對(duì)數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)。本系統(tǒng)創(chuàng)建的數(shù)據(jù)庫(kù)名為Store。數(shù)據(jù)庫(kù)Store包含以下8個(gè)表:客戶信息表Client、倉(cāng)庫(kù)信息表Storehouse、用戶信息表Users、產(chǎn)品類別表ProType、產(chǎn)品信息表Product、入庫(kù)操作信息表StoreIn、出庫(kù)操作信息表TakeOut和庫(kù)存產(chǎn)品信息表ProInStore。
客戶信息表Client用來(lái)保存客戶的基本信息。其基本結(jié)構(gòu)如表1所示。
表1 Client的結(jié)構(gòu)Tab.1 Structure of the client
另外,倉(cāng)庫(kù)信息表Storehouse用來(lái)保存?zhèn)}庫(kù)信息,它的字段主要包括倉(cāng)庫(kù)編號(hào)Sid、倉(cāng)庫(kù)名稱Sname和倉(cāng)庫(kù)說(shuō)明Memo等;用戶信息表Users用來(lái)保存用戶信息,它的字段主要包括用戶名UserName、密碼Pwd及用戶類型User_type(1-系統(tǒng)管理員用戶,2-普通用戶)等;產(chǎn)品類別表Protype用來(lái)保存產(chǎn)品的類別,它的字段主要包括產(chǎn)品類別編號(hào)Typeid、產(chǎn)品類別名稱Typename和上級(jí)產(chǎn)品類別UpperId(如果UpperId=0,則表示此產(chǎn)品類別為一級(jí)類別)等;產(chǎn)品信息表Product用來(lái)保存產(chǎn)品信息,它的字段主要包括產(chǎn)品編號(hào)Pid、產(chǎn)品名稱Pname、產(chǎn)品類型編號(hào)TypeId、產(chǎn)品規(guī)格Pstyle、計(jì)量單位Punit、參考價(jià)格Pprice、產(chǎn)品數(shù)量下限Plow、產(chǎn)品數(shù)量上限Phigh、有效期Valid(以天為單位)、在到達(dá)有效期前幾天發(fā)出警告AlarmDays等;入庫(kù)操作信息表StoreIn用來(lái)保存入庫(kù)操作的基本信息,它的字段主要包括入庫(kù)操作類型SiType(包括采購(gòu)入庫(kù)、生產(chǎn)入庫(kù)、退貨入庫(kù)、退料入庫(kù)等)、入庫(kù)產(chǎn)品編號(hào)Pid、生產(chǎn)日期MakeDate、入庫(kù)產(chǎn)品單價(jià)Pprice、入庫(kù)產(chǎn)品數(shù)量Pnum、客戶編號(hào)Cid、倉(cāng)庫(kù)編號(hào)Sid、經(jīng)辦人EmpName、入庫(kù)日期OptDate等;出庫(kù)操作信息表TakeOut用來(lái)保存出庫(kù)操作的基本信息。它的字段主要包括出庫(kù)操作類型Ttype(包括銷售出庫(kù)、退貨出庫(kù)、用料出庫(kù)等)、出庫(kù)產(chǎn)品編號(hào)Pid、出庫(kù)產(chǎn)品單價(jià)Pprice、出庫(kù)產(chǎn)品數(shù)量Pnum、客戶編號(hào)Cid、倉(cāng)庫(kù)編號(hào)Sid、經(jīng)辦人EmpName、出庫(kù)日期OptDate等;庫(kù)存產(chǎn)品信息表ProInStore用來(lái)保存庫(kù)存產(chǎn)品的基本信息。它的字段主要包括產(chǎn)品存儲(chǔ)編號(hào)SpId、產(chǎn)品編號(hào)Pid、產(chǎn)品入庫(kù)單價(jià)Pprice、產(chǎn)品數(shù)量Pnum、生產(chǎn)日期MakeDate、倉(cāng)庫(kù)編號(hào)Sid等。
本系統(tǒng)采用Visual C++作為前臺(tái)開發(fā)工具,使用SQL Server2005作為后臺(tái)數(shù)據(jù)庫(kù)。首先在Visual C++設(shè)計(jì)工程的框架,包括創(chuàng)建工程、在工程中添加和注冊(cè)數(shù)據(jù)庫(kù)訪問控件、添加數(shù)據(jù)庫(kù)訪問類、為每個(gè)表創(chuàng)建對(duì)應(yīng)的類、設(shè)計(jì)系統(tǒng)主界面、設(shè)計(jì)登錄對(duì)話框等。
其次是實(shí)現(xiàn)客戶管理模塊設(shè)計(jì)、倉(cāng)庫(kù)管理模塊設(shè)計(jì)、用戶管理模塊設(shè)計(jì)、產(chǎn)品管理模塊設(shè)計(jì)、庫(kù)存操作管理模塊設(shè)計(jì)、庫(kù)存警示管理模塊設(shè)計(jì)以及統(tǒng)計(jì)查詢管理模塊設(shè)計(jì)等。
下面以統(tǒng)計(jì)查詢管理模塊的設(shè)計(jì)為例,來(lái)介紹其實(shí)現(xiàn)。統(tǒng)計(jì)查詢管理模塊實(shí)現(xiàn)產(chǎn)品出入庫(kù)統(tǒng)計(jì)表和庫(kù)存產(chǎn)品流水統(tǒng)計(jì)表兩個(gè)功能。本系統(tǒng)中為了提高系統(tǒng)的效率,建立了特定的視圖等對(duì)象,既提高了數(shù)據(jù)訪問速度,又隔離了用戶端程序?qū)?shù)據(jù)庫(kù)的直接訪問,提高了整個(gè)系統(tǒng)的安全性,經(jīng)過系統(tǒng)的運(yùn)行,證明以上方法是切實(shí)可行的。在實(shí)現(xiàn)產(chǎn)品出入庫(kù)統(tǒng)計(jì)表對(duì)話框中創(chuàng)建了3個(gè)視圖v_StoreIn,v_TakeOut和v_ProInStore。以對(duì)每種產(chǎn)品統(tǒng)計(jì)庫(kù)存總數(shù)量來(lái)建立視圖為例,具體代碼如下:
USE Store
GO
CREATE VIEW dbo.v_ProInStore
AS
SELECT p.Pid,SUM(s.Pnum)AS SumNum
FROMdbo.Product p INNER JOIN
Dbo.ProInStore s ON p.Pid=s.Pid
GROUP BY p.Pid
添加對(duì)話框,設(shè)置相應(yīng)的屬性即可。
基于SQL Server2005的庫(kù)存管理系統(tǒng),規(guī)范了庫(kù)存管理中對(duì)基本信息、產(chǎn)品信息、庫(kù)存操作、庫(kù)存警示和統(tǒng)計(jì)查詢的管理,使庫(kù)存管理更加科學(xué)化。通過實(shí)際使用表明了該系統(tǒng)功能齊全、使用方便、界面友好[6],為企業(yè)節(jié)約了成本,提高了庫(kù)存管理的信息化水平。
[1] 王想實(shí).基于C/S結(jié)構(gòu)的超市庫(kù)存管理系統(tǒng)的設(shè)與實(shí)現(xiàn)[J].湖南工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2009(4):29-30.WANG Xiang-shi.Supermarket store management system design and implementation based on C/S structure[J].Journal of Hunan Industry Polytechnic,2009(4):29-30.
[2] 董明.基于C#倉(cāng)庫(kù)庫(kù)存管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].才智,2012(10):50.DONG Ming.Store management system design and implementation based on C#[J].Intelligence,2012(10):50.
[3] 劉燕,吳嫻,羅治平.基于數(shù)據(jù)庫(kù)的庫(kù)存管理系統(tǒng)的研究[J].制造業(yè)自動(dòng)化,2009(9):35-37.LIU Yan,WU Xian,LUO Zhi-ping.Study of inventory management system based on database[J].Manufacturing Automation,2009(9):35-37.
[4] 陳世洪,王曉海,廖建華.SQL Server2000管理、開發(fā)及應(yīng)用實(shí)例詳解[M].北京:人民郵電出版社,2006.
[5] 鄒建.IT名人堂·深入淺出:SQL Server 2005開發(fā)、管理與應(yīng)用實(shí)例[M].北京:人民郵電出版社,2008.
[6] 徐煉.基于SQL Server2000教務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].教學(xué)研究,2012(8):88-92.XU Lian.Research of the design and implementation of education administration management system based on SQL server2000[J].Teaching Research,2012(8):88-92.