Browse Source

Merge remote-tracking branch 'origin/develop' into develop

沈静伟 2 years ago
parent
commit
6b38077992

+ 3 - 0
src/custom/restcontroller/webmanage/sale/databoard/SQL/工厂待发发货明细查询.sql

@@ -0,0 +1,3 @@
+select t1.sa_orderitemsid,sum( ifnull(t1.outwarehouseqty,0)) sumoutwarehouseqty
+from sa_dispatch_items t1
+where t1.siteid = $siteid$ AND t1.outwarehouseqty>0 and t1.sa_orderitemsid in $sa_orderitemsids$ group by t1.sa_orderitemsid

+ 0 - 10
src/custom/restcontroller/webmanage/sale/databoard/SQL/工厂待发明细查询.sql

@@ -1,10 +0,0 @@
-select t3.sonum,t3.billdate,t5.itemno,t5.itemname,t2.sa_orderitemsid,t4.price,
-t4.qty - sum( t2.outwarehouseqty ) undeliqty,
-(t4.qty - sum( t2.outwarehouseqty )) * t4.price undeliamount
-from sa_dispatch t1
-inner join sa_dispatch_items t2 on t1.siteid=t2.siteid and t1.sa_dispatchid=t2.sa_dispatchid
-inner join sa_order t3 on t1.siteid=t3.siteid and t1.sa_orderid=t3.sa_orderid and t3.status='审核'
-inner join sa_orderitems t4 on t3.siteid=t4.siteid and t3.sa_orderid=t4.sa_orderid and t2.sa_orderitemsid=t4.sa_orderitemsid
-inner join plm_item t5 on t4.siteid=t5.siteid and t4.itemid=t5.itemid
-where t1.siteid = $siteid$ AND t2.outwarehouseqty>0 and $where$
-GROUP BY t3.sonum,t3.billdate,t5.itemno,t5.itemname,t2.sa_orderitemsid,t4.price ,t4.qty having t4.qty - sum( t2.outwarehouseqty )  > 0

+ 5 - 0
src/custom/restcontroller/webmanage/sale/databoard/SQL/工厂待发订单明细查询.sql

@@ -0,0 +1,5 @@
+select t1.sonum,t1.billdate,t5.itemno,t5.itemname,t2.sa_orderitemsid,t2.price,t2.qty,t2.amount
+from sa_order t1
+inner join sa_orderitems t2 on t1.siteid=t2.siteid and t1.sa_orderid=t2.sa_orderid
+inner join plm_item t5 on t2.siteid=t5.siteid and t2.itemid=t5.itemid
+where t1.siteid = $siteid$ and t1.status='审核' and $where$

+ 27 - 5
src/custom/restcontroller/webmanage/sale/databoard/databoard.java

