庫存控制(Inventory Control)是一個使用JSP 和Microsoft SQL Server 數據庫開發的Web 應用程序。
JSP 結合Microsoft SQL Server 數據庫實現。一個公司希望為控制它的庫存建立一個數據庫,庫存中的產品被分為幾類,如服裝、食品和文具。當產品需要從供應商那裡重新訂購時,工作人員需要提出一個購買訂單。跟踪記錄要提供買進、賣出的貨物以及其他的費用。
主要功能模塊:工作人員登錄模塊、客戶登錄模塊、提出購買訂單模塊、填寫購買訂單模塊、購買訂單模塊、確定交易模塊、增加產品模塊、驗收貨物模塊、填寫驗收產品模塊、發貨模塊、客戶註冊模塊、客戶購買模塊、填寫客戶訂單模塊、歷史購買模塊、客戶信息修改模塊等。
網站主頁,點擊工作人員登錄還是客戶登錄。
操作結果:點擊工作人員登錄進入工作人員登錄頁面,點擊客戶登錄進入客戶登錄頁面。
工作人員登錄,輸入工作人員編號和密碼,是否記住登錄狀態,點擊登錄。
操作結果:跳轉到emp-login-check.jsp,驗證工作人員登錄信息是否正確。以表單的形式提交工作人員編號、密碼、是否記住登錄狀態。
接收emp-login.jsp 提交的工作人員編號、密碼、是否記住登錄狀態。連接數據庫庫存控制工作人員表Employee。
操作結果:判斷工作人員編號、密碼是否匹配,若匹配,判斷工作人員職位,根據工作人員職位跳轉到不同的頁面(購買訂單人員跳轉到emp-purchase.jsp,確定交易人員跳轉到emp-confirm.jsp,驗收貨物人員跳轉到emp-accept.jsp,發貨人員跳轉到emp-deliver.jsp),否則重定向到emp-login.jsp。
購買訂單人員登錄成功跳轉到這個頁面,購買訂單人員根據產品訂貨點水平,高的提出購買訂單,點擊再次購買。
操作結果:跳轉到emp-purchase-add.jsp,通過URL 傳產品代碼productNo 的值。
接收產品代碼productNo 的值,填寫購買訂單的購買訂單描述、訂貨日期、交貨日期、發貨日期、供應商(Supplier 表),點擊提交購買訂單。
操作結果:跳轉到emp-purchase-place.jsp,增加記錄到購買訂單表PurchaseOrder。以表單的形式提交購買訂單描述、訂貨日期、交貨日期、發貨日期、供應商。
接收emp-purchase-add.jsp 提交的購買訂單描述、訂貨日期、交貨日期、發貨日期、供應商。連接數據庫庫存控制購買訂單表PurchaseOrder。
操作結果:增加記錄到購買訂單表PurchaseOrder,重定向到emp-purchase-order.jsp。
所有購買訂單人員提出的購買訂單表,購買訂單人員可以對自己提出的購買訂單操作刪除。
操作結果:跳轉到emp-purchase-order-delete.jsp,通過URL 傳購買訂單代碼purchaseOrderNo 的值。
接收購買訂單代碼purchaseOrderNo 的值。
操作結果:刪除購買訂單表PurchaseOrder 某行記錄,重定向到emp-purchase-order.jsp。
確定交易人員登錄成功跳轉到這個頁面,確定交易人員對所有購買訂單人員提出的購買訂單進行交易和刪除操作。
操作結果:點擊交易跳轉到emp-confirm-place.jsp,通過URL 傳購買訂單代碼purchaseOrderNo 的值和購買產品代碼purchaseProductNo 的值;點擊刪除跳轉到emp-confirm-place.jsp,通過URL 傳購買訂單代碼purchaseOrderNo 的值。
接收購買訂單代碼purchaseOrderNo 的值和購買產品代碼purchaseProductNo 的值。
操作結果:判斷purchaseProductNo 是否為null。若purchaseProductNo 為null,刪除購買訂單表PurchaseOrder 某行記錄,否則通過產品表Product 和購買訂單表PurchaseOrder 將購買訂單信息增加到交易表Transaction。重定向到emp-confirm.jsp。
增加產品到產品表Product 中,填寫產品名稱、產品編號、產品單價、產品現存數量、訂貨點水平、再購買數量、訂貨提前期、產品分類代碼(ProductCategory 表)。
操作結果:跳轉到emp-product-place.jsp 頁面,以表單的形式提交產品名稱、產品編號、產品單價、產品現存數量、訂貨點水平、再購買數量、訂貨提前期、產品分類代碼。
接收產品名稱、產品編號、產品單價、產品現存數量、訂貨點水平、再購買數量、訂貨提前期、產品分類代碼。
操作結果:增加記錄到產品表Product,重定向到emp-product-add.jsp。
驗收貨物人員登錄成功跳轉到這個頁面,驗收貨物人員根據購買產品是否入庫來驗收貨物。
操作結果:跳轉到emp-accept-place.jsp,通過URL 傳交易代碼transactionNo 的值。
填寫驗收產品,填寫交易表收到訂單、銷量、單位損耗,點擊提交。
操作結果:跳轉到emp-accept-make.jsp,更新交易表Transaction 某行記錄。以表單的形式提交收到訂單、銷量、單位損耗,以及隱藏提交交易代碼、產品單價、單位訂單、產品代碼。
接收收到訂單、銷量、單位損耗、交易代碼、產品單價、單位訂單、產品代碼,修改交易表Transaction、產品表Product。
操作結果:更新交易表Transaction、產品表Product 某行記錄。
發貨人員登錄成功跳轉到這個頁面,發貨人員對客戶訂單進行發貨操作,點擊已付款。
操作結果:跳轉到emp-deliver-place.jsp,通過URL 傳客戶訂單代碼userOrderNo 的值。
修改客戶訂單狀態。
操作結果:更新客戶訂單表UserOrder 某行記錄,將客戶訂單狀態置為“已發貨”。
客戶登錄,輸入客戶名和密碼,是否記住登錄狀態,點擊登錄。
操作結果:跳轉到user-login-check.jsp,驗證客戶登錄信息是否正確。以表單的形式提交客戶名、密碼、是否記住登錄狀態。
接收user-login.jsp 提交的客戶名、密碼、是否記住登錄狀態。連接數據庫庫存控制客戶表User。
操作結果:判斷客戶名、密碼是否匹配,若匹配,跳轉到user-purchase.jsp,否則重定向到user-login.jsp。
客戶登錄成功跳轉到這個頁面,客戶可對產品購買,點擊購買。
操作結果:跳轉到user-purchase-add.jsp,通過URL 傳產品代碼productNo 的值。
接收產品代碼productNo 的值,填寫客戶購買訂單的客戶訂單說明、訂購數量,點擊確定或者點擊修改個人信息。
操作結果:點擊確定跳轉到user-purchase-place.jsp,以表單的形式提交客戶訂單說明、訂購數量,以及隱藏提交產品單價、現存數量;點擊修改個人信息跳轉到user-information-modify.jsp,修改客戶個人信息。
接收客戶訂單說明、訂購數量、產品單價、現存數量。
操作結果:增加記錄到客戶訂單表UserOrder,根據訂購數量將產品表Product 現存數量、訂貨點水平做相應的修改,重定向到user-purchase.jsp。
客戶歷史購買。
操作結果:客戶查看歷史購買。
客戶信息修改,填寫客戶收貨地址、客戶電話號碼,點擊修改。
操作結果:跳轉到user-information-modify-place.jsp,以表單的形式提交客戶收貨地址、客戶電話號碼。
接收客戶收貨地址、客戶電話號碼。
操作結果:更新客戶表User 某行記錄,重定向到user-purchase.jsp。
客戶註冊,填寫客戶信息、密碼、收貨地址、電話號碼,點擊註冊。
操作結果:跳轉到user-register-make.jsp,以表單的形式提交客戶信息、密碼、收貨地址、電話號碼。
接收客戶信息、密碼、收貨地址、電話號碼,判斷客戶註冊是否合法。
操作結果:客戶註冊合法,增加記錄到客戶表User,跳轉到到user-login.jsp,否則重定向到user-register.jsp。

