Bläddra i källkod

订单明细查询(所有)逻辑优化

hu 2 år sedan
förälder
incheckning
f1cc58e508

+ 3 - 13
src/custom/restcontroller/webmanage/sale/order/OrderItems.java

@@ -629,12 +629,7 @@ public class OrderItems extends Controller {
         SQLFactory sqlFactory1 = new SQLFactory(this, "商品发货数量汇总");
         sqlFactory1.addParameter("siteid", siteid);
         Rows sumQtyRows = dbConnect.runSqlQuery(sqlFactory1);
-        RowsMap sumQtyRowsMap = sumQtyRows.toRowsMap("itemno");
-
-        SQLFactory sqlFactory2 =new SQLFactory(this,"商品未发货数量汇总");
-        sqlFactory2.addParameter("siteid", siteid);
-        Rows sumUnQtyRows = dbConnect.runSqlQuery(sqlFactory2);
-        RowsMap sumUnQtyRowsMap= sumUnQtyRows.toRowsMap("itemno");
+        RowsMap sumQtyRowsMap = sumQtyRows.toRowsMap("sa_orderitemsid");
 
         ERPDocking erpDocking = new ERPDocking();
         JSONArray jsonArray = new JSONArray();
@@ -657,16 +652,11 @@ public class OrderItems extends Controller {
         //查询附件
         RowsMap attinfoRowsMap = getAttachmentUrl("plm_item", ids);
         for (Row row : rows) {
-            if (sumQtyRowsMap.get(row.getString("itemno")).isNotEmpty()) {
-                row.put("unsoldqty", sumQtyRowsMap.get(row.getString("itemno")).get(0).getBigDecimal("qty"));
+            if (sumQtyRowsMap.get(row.getString("sa_orderitemsid")).isNotEmpty()) {
+                row.put("unsoldqty", sumQtyRowsMap.get(row.getString("sa_orderitemsid")).get(0).getBigDecimal("qty"));
             } else {
                 row.put("unsoldqty", BigDecimal.ZERO);
             }
-            if(sumUnQtyRowsMap.get(row.getString("itemno")).isNotEmpty()){
-                row.put("undeliqtysum", sumUnQtyRowsMap.get(row.getString("itemno")).get(0).getBigDecimal("undeliqty"));
-            }else {
-                row.put("undeliqtysum", BigDecimal.ZERO);
-            }
             if (!row.containsKey("invbalqty")) {
                 row.put("invbalqty", BigDecimal.ZERO);
             }

+ 4 - 3
src/custom/restcontroller/webmanage/sale/order/SQL/商品发货数量汇总.sql

@@ -1,6 +1,7 @@
-SELECT  t3.itemno,
+SELECT  t1.sa_orderitemsid,
         SUM(t1.qty-ifnull(t1.outwarehouseqty,0)) qty
 FROM sa_dispatch_items t1
          inner join sa_dispatch t2 on t1.siteid = t2.siteid and t1.sa_dispatchid = t2.sa_dispatchid
-         inner join plm_item t3 on t1.siteid = t3.siteid and t1.itemid = t3.itemid
-WHERE t2.STATUS in ('审核','复核') and t1.siteid=$siteid$ group by t3.itemno
+         left join plm_item t3 on t1.siteid = t3.siteid and t1.itemid = t3.itemid
+          inner join sa_orderitems t4 on t1.sa_orderitemsid=t4.sa_orderitemsid and t1.siteid = t4.siteid
+WHERE t2.STATUS in ('审核','复核') and t1.siteid=$siteid$ group by t1.sa_orderitemsid