@@ -887,7 +887,7 @@ public class databoard extends Controller {
          */
         StringBuffer where = new StringBuffer(" 1=1 ");
         if (sys_enterpriseid > 0) {
-            where.append(" and t3.sys_enterpriseid=" + sys_enterpriseid);
+            where.append(" and t1.sys_enterpriseid=" + sys_enterpriseid);
 
         }
         if (content.containsKey("where")) {
@@ -900,17 +900,39 @@ public class databoard extends Controller {
             }
         }
 
-        SQLFactory factory = new SQLFactory(this, "工厂待发明细查询");
+        SQLFactory factory = new SQLFactory(this, "工厂待发订单明细查询");
         factory.addParameter("siteid", siteid);
         factory.addParameter_SQL("where", where);
         Rows rows = dbConnect.runSqlQuery(factory.getSQL(false));
 
-        SQLFactory sumfactory = new SQLFactory(this, "工厂待发合计金额及数量查询");
+        SQLFactory sumfactory = new SQLFactory(this, "工厂待发发货明细查询");
         sumfactory.addParameter("siteid", siteid);
-        sumfactory.addParameter_SQL("where", where);
+        sumfactory.addParameter_in("sa_orderitemsids", rows.toArrayList("sa_orderitemsid",new ArrayList<Long>()));
         Rows sumrows = dbConnect.runSqlQuery(sumfactory.getSQL(false));
+        RowsMap sumrowsMap =sumrows.toRowsMap("sa_orderitemsid");
+        BigDecimal sumundeliqty=BigDecimal.ZERO;
+        BigDecimal sumundeliamount=BigDecimal.ZERO;
+        for (Row row :rows) {
+            if(sumrowsMap.containsKey(row.getString("sa_orderitemsid"))){
+                row.put("undeliqty", row.getBigDecimal("qty").subtract(sumrowsMap.get(row.getString("sa_orderitemsid")).get(0).getBigDecimal("sumoutwarehouseqty")));
+                row.put("undeliamount", (row.getBigDecimal("qty").subtract(sumrowsMap.get(row.getString("sa_orderitemsid")).get(0).getBigDecimal("sumoutwarehouseqty"))).multiply(row.getBigDecimal("price")));
+                sumundeliqty=sumundeliqty.add(row.getBigDecimal("qty").subtract(sumrowsMap.get(row.getString("sa_orderitemsid")).get(0).getBigDecimal("sumoutwarehouseqty")));
+                sumundeliamount=sumundeliamount.add((row.getBigDecimal("qty").subtract(sumrowsMap.get(row.getString("sa_orderitemsid")).get(0).getBigDecimal("sumoutwarehouseqty"))).multiply(row.getBigDecimal("price")));
+            }else{
+                row.put("undeliqty",row.getBigDecimal("qty"));
+                row.put("undeliamount",row.getBigDecimal("amount"));
+                sumundeliqty=sumundeliqty.add(row.getBigDecimal("qty"));
+                sumundeliamount=sumundeliamount.add(row.getBigDecimal("amount"));
+            }
+
+        }
         if (rows.isNotEmpty()) {
-            rows.get(0).put("sumrows", sumrows);
+            Rows sumrowstotal= new Rows();
+            Row row =new Row();
+            row.put("sumundeliqty",sumundeliqty);
+            row.put("sumundeliamount",sumundeliamount);
+            sumrowstotal.add(row);
+            rows.get(0).put("sumrows", sumrowstotal);
         }
 
         return getSucReturnObject().setData(rows).toString();

+ 18 - 20
src/custom/restcontroller/webmanage/sale/dispatch/SQL/工厂发货及退货明细(经销商).sql

@@ -1,38 +1,37 @@
-select t.* from (SELECT t1.sa_dispatch_itemsid detailid,
-       t1.sa_dispatchid id,
+select t.* from (SELECT t1.st_stockbill_itemsid detailid,
+       t4.st_stockbillid id,
        t1.sa_orderitemsid,
        t4.billno,
        t4.status,
        t8.sa_orderid,
        t8.sonum,
        '发货' type,
-			 t1.outwarehousedate date,
+			 t4.checkdate date,
        t2.itemno,
        t2.itemname,
        t3.unitname,
-       ifnull(t1.outwarehouseqty, 0) qty,
-       t5.price,
-       cast((ifnull(t1.outwarehouseqty, 0) * t5.price) AS CHAR) amount,
+       ifnull(t1.qty, 0) qty,
+       t1.price,
+       t1.amount,
 			 t2.packageqty,
        t1.remarks
-FROM sa_dispatch_items t1
+FROM st_stockbill_items t1
          left join plm_item t2 on t1.itemid = t2.itemid and t1.siteid = t2.siteid
          LEFT JOIN plm_unit t3 ON t3.unitid = t2.unitid AND t3.siteid = t2.siteid
-         LEFT JOIN sa_dispatch t4 ON t4.sa_dispatchid = t1.sa_dispatchid AND t4.siteid = t1.siteid
-         left join sa_orderitems t5 on t1.sa_orderitemsid = t5.sa_orderitemsid and t1.siteid = t5.siteid
-         left join sa_order t8 on t8.sa_orderid=t5.sa_orderid and t8.siteid=t5.siteid
+         LEFT JOIN st_stockbill t4 ON t4.st_stockbillid = t1.st_stockbillid AND t4.siteid = t1.siteid
+         left join sa_order t8 on t8.sa_orderid=t1.sa_orderid and t8.siteid=t1.siteid
          left join plm_itemextend t6 on t2.siteid = t6.siteid and t2.itemid = t6.itemid
-where t1.siteid = $siteid$ and t4.sys_enterpriseid=$sys_enterpriseid$ and ifnull(t1.outwarehouseqty, 0)>0
+where t4.rb=1 and t1.siteid = $siteid$ and t4.sys_enterpriseid=$sys_enterpriseid$
 union all
-SELECT t1.sa_aftersalesmag_itemsid detailid,
-       t1.sa_aftersalesmagid id,
+SELECT t1.st_stockbill_itemsid detailid,
+       t4.st_stockbillid id,
        t1.sa_orderitemsid,
        t4.billno,
        t4.status,
        t8.sa_orderid,
        t8.sonum,
        '退货' type,
-			 t4.recheckdate date,
+			 t4.checkdate date,
        t2.itemno,
        t2.itemname,
        t3.unitname,
@@ -40,12 +39,11 @@ SELECT t1.sa_aftersalesmag_itemsid detailid,
        t1.price,
        t1.amount,
 			 t2.packageqty,
-       t1.reason remarks
-FROM sa_aftersalesmag_items t1
+       t1.remarks
+FROM st_stockbill_items t1
          left join plm_item t2 on t1.itemid = t2.itemid and t1.siteid = t2.siteid
          LEFT JOIN plm_unit t3 ON t3.unitid = t2.unitid AND t3.siteid = t2.siteid
-         LEFT JOIN sa_aftersalesmag t4 ON t4.sa_aftersalesmagid = t1.sa_aftersalesmagid AND t4.siteid = t1.siteid
-         left join sa_orderitems t5 on t1.sa_orderitemsid = t5.sa_orderitemsid and t1.siteid = t5.siteid
-         left join sa_order t8 on t8.sa_orderid=t5.sa_orderid and t8.siteid=t5.siteid
+         LEFT JOIN st_stockbill t4 ON t4.st_stockbillid = t1.st_stockbillid AND t4.siteid = t1.siteid
+         left join sa_order t8 on t8.sa_orderid=t1.sa_orderid and t8.siteid=t1.siteid
          left join plm_itemextend t6 on t2.siteid = t6.siteid and t2.itemid = t6.itemid
-where t1.siteid = $siteid$ and t4.type='退货单' and t4.status='复核' and t4.sys_enterpriseid=$sys_enterpriseid$) t where $where$
+where t4.rb=0 and  t1.siteid = $siteid$ and t4.sys_enterpriseid=$sys_enterpriseid$) t where $where$

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

@@ -486,16 +486,16 @@ public class dispatchItems extends Controller {
         }
         boolean isExport = content.getBooleanValue("isExport");
         SQLFactory sqlFactory = new SQLFactory(this, "工厂发货及退货明细(经销商)", pageSize, pageNumber, pageSorting);
-        if (isExport) {
-            sqlFactory = new SQLFactory(this, "工厂发货及退货明细(经销商)");
-        }
+//        if (isExport) {
+//            sqlFactory = new SQLFactory(this, "工厂发货及退货明细(经销商)");
+//        }
         sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
         sqlFactory.addParameter_SQL("where", where);
         sqlFactory.addParameter("siteid", siteid);
         Rows rows = dbConnect.runSqlQuery(sqlFactory);
 
 
-        if (isExport) {
+//        if (isExport) {
 //            //去除不需要导出项
 //            rows.getFieldList().remove("sa_dispatch_itemsid");
 //            rows.getFieldList().remove("sa_dispatchid");
@@ -516,7 +516,7 @@ public class dispatchItems extends Controller {
 //            rows.getFieldList().remove("outwarehousedate");
 //            Rows uploadRows = uploadExcelToObs("dispatch", "发货单明细列表", rows, getTitleMap());
 //            return getSucReturnObject().setData(uploadRows).toString();
-        }
+//       }
         return getSucReturnObject().setData(rows).toString();
     }