1、本項目需要在前台開發工具NetBeans IDE 8.0.2 和後台數據庫Microsoft SQL Server 2014 結合下運行。
2、當Microsoft SQL Server 2014 連接到服務器、NetBeans IDE 8.0.2 服務連接到數據庫庫存控制的時候,在NetBeans IDE 8.0.2 點擊項目inventoryControl 中的index.jsp 並右擊選擇運行文件,NetBeans IDE 8.0.2 即可運行inventoryControl 項目。以下為項目運行後的界面,通過點擊工作人員登錄或者客戶登錄進入相應的登錄頁面。

3、根據每一步的提示,完成相應的操作。
4、關閉瀏覽器退出。
1、通過《數據庫原理及應用》課程設計,充分實踐了數據庫基本表的創建、數據查詢、數據更新等操作。
2、購買訂單人員有權根據訂貨點水平對產品表中的產品提出購買訂單和對自己提出的購買訂單進行刪除操作。


3、確定交易人員有權對所有購買訂單人員提出的購買訂單進行交易和刪除操作之外,還有權增加產品到產品表。


4、驗收貨物人員有權根據購買產品是否入庫來驗收貨物。

5、發貨人員有權對客戶訂單進行發貨操作。

6、客戶不僅有權購買產品、查看自己的歷史購買,還有權修改個人信息。



7、新客戶通過註冊獲取客戶所以權限。
