HashMap<T,T>用法用例
来源:互联网 发布:数据仿真 编辑:程序博客网 时间:2024/05/18 02:08
<span style="font-size:14px;">public HashMap<String, BigDecimal> compareQuantity(String gdk006,String gdk001) throws BusinessException{//得到发货gd003上的数量String gd003Sql="SELECT T1.* FROM gd003 T1 WHERE T1.GDK001='"+gdk001+"'";RowsetXML gd003RowsetXML = QueryHelper.executeQuery("", gd003Sql);//发货确认商品列表<span style="color:#ff0000;">HashMap<String, BigDecimal> mapGd003 = new HashMap<String, BigDecimal>();// 发货确认商品列表</span>while (gd003RowsetXML.next()) {Gd003 gd003 = new Gd003();gd003RowsetXML.writeToBean(gd003, false);<span style="color:#ff0000;">mapGd003.put(gd003.getGdk003(), gd003.getGdn001());</span>}//得到本次确认的gdk006的商品明细(T2.ACK001,T2.GDN015)//String gd008Sql="SELECT T2.GDK003,SUM(T2.Gdn015) GDN015 FROM gd006 T1,GD008 T2 WHERE T1.GDK006=T2.Gdk006 AND T1.GDK006='"+gdk006+"' GROUP BY T2.GDK003";String gd008Sql ="SELECT T2.GDK003,SUM(T2.Gdn015) GDN015 FROM GD008 T2 WHERE T2.GDK006='"+gdk006+"' GROUP BY T2.GDK003";RowsetXML gd008RowsetXML = QueryHelper.executeQuery("", gd008Sql);//发货确认商品列表HashMap<String, BigDecimal> mapGd008 = new HashMap<String, BigDecimal>();// 发货确认商品列表//HashMap<String, BigDecimal> retMapGd008 = new HashMap<String, BigDecimal>();// 发货确认商品列表返回值while (gd008RowsetXML.next()) {mapGd008.put(gd008RowsetXML.getString("GDK003"),gd008RowsetXML.getBigDecimal("GDN015"));//retMapGd008.put(gd008RowsetXML.getString("GDK003"), gd008RowsetXML.getBigDecimal("GDN015"));}//得到gdk003对应的已开票数量String ge002Sql1="SELECT T3.GDK003,SUM(T3.Gbn007) GBN007 FROM ge002 T3 WHERE T3.GDK003 IN(SELECT T2.GDK003 FROM GD003 T2 WHERE T2.GDK001 = '"+gdk001+"') GROUP BY T3.GDK003";RowsetXML ge002RowsetXML = QueryHelper.executeQuery("", ge002Sql1);//发货确认商品列表对应的开票HashMap<String, BigDecimal> mapGe002 = new HashMap<String, BigDecimal>();// 开票商品列表while (ge002RowsetXML.next()) {mapGe002.put(ge002RowsetXML.getString("GDK003"),ge002RowsetXML.getBigDecimal("GBN007"));}<span style="color:#ff0000;">//比较是否有本次确认数量大于未开票数量 有就返回falseIterator<String> iterator = mapGd003.keySet().iterator();while (iterator.hasNext()) {// 主键为空的,直接新增;主键不为空,覆盖原来的数据后更新。String goodsId = iterator.next();boolean flag=mapGe002.get(goodsId)!=null&&mapGd008.get(goodsId)!=null&&mapGd003.get(goodsId).subtract(mapGe002.get(goodsId)).compareTo(mapGd008.get(goodsId))<0;if(flag){//开票表和确认表都有该商品且本次确认数量大于未开票数量mapGd008.put("flag", BigDecimal.ZERO);return mapGd008;}}</span>mapGd008.put("flag", BigDecimal.ONE);return mapGd008;</span>
0 0
- HashMap<T,T>用法用例
- <T> List<T>的用法
- t
- t
- t
- t
- T
- T
- t
- t
- t
- T
- t
- t
- t
- t
- t
- t
- 为项目添加Hibernate支持-----SSH框架搭建3
- 【笔记】【chanpin100产品经理深入浅出】产品经理工作职责
- java 获取时间相关总结
- vpb输出范围地形命令
- kernel和u-boot,驱动,linux应用学习博客
- HashMap<T,T>用法用例
- WWDC2014之iOS使用动态库2
- 简单来说 数据结构有哪些? 存储方式上:链表形式,数组,
- Python的IDLE清屏方法
- IOS 2G 3G 4G WIFI
- 多线程的学习
- Java利用Jave转换视频格式为3gp
- WWDC2014之iOS使用动态库1
- The file “xxx” couldn’t be opened because you don’t have permission to view it.