正文

進(jìn)銷存管理系統(tǒng)(19)

Java項(xiàng)目開發(fā)案例全程實(shí)錄(第2版) 作者:明日科技


1.10 庫存管理模塊設(shè)計(jì)

1.10.1 庫存管理模塊概述

企業(yè)進(jìn)銷存管理系統(tǒng)中的庫存管理模塊提供了庫存盤點(diǎn)和價(jià)格調(diào)整兩大功能。由于本書的篇幅所限,本節(jié)將以價(jià)格調(diào)整功能為主,介紹庫存管理模塊對本系統(tǒng)的意義和實(shí)現(xiàn)的業(yè)務(wù)邏輯。

價(jià)格調(diào)整功能主要用于調(diào)整庫存中指定商品的單價(jià)。當(dāng)用戶選擇了指定的商品,但價(jià)格調(diào)整界面中會顯示該商品在庫存中的單價(jià)、庫存數(shù)量、庫存金額、單位、產(chǎn)地等信息,如圖1.30所示。用戶可以修改商品價(jià)格并單擊“確定”按鈕,調(diào)整該商品在庫存中的單價(jià)。

1.10.2  庫存管理模塊技術(shù)分析

企業(yè)進(jìn)銷存管理系統(tǒng)中的庫存管理模塊提供了庫存盤點(diǎn)和價(jià)格調(diào)整兩大功能,其中庫存盤點(diǎn)涉及的技術(shù)比較簡單,它將庫存信息顯示在表格中,由操作員輸入盤點(diǎn)的商品數(shù)量,然后程序自動計(jì)算損益值。價(jià)格調(diào)整功能涉及下拉列表框的選擇事件監(jiān)聽和事件處理技術(shù),這在使用Java Swing技術(shù)進(jìn)行程序開發(fā)的過程中非常重要。為防止用戶的錯(cuò)誤輸入,程序界面經(jīng)常需要將可枚舉的輸入內(nèi)容封裝在下拉列表框中,限制用戶的輸入。但是,要知曉下拉列表框的改變,還需要為下拉列表框添加相應(yīng)的事件監(jiān)聽器。下面就來介紹一下相關(guān)的語法。

addItemListener()方法可以為下拉列表框添加ItemListener監(jiān)聽器。當(dāng)更改下拉列表框中的選項(xiàng)時(shí),將產(chǎn)生相應(yīng)的事件,這個(gè)事件會被添加的ItemListener監(jiān)聽器捕獲,并處理相應(yīng)的業(yè)務(wù)邏輯。

語法:

public void addItemListener(ItemListener aListener)

參數(shù):

aListener:要通知的ItemListener監(jiān)聽器

1.10.3  價(jià)格調(diào)整實(shí)現(xiàn)過程

價(jià)格調(diào)整使用的數(shù)據(jù)表:tb_kucun。

(1)創(chuàng)建JiaGeTiaoZheng類,用于實(shí)現(xiàn)本系統(tǒng)的價(jià)格調(diào)整功能界面和業(yè)務(wù)邏輯。界面中定義的主要控件如表1.11所示。

 

(2)編寫updateJinE()方法,用于更新庫存金額。該方法將“單價(jià)”文本框的內(nèi)容轉(zhuǎn)換為Double類型,將“庫存數(shù)量”文本框的內(nèi)容轉(zhuǎn)換為Integer類型,然后用它們的乘積更新“庫存金額”文本框的內(nèi)容。關(guān)鍵代碼如下:

例程28  代碼位置:光盤\TM\01\JXCManager\src\internalFrame\JiaGeTiaoZheng.java

private void updateJinE() { //更新庫存金額的方法

Double dj = Double.valueOf(danJia.getText());

Integer sl = Integer.valueOf(kuCunShuLiang.getText());

kuCunJinE.setText((dj * sl) + "");

}

(3)創(chuàng)建ItemActionListener類,它必須實(shí)現(xiàn)ItemListener接口和接口中的itemStateChanged()方法,成為下拉列表框的事件監(jiān)聽器。當(dāng)改變界面中選擇的商品時(shí),相應(yīng)的ItemEvent事件會通知該監(jiān)聽器處理業(yè)務(wù)邏輯,也就是根據(jù)選擇的商品名稱更新其他控件內(nèi)容。關(guān)鍵代碼如下:

例程29  代碼位置:光盤\TM\01\JXCManager\src\internalFrame\JiaGeTiaoZheng.java

u class ItemActionListener implements ItemListener { //商品選擇事件監(jiān)聽器

v public void itemStateChanged(

w final ItemEvent e) {

Object selectedItem = shangPinMingCheng.getSelectedItem(); //獲取選擇的商品對象

if (selectedItem == null)

return;

Item item = (Item) selectedItem;

kcInfo = Dao.getKucun(item); //調(diào)用getKucun()方法

if(kcInfo.getId()==null)

return;

int dj, sl;

dj = kcInfo.getDj().intValue();

sl = kcInfo.getKcsl().intValue();

chanDi.setText(kcInfo.getCd()); //更新界面控件的內(nèi)容

jianCheng.setText(kcInfo.getJc());

baoZhuang.setText(kcInfo.getBz());

danWei.setText(kcInfo.getDw());

danJia.setText(kcInfo.getDj() + "");

kuCunShuLiang.setText(kcInfo.getKcsl() + "");

kuCunJinE.setText(dj * sl + "");

guiGe.setText(kcInfo.getGg());

}

}

 


上一章目錄下一章

Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號