已有101人关注
java语句问题
发表在Java图书答疑 2015-05-07
是否精华
版块置顶:
java从入门到精通书中的系统,销售单功能,居然销售数量可以比库存数量大,这时库存就负数了!我要修改成,如果输入的数字比库存数量大,则提示库存数量不足!请问语句该如何修改?
分享到:
精彩评论 1
菜鸟级精英
学分:0 LV1
TA的每日心情
开心
2020-03-23 21:05:48
2015-05-07
沙发
解决的方案有很多,我给你一个改动相对来说比较小的。
修改com.lzw.iframe.XiaoShouDan 这个类:

[strong]Map oldKcsl=new HashMap();/创建一个新的全局变量,用来保存商品编号和商品库存数量。[/strong]/

/*在给表格填充商品信息的方法里加一行代码,记录添加的商品编号和库存数量*/
private synchronized void updateTable() {
TbSpinfo spinfo = (TbSpinfo) sp.getSelectedItem();
Item item = new Item();
item.setId(spinfo.getId());
TbKucun kucun = Dao.getKucun(item);
int row = table.getSelectedRow();
if (row >= 0 && spinfo != null) {
table.setValueAt(spinfo.getId(), row, 1);
table.setValueAt(spinfo.getGysname(), row, 2);
table.setValueAt(spinfo.getCd(), row, 3);
table.setValueAt(spinfo.getDw(), row, 4);
table.setValueAt(spinfo.getGg(), row, 5);
table.setValueAt(kucun.getDj() + "", row, 6);
table.setValueAt(kucun.getKcsl() + "", row, 7);
table.setValueAt(spinfo.getBz(), row, 8);
table.setValueAt(spinfo.getPh(), row, 9);
table.setValueAt(spinfo.getPzwh(), row, 10);
table.editCellAt(row, 7);
[strong]oldKcsl.put(spinfo.getId(), kucun.getKcsl());//记录商品编号和库存数量[/strong]
}
}



/*修改销售按钮的监听方法,如果出库数量大于库存数量,则弹出对话框*/
JButton sellButton = new JButton("销售");
sellButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
/*省略若干代码*/

TbSellMain sellMain = new TbSellMain(id, pzsStr, jeStr,
ysjlStr, kehuName, rkDate, czyStr, jsrStr, jsfsStr);
Set<TbSellDetail> set = sellMain.getTbSellDetails();
int rows = table.getRowCount();
for (int i = 0; i < rows; i++) {
TbSpinfo spinfo = (TbSpinfo) table.getValueAt(i, 0);
String djStr = (String) table.getValueAt(i, 6);
String slStr = (String) table.getValueAt(i, 7);

[strong]String idTmp=(String) table.getValueAt(i, 1);//获取商品编号
int slTmp=(int)oldKcsl.get(idTmp);//获取库存数量
if(slTmp<Integer.parseInt(slStr)){//如果库存小于出库
JOptionPane.showMessageDialog(XiaoShouDan.this, "第"+(i+1)+"行出库数量大于库存数量,请验证!");
return;
}[/strong]
Double dj = Double.valueOf(djStr);
Integer sl = Integer.valueOf(slStr);
TbSellDetail detail = new TbSellDetail();
detail.setSpid(spinfo.getId());
detail.setTbSellMain(sellMain.getSellId());
detail.setDj(dj);
detail.setSl(sl);
set.add(detail);
}

/*省略若干代码*/
});
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照