瀏覽代碼

发货商品列表查询处理sa_orderid=0的情况

eganwu 2 年之前
父節點
當前提交
7f0e6eea1f
共有 1 個文件被更改,包括 49 次插入47 次删除
  1. 49 47
      src/custom/restcontroller/webmanage/sale/dispatch/dispatchItems.java

+ 49 - 47
src/custom/restcontroller/webmanage/sale/dispatch/dispatchItems.java

@@ -93,7 +93,10 @@ public class dispatchItems extends Controller {
                 where.append(")");
             }
             if (whereObject.containsKey("sa_orderid") && !"".equals(whereObject.getString("sa_orderid"))) {
-                where.append("  and t1.sa_orderid ='").append(whereObject.getString("sa_orderid")).append("' ");
+                Long sa_orderid = whereObject.getLongValue("sa_orderid");
+                if (sa_orderid > 0) {
+                    where.append("  and t1.sa_orderid ='").append(sa_orderid).append("' ");
+                }
             }
             if (whereObject.containsKey("begindate") && !"".equals(whereObject.getString("begindate"))) {
                 where.append(" and DATE_FORMAT(t3.checkdate, '%Y-%m-%d') >='").append(whereObject.getString("begindate")).append("' ");
@@ -116,21 +119,21 @@ public class dispatchItems extends Controller {
     @API(title = "erp批次库存查询", apiversion = R.ID20230427101303.v1.class)
     @CACHEING
     public String queryErpIcinvbalBatchList() throws YosException {
-        BigDecimal qty =content.getBigDecimalValue("qty");
+        BigDecimal qty = content.getBigDecimalValue("qty");
         JSONArray jsonArray = content.getJSONArray("itemnos");
-        JSONArray jsonArrayfinal=new JSONArray();
+        JSONArray jsonArrayfinal = new JSONArray();
         ERPDocking erpDocking = new ERPDocking();
         JSONArray rows = erpDocking.getErpIcinvbalBatchRows(1000, 1, jsonArray);
-        for (Object object:rows) {
-            JSONObject jsonObject =(JSONObject) object;
-            if(jsonObject.getBigDecimalValue("fqty").compareTo(qty)>=0){
+        for (Object object : rows) {
+            JSONObject jsonObject = (JSONObject) object;
+            if (jsonObject.getBigDecimalValue("fqty").compareTo(qty) >= 0) {
                 jsonArrayfinal.add(jsonObject);
             }
         }
         return getSucReturnObject().setData(jsonArrayfinal).toString();
     }
 
-    @API(title = "新建或修改发货单商品明细", apiversion = R.ID20221115104603.v1.class,intervaltime = 200)
+    @API(title = "新建或修改发货单商品明细", apiversion = R.ID20221115104603.v1.class, intervaltime = 200)
     @CACHEING_CLEAN(apiClass = {dispatchItems.class, dispatch.class})
     public String insertormodify_dispatchItems() throws YosException {
         Long sa_dispatchid = content.getLong("sa_dispatchid");
@@ -227,7 +230,6 @@ public class dispatchItems extends Controller {
     }
 
 
-
     @API(title = "发货单商品明细列表", apiversion = R.ID20221115104703.v1.class)
     @CACHEING
     public String queryDispatchItemsList() throws YosException {
@@ -265,7 +267,7 @@ public class dispatchItems extends Controller {
         object.put("content", content);
 
         WebRequest request = new WebRequest();
-         //System.out.println(object.toString());
+        //System.out.println(object.toString());
 //        String result = request.doPost(object.toString(),
 //                "http://60.190.151.198:8089/BYESB/jaxrs/webclientrest");
 //        if(isJSONArray(result)){
@@ -279,7 +281,7 @@ public class dispatchItems extends Controller {
         }
         SQLFactory sqlFactory1 = new SQLFactory(this, "商品发货数量汇总");
         sqlFactory1.addParameter("siteid", siteid);
-        sqlFactory1.addParameter_in("itemno", rows.toArrayList("itemno",new ArrayList<>()));
+        sqlFactory1.addParameter_in("itemno", rows.toArrayList("itemno", new ArrayList<>()));
         Rows sumQtyRows = dbConnect.runSqlQuery(sqlFactory1);
         RowsMap sumQtyRowsMap = sumQtyRows.toRowsMap("itemno");
 
@@ -355,7 +357,7 @@ public class dispatchItems extends Controller {
                 where.append(" and t4.status ='").append(whereObject.getString("status")).append("' ");
             }
             if (whereObject.containsKey("isnotsent") && !"".equals(whereObject.getString("isnotsent"))) {
-                if(whereObject.getBooleanValue("isnotsent")){
+                if (whereObject.getBooleanValue("isnotsent")) {
                     //System.out.println(" and t4.status ='复核' and  ifnull(t1.outwarehouseqty, 0)< ifnull(t1.qty, 0)");
                     where.append(" and  ifnull(t1.qty, 0)> ifnull(t1.outwarehouseqty, 0) and  t1.sa_dispatchid in(select t1.sa_dispatchid from sa_dispatch_items t1  LEFT JOIN sa_dispatch t4 ON t4.sa_dispatchid = t1.sa_dispatchid AND t4.siteid = t1.siteid where  t4.status ='复核' and  ifnull(t1.outwarehouseqty, 0)< ifnull(t1.qty, 0) and ifnull(t1.outwarehouseqty, 0)>0)");
                 }
@@ -378,42 +380,42 @@ public class dispatchItems extends Controller {
 
         SQLFactory areasqlFactory = new SQLFactory(this, "发货单明细关联区域列表查询");
         areasqlFactory.addParameter("siteid", siteid);
-        areasqlFactory.addParameter_in("sys_enterpriseids", rows.toArrayList("sys_enterpriseid",new ArrayList<>()));
+        areasqlFactory.addParameter_in("sys_enterpriseids", rows.toArrayList("sys_enterpriseid", new ArrayList<>()));
         Rows areaRows = dbConnect.runSqlQuery(areasqlFactory);
-        RowsMap areaRowsMap =areaRows.toRowsMap("sys_enterpriseid");
+        RowsMap areaRowsMap = areaRows.toRowsMap("sys_enterpriseid");
 
         SQLFactory itemsqlFactory = new SQLFactory(this, "发货单明细关联商品列表查询");
         itemsqlFactory.addParameter("siteid", siteid);
-        itemsqlFactory.addParameter_in("itemids", rows.toArrayList("itemid",new ArrayList<>()));
+        itemsqlFactory.addParameter_in("itemids", rows.toArrayList("itemid", new ArrayList<>()));
         Rows itemRows = dbConnect.runSqlQuery(itemsqlFactory);
-        RowsMap itemRowsMap =itemRows.toRowsMap("itemid");
+        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<>()));
+        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 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", "");
             }
         }
 
@@ -428,7 +430,7 @@ public class dispatchItems extends Controller {
         }
         SQLFactory sqlFactory1 = new SQLFactory(this, "商品发货数量汇总");
         sqlFactory1.addParameter("siteid", siteid);
-        sqlFactory1.addParameter_in("itemno", rows.toArrayList("itemno",new ArrayList<>()));
+        sqlFactory1.addParameter_in("itemno", rows.toArrayList("itemno", new ArrayList<>()));
         Rows sumQtyRows = dbConnect.runSqlQuery(sqlFactory1);
         RowsMap sumQtyRowsMap = sumQtyRows.toRowsMap("itemno");
 
@@ -485,20 +487,20 @@ public class dispatchItems extends Controller {
     //查询订单列表(管理端)
     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");
+                "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");
         querySQL.addJoinTable(JOINTYPE.left, "sa_dispatch", "t4", "t4.sa_dispatchid = t1.sa_dispatchid AND t4.siteid = t1.siteid",
-                "billno","status","billdate","closedate");
+                "billno", "status", "billdate", "closedate");
         querySQL.addJoinTable(JOINTYPE.left, "sa_order", "t8", "t8.sa_orderid=t4.sa_orderid and t8.siteid=t4.siteid",
                 "sonum");
         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.addQueryFields("qty","ifnull(t1.qty, 0)");
-        querySQL.addQueryFields("outwarehouseqty","ifnull(t1.outwarehouseqty, 0)");
+                "enterprisename", "sys_enterpriseid");
+        querySQL.addQueryFields("qty", "ifnull(t1.qty, 0)");
+        querySQL.addQueryFields("outwarehouseqty", "ifnull(t1.outwarehouseqty, 0)");
         querySQL.setWhere("t1.siteid", siteid);
         querySQL.setWhere(where);
         querySQL.setWhere("t4.status in ('审核','复核','关闭','手工关闭')");
@@ -617,7 +619,7 @@ public class dispatchItems extends Controller {
         areasqlFactory.addParameter("siteid", siteid);
         areasqlFactory.addParameter("hrid", hrid);
         Rows arearows = dbConnect.runSqlQuery(areasqlFactory);
-        ArrayList<Long> arrayList =arearows.toArrayList("sa_saleareaid", new ArrayList<Long>());
+        ArrayList<Long> arrayList = arearows.toArrayList("sa_saleareaid", new ArrayList<Long>());
         arrayList.addAll(SaleArea.getSubSaleAreaIds(this, arrayList));
 
         SQLFactory sqlFactory = new SQLFactory(this, "工厂发货及退货明细(区域经理)", pageSize, pageNumber, pageSorting);
@@ -668,8 +670,8 @@ public class dispatchItems extends Controller {
         titleMap.put("qty", "发货数量");
         titleMap.put("remarks", "发货行备注");
         titleMap.put("outwarehouseqty", "已出库数量");
-        Rows rowsrolename= dbConnect.runSqlQuery("select * from sys_userrole t1 inner join sys_role t2 on t1.roleid=t2.roleid and t1.siteid=t2.siteid where t2.rolename='经销商员工' and t1.userid="+userid);
-        if(rowsrolename.isEmpty()){
+        Rows rowsrolename = dbConnect.runSqlQuery("select * from sys_userrole t1 inner join sys_role t2 on t1.roleid=t2.roleid and t1.siteid=t2.siteid where t2.rolename='经销商员工' and t1.userid=" + userid);
+        if (rowsrolename.isEmpty()) {
             titleMap.put("price", "单价");
             titleMap.put("amount", "金额");
         }