馬曉榮,吳銀川
(1.陜西職業(yè)技術學院陜西西安710100;2.西安石油大學陜西西安710065)
隨著我國改革開放的不斷深入,經濟的快速發(fā)展,企業(yè)要想在激烈的競爭中立于不敗之地,現(xiàn)代化的管理是必不可少的。庫存管理是企業(yè)經營過程中一個非常重要的環(huán)節(jié),尤其對庫存管理的實時性要求更為重要[1-2]。傳統(tǒng)的倉庫管理工作主要是依靠手工來完成,不能及時監(jiān)控商品儲存數(shù)量、對庫存產品數(shù)量報警以及庫存產品失效報警等問題。這些問題將直接影響生產和銷售的方便性和管理的規(guī)范性。為了加快庫存管理的信息化,提高庫存管理的處理效率,建立庫存管理系統(tǒng)已經是企業(yè)發(fā)展過程中一個亟待解決的問題[3]。
1)基本信息管理
基本信息包括客戶信息、倉庫信息和用戶信息??蛻艨梢苑譃楣毯唾徹浬虄煞N類型。在產品入庫時,需要提供供應商的信息;在產品出庫和退貨時,需要提供購貨商的信息。倉庫信息包括倉庫編號、倉庫名稱和倉庫說明等信息。用戶信息包括用戶名、密碼和員工姓名等信息。
基本信息管理模塊要求實現(xiàn)對客戶信息、倉庫信息和用戶信息的添加、刪除、修改和查看等操作。
2)產品信息管理
產品信息管理模塊需要實現(xiàn)對產品類型的添加、刪除、修改和查看以及對產品信息的添加、刪除、修改和查看等操作。
3)庫存操作管理
庫存操作由倉庫管理員執(zhí)行,庫存操作管理模塊可以實現(xiàn)入庫管理、出庫管理和庫存盤點等功能。
入庫可以分為采購入庫、生產入庫、退貨入庫、退料入庫等情況。入庫操作需要記錄相關的產品信息、倉庫信息、客戶信息、經辦人、涉及金額和入庫時間等信息。出庫可以分為銷售出庫、退貨出庫、用料出庫等情況。出庫操作需要記錄相關的產品信息、倉庫信息、客戶信息、經辦人、涉及金額及出庫時間等信息。對庫存產品進行整理,糾正不準確的庫存數(shù)據(jù)即庫存盤點。由于人為操作等原因,系統(tǒng)中的庫存數(shù)據(jù)與實際數(shù)據(jù)之間可能會存在誤差。所以每隔一段時間就需要對庫存進行盤點,從而保證庫存數(shù)據(jù)的準確性[4]。
4)庫存警示管理
庫存中的產品接近或超過臨界值時需要進行報警即庫存警示。在產品信息中,包含產品的合理數(shù)量范圍和有效期限。產品數(shù)量小于合理數(shù)量的下限、產品數(shù)量大于合理數(shù)量的上限、產品出現(xiàn)接近或超過有效期限時都需要報警。
庫存警示管理模塊可以實現(xiàn)庫存產品數(shù)量報警和庫存產品失效報警。
5)統(tǒng)計查詢管理功能
統(tǒng)計查詢管理模塊可以對庫存產品進行各種類型的統(tǒng)計和查詢,從而使用戶能夠全面地了解庫存狀況[5]。統(tǒng)計查詢管理模塊可以實現(xiàn)產品入庫統(tǒng)計報表和庫存產品流水線統(tǒng)計報表。
本系統(tǒng)將用戶分為系統(tǒng)管理員用戶和普通用戶兩種。系統(tǒng)管理員用戶Admin可以管理其他用戶的信息,在其他方面與所有用戶的權限相同。庫存管理系統(tǒng)的總體功能模塊圖如圖1所示。
圖1 庫存管理系統(tǒng)功能模塊圖Fig.1 Function module diagram of the inventory management system
仔細分析用戶在使用系統(tǒng)時的工作過程,對于多類型用戶的管理系統(tǒng)來說,每一類用戶的工作流程都是不相同的。多用戶系統(tǒng)的工作流程都是從用戶登錄模塊開始,對用戶的身份進行認證。身份認證一般分為確認用戶是否是有效的系統(tǒng)用戶以及確認用戶類型兩個過程。第1個過程決定用戶能否進入系統(tǒng),第2個過程根據(jù)用戶的類型決定用戶的操作權限,從而決定用戶的工作界面。本系統(tǒng)的流程分析如圖2所示。
圖2 庫存管理系統(tǒng)流程圖Fig.2 Flow chart of the tnventory management system
通過基于SQL Server2005的庫存管理系統(tǒng)的總體分析與設計之后對數(shù)據(jù)庫進行設計。本系統(tǒng)創(chuàng)建的數(shù)據(jù)庫名為Store。數(shù)據(jù)庫Store包含以下8個表:客戶信息表Client、倉庫信息表Storehouse、用戶信息表Users、產品類別表ProType、產品信息表Product、入庫操作信息表StoreIn、出庫操作信息表TakeOut和庫存產品信息表ProInStore。
客戶信息表Client用來保存客戶的基本信息。其基本結構如表1所示。
表1 Client的結構Tab.1 Structure of the client
另外,倉庫信息表Storehouse用來保存?zhèn)}庫信息,它的字段主要包括倉庫編號Sid、倉庫名稱Sname和倉庫說明Memo等;用戶信息表Users用來保存用戶信息,它的字段主要包括用戶名UserName、密碼Pwd及用戶類型User_type(1-系統(tǒng)管理員用戶,2-普通用戶)等;產品類別表Protype用來保存產品的類別,它的字段主要包括產品類別編號Typeid、產品類別名稱Typename和上級產品類別UpperId(如果UpperId=0,則表示此產品類別為一級類別)等;產品信息表Product用來保存產品信息,它的字段主要包括產品編號Pid、產品名稱Pname、產品類型編號TypeId、產品規(guī)格Pstyle、計量單位Punit、參考價格Pprice、產品數(shù)量下限Plow、產品數(shù)量上限Phigh、有效期Valid(以天為單位)、在到達有效期前幾天發(fā)出警告AlarmDays等;入庫操作信息表StoreIn用來保存入庫操作的基本信息,它的字段主要包括入庫操作類型SiType(包括采購入庫、生產入庫、退貨入庫、退料入庫等)、入庫產品編號Pid、生產日期MakeDate、入庫產品單價Pprice、入庫產品數(shù)量Pnum、客戶編號Cid、倉庫編號Sid、經辦人EmpName、入庫日期OptDate等;出庫操作信息表TakeOut用來保存出庫操作的基本信息。它的字段主要包括出庫操作類型Ttype(包括銷售出庫、退貨出庫、用料出庫等)、出庫產品編號Pid、出庫產品單價Pprice、出庫產品數(shù)量Pnum、客戶編號Cid、倉庫編號Sid、經辦人EmpName、出庫日期OptDate等;庫存產品信息表ProInStore用來保存庫存產品的基本信息。它的字段主要包括產品存儲編號SpId、產品編號Pid、產品入庫單價Pprice、產品數(shù)量Pnum、生產日期MakeDate、倉庫編號Sid等。
本系統(tǒng)采用Visual C++作為前臺開發(fā)工具,使用SQL Server2005作為后臺數(shù)據(jù)庫。首先在Visual C++設計工程的框架,包括創(chuàng)建工程、在工程中添加和注冊數(shù)據(jù)庫訪問控件、添加數(shù)據(jù)庫訪問類、為每個表創(chuàng)建對應的類、設計系統(tǒng)主界面、設計登錄對話框等。
其次是實現(xiàn)客戶管理模塊設計、倉庫管理模塊設計、用戶管理模塊設計、產品管理模塊設計、庫存操作管理模塊設計、庫存警示管理模塊設計以及統(tǒng)計查詢管理模塊設計等。
下面以統(tǒng)計查詢管理模塊的設計為例,來介紹其實現(xiàn)。統(tǒng)計查詢管理模塊實現(xiàn)產品出入庫統(tǒng)計表和庫存產品流水統(tǒng)計表兩個功能。本系統(tǒng)中為了提高系統(tǒng)的效率,建立了特定的視圖等對象,既提高了數(shù)據(jù)訪問速度,又隔離了用戶端程序對數(shù)據(jù)庫的直接訪問,提高了整個系統(tǒng)的安全性,經過系統(tǒng)的運行,證明以上方法是切實可行的。在實現(xiàn)產品出入庫統(tǒng)計表對話框中創(chuàng)建了3個視圖v_StoreIn,v_TakeOut和v_ProInStore。以對每種產品統(tǒng)計庫存總數(shù)量來建立視圖為例,具體代碼如下:
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
添加對話框,設置相應的屬性即可。
基于SQL Server2005的庫存管理系統(tǒng),規(guī)范了庫存管理中對基本信息、產品信息、庫存操作、庫存警示和統(tǒng)計查詢的管理,使庫存管理更加科學化。通過實際使用表明了該系統(tǒng)功能齊全、使用方便、界面友好[6],為企業(yè)節(jié)約了成本,提高了庫存管理的信息化水平。
[1] 王想實.基于C/S結構的超市庫存管理系統(tǒng)的設與實現(xiàn)[J].湖南工業(yè)職業(yè)技術學院學報,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#倉庫庫存管理系統(tǒng)設計與實現(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ù)庫的庫存管理系統(tǒng)的研究[J].制造業(yè)自動化,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ā)及應用實例詳解[M].北京:人民郵電出版社,2006.
[5] 鄒建.IT名人堂·深入淺出:SQL Server 2005開發(fā)、管理與應用實例[M].北京:人民郵電出版社,2008.
[6] 徐煉.基于SQL Server2000教務管理系統(tǒng)的設計與實現(xiàn)[J].教學研究,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.