Przeglądaj źródła

订单商品原价计算逻辑变更

hu 1 rok temu
rodzic
commit
8ae5506e59

+ 8 - 1
src/custom/restcontroller/webmanage/sale/order/Order.java

@@ -15,6 +15,7 @@ import beans.salearea.SaleArea;
 import beans.uploaderpdata.UploadDataToERP;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.sun.org.apache.bcel.internal.generic.NEW;
 import common.Controller;
 import common.YosException;
 import common.annotation.API;
@@ -1502,10 +1503,16 @@ public class Order extends Controller {
 
         if (type.equals("标准订单") || type.equals("促销订单")) {
             Rows orderiteminfos = dbConnect.runSqlQuery("select t1.* from sa_orderitems t1  where t1.sa_orderid=" + sa_orderid + " and t1.siteid='" + siteid + "'");
+            //批量查询商品信息
+            RowsMap itemRowsMap = orderItemsHelper.getItemRowsMap(orderiteminfos.toJsonArray("itemid"));
             for (Row row1 : orderiteminfos) {
                 ItemPrice itemPrice = ItemPrice.getItemPrice(this, rows.get(0).getLong("sys_enterpriseid"), row1.getLong("itemid"));
                 if (row1.getBigDecimal("saleprice").compareTo(BigDecimal.ZERO) > 0) {
-                    if (orderItemsHelper.getSalePrice(rows.get(0), itemPrice).compareTo(row1.getBigDecimal("saleprice")) != 0) {
+                    JSONObject item =new JSONObject();
+                    item.put("itemid",row1.getString("itemid"));
+                    item.put("length",row1.getBigDecimal("length"));
+                    item.put("width",row1.getBigDecimal("width"));
+                    if (orderItemsHelper.getSalePrice(rows.get(0), itemPrice,item,itemRowsMap).compareTo(row1.getBigDecimal("saleprice")) != 0) {
                         return getErrReturnObject().setErrMsg("商品:" + row1.getString("itemno") + "销售价格有更新,请删除后重新添加!").toString();
                     }
                 }