|
|
@@ -27,6 +27,7 @@ import javax.persistence.criteria.CriteriaBuilder;
|
|
|
import javax.persistence.criteria.CriteriaQuery;
|
|
|
import javax.persistence.criteria.Predicate;
|
|
|
import javax.persistence.criteria.Root;
|
|
|
+import java.sql.SQLClientInfoException;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
@@ -179,14 +180,17 @@ public class PurchaseApBillServiceImpl implements PurchaseApBillService {
|
|
|
// 更新明细单价、税率
|
|
|
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() + ")"
|
|
|
+ + "' 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()
|
|
|
- + ", i.papi_taxamount = ROUND(SUM(i.papi_qty * " + prod.getPbu_orderprice() + "/(1 + (nvl(i.papi_taxrate, 0)/100)) * (nvl(i.papi_taxrate, 0)/100)), 2)";
|
|
|
- if(null != prod.getPbu_taxrate())
|
|
|
- sql = sql + ", i.papi_taxrate = " + prod.getPbu_taxrate();
|
|
|
+ + ", 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)";
|
|
|
+ } else {
|
|
|
+ sql = sql + ", i.papi_taxamount = trunc(i.papi_qty * " + prod.getPbu_orderprice() + "/(1 + (nvl(i.papi_taxrate, 0)/100)) * (nvl(i.papi_taxrate, 0)/100), 2)";
|
|
|
+ }
|
|
|
commonDao.getJdbcTemplate().update(sql);
|
|
|
logger.log("批量更新价格", "更新'" + prod.getPbu_inoutno() + "'发票明细价格", 1);
|
|
|
// 更新主表的税金合计
|