企业仓库管理系统的设计与实现 - 图文(7)

2019-08-17 13:39

内蒙古农业大学学士学位论文 27

量、品种数量、合计金额等商品信息的统计。在添加进货商品之后,要实现商品信息的自动统计,就要在table表格的PropertyChangeListener事件监听器中编写统计代码。这里将统计代码编写为ComputeInfo()方法,然后在事件监听器中调用。为表格添加监听的代码如下:

table.addPropertyChangeListener(new PropertyChangeListener() {

public void propertyChange(java.beans.PropertyChangeEvent e) { });

当table表格发生属性改变事件时,事件监听器首先会检测发生的事件类型,也就是判断发生了哪种更改属性的事件,如果事件类型是tableCellEditor则说明属于表格编辑事件,这时应该针对表格的修改事件去调用ComputeInfo()方法执行商品进货的统计业务,并将结果显示在相应的组件上。ComputeInfo()方法的实现代码如下: /**

if ((e.getPropertyName().equals(\))) { }

ComputeInfo();

}

* @author lzwJava

* 事件处理器,该处理器用于计算货品总数、合计金额等信息。 */

private final void ComputeInfo() {

// 计算代码

int rows = table.getRowCount(); int count = 0; double money = 0.0; // 计算品种数量

TbSpinfo column = null;

Object valueAt = table.getValueAt(rows - 1, 0); if(!(valueAt instanceof TbSpinfo))

return;

column = (TbSpinfo) valueAt; rows--; if (rows > 0)

if (rows > 0 && (column == null || column.getId().isEmpty()))

28 聆风企业仓库管理系统

}

// 计算货品总数和金额

for (int i = 0; i < rows; i++) { }

pzslField.setText(rows + \); hpzsField.setText(count + \); hjjeField.setText(money + \);

String column7 = (String) table.getValueAt(i, 7); String column6 = (String) table.getValueAt(i, 6); int c7 = (column7 == null || column7.isEmpty()) ? 0 : float c6 = (column6 == null || column6.isEmpty()) ? 0 : count += c7; money += c6 * c7;

Integer.parseInt(column7); Float.parseFloat(column6);

在添加了进货但中的所有商品后,单击“入库”按钮可以将这些商品添加到数据库中。这需要在“入库”按钮的初始化方法中,为按钮添加ActionListener动作监听器,在监听器中实现商品入库的业务逻辑。getRuKuButton()方法会初始化“入库”按钮,同时该方法还通过if语句判断按钮是否已经初始化,如果已经初始化,就直接将对象返回给调用者,否则就先初始化按钮然后再返回。在初始化过程中,为按钮添加了事件监听,在该事件监听其中首先调用stopTableCellEditing()方法停止正在编辑的表格单元,然后获取进货单的品种数量、结算方式、合计金额、经手人、操作员、进货票号、验收结论等信息,并对关键信息进行判断,防止用户顽疾填写这些信息。最后,创建进货主表的模型对象、进货详细表的模型对象和库存表的模型对象,使用进货单窗体中的信息初始化这些模型对象,并把它们通过Dao公共类的insertRuKuInfo()方法保存到数据库对应的表中。实现的代码如下: /**

* 初始化(入库)按钮的方法 *

* @return javax.swing.JButton */

private JButton getRukuButton() {

if (rukuButton == null) {

rukuButton = new JButton();

内蒙古农业大学学士学位论文 29

{

rukuButton.setText(\入库\);

rukuButton.addActionListener(new java.awt.event.ActionListener()

public void actionPerformed(java.awt.event.ActionEvent e) { 收

集 进货 单 信息

stopTableCellEditing(); // 结束表格中没有编写的单元 String pzsStr = pzslField.getText(); // 品种数 String jeStr = hjjeField.getText(); // 合计金额

String jsfsStr = jsfsComboBox.getSelectedItem().toString(); // 结算方式 String jsrStr = jsrComboBox.getSelectedItem() + \; // 经手人 String czyStr = jsrComboBox.getSelectedItem() + \; // 操作员 String rkDate = jhsjField.getText(); // 入库时间 String ysjlStr = ysjlField.getText().trim(); // 验收结论 String id = idField.getText(); // 票号

String gysName = gysComboBox.getSelectedItem() +\;//供应商名字 if (jsrStr == null || jsrStr.isEmpty()) { JOptionPane.showMessageDialog(JinHuoDan_IFrame.this,

\请填写经手人\);

return;

}

if (ysjlStr == null || ysjlStr.isEmpty()) { JOptionPane.showMessageDialog(JinHuoDan_IFrame.this,

\填写验收结论\);

return;

}

if (table.getRowCount() <= 0) { JOptionPane.showMessageDialog(JinHuoDan_IFrame.this,

\填加入库商品\);

return; }

TbRukuMain ruMain = new TbRukuMain(id, pzsStr, jeStr,

ysjlStr, gysName, rkDate, czyStr, jsrStr, jsfsStr);

Set set = ruMain.getTabRukuDetails();

int rows = table.getRowCount();

30 聆风企业仓库管理系统

for (int i = 0; i < rows; i++) { }

boolean rs = Dao.insertRukuInfo(ruMain); if (rs) { }}

JOptionPane.showMessageDialog(JinHuoDan_IFrame.this,

\入库完成\);

DefaultTableModel dftm = new DefaultTableModel(); table.setModel(dftm); pzslField.setText(\); hpzsField.setText(\); hjjeField.setText(\);

TbSpinfo spinfo = (TbSpinfo) table.getValueAt(i, 0); if (spinfo == null || spinfo.getId() == null

|| spinfo.getId().isEmpty()) continue;

建 并 }

初 始化 进 货详 细 表数 据 模 型

String djStr = (String) table.getValueAt(i, 6); String slStr = (String) table.getValueAt(i, 7); Double dj = Double.valueOf(djStr); Integer sl = Integer.valueOf(slStr); TbRukuDetail detail = new TbRukuDetail(); detail.setTabSpinfo(spinfo.getId()); detail.setTabRukuMain(ruMain.getRkId()); detail.setDj(dj); detail.setSl(sl); set.add(detail);

});

return rukuButton;}

至此,系统的功能全部实现。由于,代码量大,纸张有限,对于系统详细设计及功能实现就简要介绍到这里。对于系统存在的错误或功能不足,在今后的时间中会加以改进,升级。

5.4 系统运行效果图

内蒙古农业大学学士学位论文 31

图9 闪屏图片

图10 登陆窗口

图11 系统主窗口


企业仓库管理系统的设计与实现 - 图文(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:[第17讲]小升初行程 - (行程方法技巧总结 - 接送问题、多过程行

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: