Browse Source

订单商品原价计算逻辑报错修复

hu 1 year ago
parent
commit
b9f7769d25
1 changed files with 10 additions and 3 deletions
  1. 10 3
      src/custom/restcontroller/webmanage/sale/order/Order.java

+ 10 - 3
src/custom/restcontroller/webmanage/sale/order/Order.java

@@ -1503,15 +1503,22 @@ 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 + "'");
+            JSONArray jsonArray =new JSONArray();
             //批量查询商品信息
-            RowsMap itemRowsMap = orderItemsHelper.getItemRowsMap(orderiteminfos.toJsonArray("itemid"));
+            for (Row orderiteminfo :orderiteminfos) {
+                JSONObject jsonObject =new JSONObject();
+                jsonObject.put("itemid",orderiteminfo.getLong("itemid"));
+                jsonArray.add(jsonObject);
+            }
+            RowsMap itemRowsMap = orderItemsHelper.getItemRowsMap(jsonArray);
             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) {
                     JSONObject item =new JSONObject();
                     item.put("itemid",row1.getString("itemid"));
-                    item.put("length",row1.getBigDecimal("length"));
-                    item.put("width",row1.getBigDecimal("width"));
+                    item.put("length",row1.getString("length"));
+                    item.put("width",row1.getString("width"));
+
                     if (orderItemsHelper.getSalePrice(rows.get(0), itemPrice,item,itemRowsMap).compareTo(row1.getBigDecimal("saleprice")) != 0) {
                         return getErrReturnObject().setErrMsg("商品:" + row1.getString("itemno") + "销售价格有更新,请删除后重新添加!").toString();
                     }