hu 2 лет назад
Родитель
Сommit
238a793f37
1 измененных файлов с 21 добавлено и 3 удалено
  1. 21 3
      src/custom/restcontroller/webmanage/lsak3/stockbill/stockbill.java

+ 21 - 3
src/custom/restcontroller/webmanage/lsak3/stockbill/stockbill.java

@@ -2,6 +2,7 @@ package restcontroller.webmanage.lsak3.stockbill;
 
 import beans.accountbalance.Accountbalance;
 import beans.accountbalance.CashbillEntity;
+import beans.datacontrllog.DataContrlLog;
 import beans.parameter.Parameter;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -267,18 +268,35 @@ public class stockbill extends Controller {
         Rows stockbillrows =dbConnect.runSqlQuery("select st_stockbillid,status from st_stockbill where billno='"+fbillnum+"' and siteid='lsa1986'");
         ArrayList<String> sqldispatchitems =new ArrayList<>();
         if(stockbillrows.isNotEmpty()){
-            Rows stockbilldetailrows =dbConnect.runSqlQuery("select sa_dispatch_itemsid,sum(qty) qty from st_stockbill_items where st_stockbillid = "+stockbillrows.get(0).getLong("st_stockbillid")+" and siteid='lsa1986' group by sa_dispatch_itemsid");
+            Rows stockbilldetailrows =dbConnect.runSqlQuery("select t1.sa_dispatch_itemsid,sum(t1.qty) qty,t2.sa_dispatchid 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 t1.sa_dispatch_itemsid");
             if(stockbillrows.get(0).getString("status").equals("审核")){
                 for (Row row :stockbilldetailrows) {
-                    sqldispatchitems.add("update sa_dispatch_items set outwarehouseqty=outwarehouseqty+"+row.getBigDecimal("qty")+" where siteid='lsa1986' sa_dispatch_itemsid="+row.getLong("sa_dispatch_itemsid"));
+                    sqldispatchitems.add("update sa_dispatch_items set outwarehousedate=CURRENT_TIME,outwarehouseqty=outwarehouseqty+"+row.getBigDecimal("qty")+" where siteid='lsa1986' and sa_dispatch_itemsid="+row.getLong("sa_dispatch_itemsid"));
                 }
             }else{
                 for (Row row :stockbilldetailrows) {
-                    sqldispatchitems.add("update sa_dispatch_items set outwarehouseqty=outwarehouseqty-"+row.getBigDecimal("qty")+" where siteid='lsa1986' sa_dispatch_itemsid="+row.getLong("sa_dispatch_itemsid"));
+                    sqldispatchitems.add("update sa_dispatch_items set outwarehousedate=CURRENT_TIME,outwarehouseqty=outwarehouseqty-"+row.getBigDecimal("qty")+" where siteid='lsa1986' and sa_dispatch_itemsid="+row.getLong("sa_dispatch_itemsid"));
+                    sqldispatchitems.add("update sa_dispatch set closedate=null,closeby='',status='复核' where siteid='lsa1986' and sa_dispatchid="+row.getLong("sa_dispatch_itemsid"));
                 }
             }
         }
         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<>();
+        for (Row row:dispatchrows) {
+            sqldispatch.add("update sa_dispatch set status='关闭',closedate=current_time,closeby='admin' where sa_dispatchid='" + row.getLong("sa_dispatchid") + "' and siteid='lsa1986'");
+            SQLFactory sqlFactory = new SQLFactory(new DataContrlLog(), "数据操作日志新增");
+            sqlFactory.addParameter("ownertable", "sa_dispatch");
+            sqlFactory.addParameter("ownerid", row.getLong("sa_dispatchid"));
+            sqlFactory.addParameter("action", "自动关闭");
+            sqlFactory.addParameter("remarks", "发货单自动关闭成功");
+            sqlFactory.addParameter("actionuserid", "1");
+            sqlFactory.addParameter("actionby", "admin");
+            sqlFactory.addParameter("siteid", "lsa1986");
+            sqldispatch.add(sqlFactory.getSQL());
+        }
+        dbConnect.runSqlUpdate(sqldispatch);
 
         /**
          * 如单据为新建状态,则,先把单据强行删除掉