Browse Source

更新批量更新单价后更新发票信息的方法

hejq 8 years ago
parent
commit
b065288f23

+ 7 - 11
src/main/java/com/uas/platform/b2b/service/impl/PurchaseApBillServiceImpl.java

@@ -176,19 +176,15 @@ public class PurchaseApBillServiceImpl implements PurchaseApBillService {
 				List<Product> prods = productDao.findByEnUUAndCode(enuu, prod.getPd_prodcode());
 				if(!CollectionUtils.isEmpty(prods)) {
 					// 更新明细单价、税率
-					String sql = " merge into purc$apbillitem i using purc$apbill a "
-							+ "on (i.papi_papid = a.pab_id and i.papi_pdinoutno = '" + prod.getPbu_inoutno()
-							+ "' and a.pad_enuu = " + enuu + " and i.papi_product = " + prods.get(0).getId() + ")"
-							+ " when matched then "
-							+ "update set i.papi_price = " + prod.getPbu_orderprice()
-							+ ", i.papi_apamount = i.papi_thisvoqty * " + prod.getPbu_orderprice()
-							+ ", i.papi_amount = i.papi_qty * " + prod.getPbu_orderprice();
-					if(null != prod.getPbu_taxrate()) {
-						sql = sql + ", i.papi_taxrate = " + prod.getPbu_taxrate() + ", i.papi_taxamount = trunc(i.papi_qty * "
-								  + prod.getPbu_orderprice() + "/(1 +" + prod.getPbu_taxrate()/100 + ") * " + prod.getPbu_taxrate()/100 + ", 2)";
+					String sql = " update purc$apbillitem i,purc$apbill a set i.papi_price = " + prod.getPbu_orderprice() + ", i.papi_apamount = i.papi_thisvoqty * "
+							+ prod.getPbu_orderprice() + ", i.papi_amount = i.papi_qty * " + prod.getPbu_orderprice() + ",";
+					if (null != prod.getPbu_taxrate()) {
+						sql = sql + ", i.papi_taxrate = " + prod.getPbu_taxrate() + ", i.papi_taxamount = ROUND(i.papi_qty * "
+								+ prod.getPbu_orderprice() + "/(1 +" + prod.getPbu_taxrate()/100 + ") * " + prod.getPbu_taxrate()/100 + ", 2)";
 					} else {
-						sql = sql + ", i.papi_taxamount = trunc(i.papi_qty * " + prod.getPbu_orderprice() + "/(1 + (IFNULL(i.papi_taxrate, 0)/100)) * (IFNULL(i.papi_taxrate, 0)/100), 2)";
+						sql = sql + ", i.papi_taxamount = ROUND(i.papi_qty * " + prod.getPbu_orderprice() + "/(1 + (IFNULL(i.papi_taxrate, 0)/100)) * (IFNULL(i.papi_taxrate, 0)/100), 2)";
 					}
+					sql = sql +" where i.papi_papid = a.pab_id and i.papi_pdinoutno = 'ET18040001' and a.pad_enuu = 10041166 and i.papi_product = 23839348";
 					commonDao.getJdbcTemplate().update(sql);
 					logger.log("批量更新价格", "更新'" + prod.getPbu_inoutno() + "'发票明细价格", 1);
 					// 更新主表的税金合计