|
|
@@ -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);
|
|
|
+
|
|
|
/**
|
|
|
* 如单据为新建状态,则,先把单据强行删除掉
|
|
|
*/
|