司小龍
蘇州科技大學,江蘇 蘇州 215009)
隨著我國社會經濟的飛速發(fā)展,在龐大人口基數成為消費者的背景下,各種商品需求量均日益增加。對于商家來說,在大量商品的交易過程中,會不可避免地產生倉庫管理問題。數據庫數據信息的增、刪、改、查功能可以很好地適用于倉庫管理系統(tǒng),依靠數據庫存儲數據能夠確保其安全性、高效性、便捷性[1-3]。本文以藥品的倉庫管理為例,開發(fā)一套倉庫管理系統(tǒng)。
本倉庫管理系統(tǒng)是以基本信息和出入庫操作這兩大部分所構成。在基本信息中,需要包含市面上藥物信息、雇員信息、客戶信息等;在出入庫操作中,需要包含入庫操作與入庫信息記錄、出庫操作與出庫信息記錄、庫存信息查詢操作。在倉庫管理中,數據報表起著十分重要的作用,可以根據它掌握整個倉庫的出入庫情況,從而在對倉庫中的藥品進行管理時可以確保過程的完整性與可監(jiān)控性,并且在使用中盡可能做到簡潔、高效,避免過于復雜化的操作[4-5]。
本倉庫管理系統(tǒng)主要需要實現的功能有:藥品信息記錄、員工信息記錄、客戶信息記錄、藥品入庫操作以及信息記錄、藥品出庫操作及信息記錄、藥品的庫存信息查詢等功能。
在藥品信息記錄中,需要記錄倉庫所管理的藥品信息,主要包括:藥品編號、藥品名稱、藥品的生產公司、生產日期以及有效日期、藥品的主要功效用途、價格等信息。
在員工信息記錄中,需要記錄倉庫中的雇員信息,主要包括:雇員編號、雇員姓名、性別、年齡、學歷、職位等。
在客戶信息記錄中,需要記錄客戶信息,主要包括:客戶編號、客戶姓名、客戶聯系方式等。
在藥品入庫時,需要實現對藥品的入庫操作,還需要記錄入庫信息,主要包括:入庫時間、藥品編號、藥品名稱、入庫數量、進行入庫操作的雇員編號、進行入庫操作的雇員姓名等。
在藥品出庫時,需要實現對藥品的出庫操作,還需要記錄出庫信息,主要包括:客戶編號、客戶姓名、出庫時間、藥品編號、藥品名稱、出庫數量、進行出庫操作的雇員編號、進行出庫操作的雇員姓名等。
1)藥品信息記錄、雇員信息記錄、客戶信息記錄功能設計。創(chuàng)建填寫對應信息的文本框,還需要實現對文本框內容信息填寫正確性的簡單判斷,例如,藥品價格、雇員年齡、客戶聯系方式只能輸入數字文本,若輸入其他類型文本,則提示添加失敗。為了實現信息的統(tǒng)一性,可以創(chuàng)建組合框進行信息的填寫,例如,在雇員性別的組合框中只能選擇“男”或“女”。此外,還需要實現數據信息的增、刪、改、查功能。
2)入庫功能設計。在藥品入庫時,需要填寫藥品編號、雇員編號、入庫數量、藥品存放位置。其中藥品編號和雇員編號均為確定值,則創(chuàng)建組合框進行選擇,從而避免輸入錯誤造成信息錯誤。并將填好的信息形成相應的數據庫語句,傳到數據庫中進行記錄。藥品編號和雇員編號作為數據庫表格中的主鍵,可由此檢索出相關的信息進行記錄,然后將數據庫表格返回給用戶界面。此外,還需要實現數據信息的增、刪、改、查功能。
3)出庫功能設計。在藥品出庫時,需要填寫客戶編號、藥品編號、藥品存放位置、雇員編號、出庫數量。其中除了出庫數量以外,其余均為確定值,同樣需要創(chuàng)建組合框以確保其信息的正確性。完成入庫操作后,數據庫需要將數據庫表格返回給用戶界面。此外,還需要實現數據信息的增、刪、改、查功能。
數據庫設計是指根據業(yè)務和功能等需求,建立數據庫及應用系統(tǒng),從而確保其能安全、高效地存儲數據。倉庫管理系統(tǒng)功能的實現主要依賴于數據庫,數據庫決定了整個倉庫管理系統(tǒng)的安全性及穩(wěn)定性,因此合理地設計一個數據庫是至關重要的。
1)E-R圖設計。圖1為數據庫整體E-R圖設計。其中,有5個對象:藥品、雇員、客戶、入庫、出庫,各個對象均有若干種屬性。對象之間的關系為:雇員更新藥品;客戶購買藥品;雇員進行入庫操作;雇員進行出庫操作;入庫和出庫提供了庫存信息;藥品擁有庫存信息。
圖1 數據庫整體E-R圖設計
2)物理設計。物理設計是編程之前最關鍵的一步,取決于代碼是否可正確執(zhí)行,因此也決定了倉庫管理系統(tǒng)是否能實現。各個表的具體信息見表1~第73頁表6。
表1 藥品信息(medicine Info)
表2 雇員信息(e mploye e)
表6 庫存信息(kucun Info)
表3 客戶信息(kehu)
表4 入庫信息(rukuInfo)
表5 出庫信息(chuku Info)
系統(tǒng)的可視化圖形用戶界面可使用SceneBuilder(場景構建器)根據用戶自己的喜好進行設計。可以將SceneBuilder與eclipse或者IDEA等進行連接,創(chuàng)建可視化圖形用戶界面,隨后SceneBuilder會自動生成代碼,避免了傳統(tǒng)swing控件的繁瑣操作。這樣的實現方式可以極大程度地提高開發(fā)效率。
3.2.1 數據庫的連接
連接數據庫是功能實現的第一步,這是因為管理系統(tǒng)功能的實現都是建立在數據庫的操作中。主要實現代碼如下。
public static void lianjie(){
try{
String url = "jdbc:sqlserver://localhost:
1433;databasename=medicine";
DriverManager.registerDriver(new com.
microsoft.sqlserver.jdbc.SQLServerDriver());
con=DriverManager.getConnection(url,
"sa","123456");
}
catch(Exception ex){
JOptionPane.showMessageDialog (null,"con not connect datebase","error",JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
}
3.2.2 數據庫數據信息的增、刪、改、查功能
數據庫數據信息的增、刪、改、查功能是最基本的數據庫功能實現內容,是管理數據最重要的操作手段。
1)增加數據。主要實現代碼如下。
public static void add(String sql){
System.out.println("SQL:"+sql);
CallableStatement cs;
try{
cs=con.prepareCall(sql);
cs.executeUpdate();
}catch(SQLException e){
JOptionPane.showMessageDialog (null,
"add error","error",JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
2)刪除數據。主要實現代碼如下。
public static void delete(String sql){
System.out.println("SQL:"+sql);
CallableStatement cs;
try{
cs=con.prepareCall(sql);
cs.executeUpdate();
}catch(SQLException e){
JOptionPane.showMessageDialog(null"delete error","error",JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
3)修改數據。主要實現代碼如下。
public static void update(int m,int n,String str1,String str2){
Integer.toString(m);
String sql="{call xiugai("+Integer.toString(m)+","+Integer.toString(n)+",'"+str1+"','"+str2+"')}";
System.out.print(sql);
CallableStatement cs;
try{
cs=con.prepareCall(sql);
cs.executeUpdate();
}catch(SQLException e){
JOptionPane.showMessageDialog (null,"modifyerror","error",JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
4)查找數據。主要實現代碼如下。
public static ResultSet check(String sql){
System.out.println("SQL:"+sql);
CallableStatement cs;
ResultSet rs=null;
try{
cs=con.prepareCall(sql);
rs=cs.executeQuery();
}catch(SQLException e){
JOptionPane.showMessageDialog (null,"duquerror","error",JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
return rs;
}
在入庫界面中,需要對藥品編號和雇員編號創(chuàng)建組合框,從而只能選定已存在的ID值。由于ID值是數據庫的主鍵,因此可以通過這一個值獲取整個數據庫表格中的信息,這樣可以確保信息的正確性和操作的便捷性。完成入庫操作之后,數據庫將會對庫存表進行入庫數量的更新,然后即可以直觀地查看各個區(qū)域存放的各類藥品的當前數量。
在出庫界面中,需要對客戶編號、藥品編號、存放位置、雇員編號創(chuàng)建組合框,由于它們均是確定值,因此可以通過這些數據訪問與它們相關的數據庫表格,從而進行篩選并記錄。這里需要對出庫數量進行判斷,出庫數量不能大于庫存的當前數量,否則出庫失敗。完成出庫操作之后,數據庫將會對庫存表進行藥品出庫數量的更新。
倉庫管理系統(tǒng)已經在當今社會有了廣泛的運用,相信倉庫管理系統(tǒng)將會在未來有著更好的發(fā)展,并與其他新型技術進行結合,發(fā)揮其不可估量的作用。本文以藥品為例設計并開發(fā)了一套倉庫管理系統(tǒng),主要是分析倉庫的業(yè)務需求和功能需求,進而針對分析出的需求設計相應功能和數據庫,并實現相應功能。