Просмотр исходного кода

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

沈静伟 2 лет назад
Родитель
Сommit
f0c6eaef20

+ 34 - 0
src/custom/restcontroller/webmanage/lsak3/stockbill/stockbill.java

@@ -281,6 +281,8 @@ public class stockbill extends Controller {
             }
         }
         dbConnect.runSqlUpdate(sqldispatchitems);
+
+
         //查询可关闭的发货单
         Rows dispatchrows =dbConnect.runSqlQuery( "select t.sa_dispatchid from (select t2.sa_dispatchid,sum(t2.qty) sumqty,sum(outwarehouseqty) sumoutwarehouseqty from st_stockbill_items t1 inner join  sa_dispatch_items t2 on t1.sa_dispatch_itemsid=t2.sa_dispatch_itemsid and t1.siteid=t2.siteid where t1.st_stockbillid = "+stockbillrows.get(0).getLong("st_stockbillid")+" and t1.siteid='lsa1986' group by t2.sa_dispatchid) t where t.sumqty=t.sumoutwarehouseqty");
         ArrayList<String>  sqldispatch =new ArrayList<>();
@@ -298,6 +300,38 @@ public class stockbill extends Controller {
         }
         dbConnect.runSqlUpdate(sqldispatch);
 
+
+        //查询可关闭的订单
+        //订单出库总数量
+        Rows orderinstockrows =dbConnect.runSqlQuery( "select t1.sa_orderid,t1.siteid,sum(ifnull(t2.outwarehouseqty,0)) sumoutwarehouseqty from sa_orderitems t1 left join sa_dispatch_items t2 on t1.sa_orderitemsid=t2.sa_orderitemsid and t1.siteid=t2.siteid where  t1.sa_orderid in(select t3.sa_orderid from st_stockbill_items t1 inner join  sa_dispatch_items t2 on t1.sa_dispatch_itemsid=t2.sa_dispatch_itemsid and t1.siteid=t2.siteid inner join sa_orderitems t3 on t2.sa_orderitemsid=t3.sa_orderitemsid and t2.siteid=t3.siteid  where t1.st_stockbillid ="+stockbillrows.get(0).getLong("st_stockbillid")+" and t1.siteid='lsa1986')   group by t1.sa_orderid,t1.siteid");
+        //订单总数量
+        Rows ordersumrows =dbConnect.runSqlQuery( "select t1.sa_orderid,t1.siteid,sum(qty) sumqty from sa_orderitems t1  where  t1.sa_orderid in(select t3.sa_orderid from st_stockbill_items t1 inner join  sa_dispatch_items t2 on t1.sa_dispatch_itemsid=t2.sa_dispatch_itemsid and t1.siteid=t2.siteid inner join sa_orderitems t3 on t2.sa_orderitemsid=t3.sa_orderitemsid and t2.siteid=t3.siteid  where t1.st_stockbillid ="+stockbillrows.get(0).getLong("st_stockbillid")+" and t1.siteid='lsa1986')   group by t1.sa_orderid,t1.siteid");
+        RowsMap orderinstockRowsMap = orderinstockrows.toRowsMap("sa_orderid");
+
+
+        ArrayList<String>  sqlorder =new ArrayList<>();
+        for (Row row:ordersumrows) {
+            if(orderinstockRowsMap.containsKey(row.getString("sa_orderid"))){
+                if(orderinstockRowsMap.get(row.getString("sa_orderid")).get(0).getBigDecimal("sumoutwarehouseqty").compareTo(row.getBigDecimal("sumqty"))==0){
+                    sqlorder.add("update sa_order set status='关闭',closedate=current_time,closeby='admin' where sa_orderid='" + row.getLong("sa_orderid") + "' and siteid='lsa1986'");
+                }else {
+                    sqlorder.add("update sa_order set status='审核',closedate=null,closeby='' where sa_orderid='" + row.getLong("sa_orderid") + "' and siteid='lsa1986'");
+                }
+            }else {
+                sqlorder.add("update sa_order set status='审核',closedate=null,closeby='' where sa_orderid='" + row.getLong("sa_orderid") + "' and siteid='lsa1986'");
+            }
+            SQLFactory sqlFactory = new SQLFactory(new DataContrlLog(), "数据操作日志新增");
+            sqlFactory.addParameter("ownertable", "sa_order");
+            sqlFactory.addParameter("ownerid", row.getLong("sa_orderid"));
+            sqlFactory.addParameter("action", "自动关闭");
+            sqlFactory.addParameter("remarks", "订单自动关闭成功");
+            sqlFactory.addParameter("actionuserid", "1");
+            sqlFactory.addParameter("actionby", "admin");
+            sqlFactory.addParameter("siteid", "lsa1986");
+            sqlorder.add(sqlFactory.getSQL());
+        }
+        dbConnect.runSqlUpdate(sqlorder);
+
         /**
          * 如单据为新建状态,则,先把单据强行删除掉
          */

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
src/custom/restcontroller/webmanage/sale/databoard/SQL/战区数据_区域.sql


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
src/custom/restcontroller/webmanage/sale/databoard/SQL/战区数据_经销商.sql


+ 6 - 2
src/custom/restcontroller/webmanage/sale/logistics/LSALogistics.java

@@ -42,6 +42,10 @@ public class LSALogistics extends Controller {
         Long sys_enterpriseid = content.getLong("sys_enterpriseid");
         //出入库表货品明细
         JSONArray items = content.getJSONArray("items");
+        String billdate = content.getStringValue("billdate");
+        if(billdate.equals("")){
+            return getErrReturnObject().setErrMsg("单据日期不能为空").toString();
+        }
 
         ArrayList<String> sqlList = new ArrayList<>();
         if (sys_enterpriseid <= 0 || isEnterpriseEmpty(this)) {
@@ -153,7 +157,7 @@ public class LSALogistics extends Controller {
         querySQL.setTableAlias("t1");
 
         querySQL.addJoinTable(JOINTYPE.left, "st_stockbill_items", "t2", "t2.st_stockbill_itemsid=t1.st_stockbill_itemsid and t2.siteid=t1.siteid",
-                "rowno","itemid", "itemno", "itemname", "model", "unit", "price", "amount", "remarks");
+                "rowno", "itemid", "itemno", "itemname", "model", "unit", "price", "amount", "remarks");
         querySQL.addJoinTable(JOINTYPE.left, "st_stockbill", "t3", "t3.st_stockbillid =t2.st_stockbillid and t3.siteid=t2.siteid",
                 "billno");
         querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t4", "t4.itemid =t2.itemid and t4.siteid=t2.siteid",
@@ -202,7 +206,7 @@ public class LSALogistics extends Controller {
         querySQL.setWhere("t1.siteid='" + siteid + "'");
         querySQL.setWhere("t2.sys_enterpriseid=" + sys_enterpriseid);
         querySQL.setWhere("t2.status='审核'");
-        querySQL.setWhere("t1.transportqty<qty");
+        querySQL.setWhere("ifnull(t1.transportqty,0)<qty");
         querySQL.setWhere("NOT EXISTS(SELECT 1 from sa_logistics_items WHERE sa_logisticsid=" + sa_logisticsid + " and st_stockbill_itemsid=t1.st_stockbill_itemsid)");
         querySQL.setWhere(where.toString());
         querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting);

Некоторые файлы не были показаны из-за большого количества измененных файлов