Selaa lähdekoodia

发货单明细查询导出优化develop

hu 1 vuosi sitten
vanhempi
commit
24f5ad01f1

BIN
lib/yos.core-2.4.4-sources.jar → lib/yos.core-2.4.7-sources.jar


BIN
lib/yos.core-2.4.4.jar → lib/yos.core-2.4.7.jar


+ 26 - 37
src/custom/restcontroller/webmanage/sale/dispatch/dispatchItems.java

@@ -270,7 +270,7 @@ public class dispatchItems extends Controller {
         //System.out.println(object.toString());
         if(siteid.equalsIgnoreCase("lsa")){
             String result = request.doPost(object.toString(),
-                "http://60.190.151.198:8089/BYESB/jaxrs/webclientrest");
+                    "http://60.190.151.198:8089/BYESB/jaxrs/webclientrest");
             if(isJSONArray(result)){
                 jsonArray = JSONArray.parseArray(result);
             }
@@ -401,47 +401,25 @@ public class dispatchItems extends Controller {
         Rows areaRows = dbConnect.runSqlQuery(areasqlFactory);
         RowsMap areaRowsMap = areaRows.toRowsMap("sys_enterpriseid");
 
-        SQLFactory itemsqlFactory = new SQLFactory(this, "发货单明细关联商品列表查询");
-        itemsqlFactory.addParameter("siteid", siteid);
-        itemsqlFactory.addParameter_in("itemids", rows.toArrayList("itemid", new ArrayList<>()));
-        Rows itemRows = dbConnect.runSqlQuery(itemsqlFactory);
-        RowsMap itemRowsMap = itemRows.toRowsMap("itemid");
+//        SQLFactory itemsqlFactory = new SQLFactory(this, "发货单明细关联商品列表查询");
+//        itemsqlFactory.addParameter("siteid", siteid);
+//        itemsqlFactory.addParameter_in("itemids", rows.toArrayList("itemid", new ArrayList<>()));
+//        Rows itemRows = dbConnect.runSqlQuery(itemsqlFactory);
+//        RowsMap itemRowsMap = itemRows.toRowsMap("itemid");
 
-        SQLFactory ordersqlFactory = new SQLFactory(this, "发货单明细关联订单列表查询");
-        ordersqlFactory.addParameter("siteid", siteid);
-        ordersqlFactory.addParameter_in("sa_orderitemsids", rows.toArrayList("sa_orderitemsid", new ArrayList<>()));
-        Rows orderRows = dbConnect.runSqlQuery(ordersqlFactory);
-        RowsMap orderRowsMap = orderRows.toRowsMap("sa_orderitemsid");
+//        SQLFactory ordersqlFactory = new SQLFactory(this, "发货单明细关联订单列表查询");
+//        ordersqlFactory.addParameter("siteid", siteid);
+//        ordersqlFactory.addParameter_in("sa_orderitemsids", rows.toArrayList("sa_orderitemsid", new ArrayList<>()));
+//        Rows orderRows = dbConnect.runSqlQuery(ordersqlFactory);
+//        RowsMap orderRowsMap = orderRows.toRowsMap("sa_orderitemsid");
 
-        for (Row row : rows) {
-            if (orderRowsMap.containsKey(row.getString("sa_orderitemsid"))) {
-                row.put("sa_orderid", orderRowsMap.get(row.getString("sa_orderitemsid")).get(0).getString("sa_orderid"));
-                row.put("sonum", orderRowsMap.get(row.getString("sa_orderitemsid")).get(0).getString("sonum"));
-                row.put("type", orderRowsMap.get(row.getString("sa_orderitemsid")).get(0).getString("type"));
-                row.put("orderRowno", orderRowsMap.get(row.getString("sa_orderitemsid")).get(0).getString("orderRowno"));
-                row.put("price", orderRowsMap.get(row.getString("sa_orderitemsid")).get(0).getDouble("price"));
-                row.put("undeliqty", orderRowsMap.get(row.getString("sa_orderitemsid")).get(0).getDouble("undeliqty"));
-                row.put("deliedqty", orderRowsMap.get(row.getString("sa_orderitemsid")).get(0).getDouble("deliedqty"));
-                row.put("amount", orderRowsMap.get(row.getString("sa_orderitemsid")).get(0).getBigDecimal("price").multiply(row.getBigDecimal("qty")).doubleValue());
-            }
-            if (itemRowsMap.containsKey(row.getString("itemid"))) {
-                row.put("itemno", itemRowsMap.get(row.getString("itemid")).get(0).getString("itemno"));
-                row.put("itemname", itemRowsMap.get(row.getString("itemid")).get(0).getString("itemname"));
-                row.put("unitname", itemRowsMap.get(row.getString("itemid")).get(0).getString("unitname"));
-            }
-            if (areaRowsMap.containsKey(row.getString("sys_enterpriseid"))) {
-                row.put("areaname", areaRowsMap.get(row.getString("sys_enterpriseid")).get(0).getString("areaname"));
-            } else {
-                row.put("areaname", "");
-            }
-        }
 
         RowsMap rowsMap = rows.toRowsMap("itemno");
         ERPDocking erpDocking = new ERPDocking(siteid);
         JSONArray jsonArray = new JSONArray();
         if (rows.toJsonArray("itemno").size() != 0) {
             if (Parameter.get("system.ccerp_dockswitch").equalsIgnoreCase("true") ) {
-                jsonArray = erpDocking.getErpIcinvbalRows(200000, 1, rows.toJsonArray("itemno"));
+                //jsonArray = erpDocking.getErpIcinvbalRows(200000, 1, rows.toJsonArray("itemno"));
             }
 
         }
@@ -470,6 +448,11 @@ public class dispatchItems extends Controller {
         }
 
         for (Row row : rows) {
+            if (areaRowsMap.containsKey(row.getString("sys_enterpriseid"))) {
+                row.put("areaname", areaRowsMap.get(row.getString("sys_enterpriseid")).get(0).getString("areaname"));
+            } else {
+                row.put("areaname", "");
+            }
             if (!row.containsKey("delinvbalqty")) {
                 row.put("delinvbalqty", row.getBigDecimal("undeliqty").negate().doubleValue());
                 row.put("invbalqty", 0);
@@ -501,25 +484,31 @@ public class dispatchItems extends Controller {
         return getSucReturnObject().setData(rows).toString();
     }
 
+
     //查询订单列表(管理端)
     public QuerySQL queryListManage(String where) throws YosException {
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_dispatch_items",
                 "sa_dispatch_itemsid", "sa_dispatchid", "sa_orderitemsid", "isclose", "rowno", "itemid", "outwarehousedate", "batchno", "remarks");
         querySQL.setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t2", "t2.itemid = t1.itemid AND t2.siteid = t1.siteid",
-                "itemno");
+                "itemno","itemname");
         querySQL.addJoinTable(JOINTYPE.left, "sa_dispatch", "t4", "t4.sa_dispatchid = t1.sa_dispatchid AND t4.siteid = t1.siteid",
                 "billno", "status", "billdate", "closedate");
         querySQL.addJoinTable(JOINTYPE.left, "sa_orderitems", "t5", "t5.sa_orderitemsid=t1.sa_orderitemsid and t5.siteid=t1.siteid",
-                "spec");
+                "spec","price","undeliqty","deliedqty","amount","rowno");
         querySQL.addJoinTable(JOINTYPE.left, "sa_order", "t8", "t8.sa_orderid=t4.sa_orderid and t8.siteid=t4.siteid",
-                "sonum");
+                "sonum","type","typemx","sa_accountclassinfos");
         querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t9", "t9.sys_enterpriseid = t4.sys_enterpriseid and t9.siteid = t4.siteid",
                 "agentnum");
         querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t10", "t10.sys_enterpriseid = t4.sys_enterpriseid and t10.siteid = t4.siteid",
                 "enterprisename", "sys_enterpriseid");
+        querySQL.addJoinTable(JOINTYPE.left, "plm_unit", "t11", "t11.unitid = t2.unitid and t11.siteid = t2.siteid",
+                "unitname");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_accountclass", "t12", "t12.sa_accountclassid=t8.sa_accountclassid and t12.siteid=t8.siteid");
         querySQL.addQueryFields("qty", "ifnull(t1.qty, 0)");
         querySQL.addQueryFields("outwarehouseqty", "ifnull(t1.outwarehouseqty, 0)");
+        querySQL.addQueryFields("orderRowno", "t5.rowno");
+        querySQL.addQueryFields("accountnames", "if(ifnull(replace(replace(replace(JSON_EXTRACT (t8.sa_accountclassinfos, '$**.accountname' ),'[',''),']',''),'\\\"',''),'')='',t12.accountname,replace(replace(replace(JSON_EXTRACT (t8.sa_accountclassinfos, '$**.accountname' ),'[',''),']',''),'\\\"',''))");
         querySQL.setWhere("t1.siteid", siteid);
         querySQL.setWhere(where);
         return querySQL;