|
|
@@ -129,6 +129,9 @@ public class stockbill extends Controller {
|
|
|
RowsMap itemRowsMap =rows.toRowsMap("itemno");
|
|
|
Rows distiptchRows = dbConnect.runSqlQuery("select t2.price,t1.sa_dispatch_itemsid from sa_dispatch_items t1 inner join sa_orderitems t2 on t1.sa_orderitemsid=t2.sa_orderitemsid and t1.siteid=t2.siteid inner join sa_dispatch t3 on t1.sa_dispatchid=t3.sa_dispatchid and t1.siteid=t3.siteid where t3.status in('审核','复核','关闭') and t1.siteid='lsa1986' and t1.sa_dispatch_itemsid in "+sa_dispatch_itemsids.toString().replace("[", "(").replace("]", ")"));
|
|
|
RowsMap distiptchRowsMap =distiptchRows.toRowsMap("sa_dispatch_itemsid");
|
|
|
+
|
|
|
+ Rows aftersalesmagRows = dbConnect.runSqlQuery("select t1.price,t1.sa_aftersalesmag_itemsid from sa_aftersalesmag_items t1 where t1.siteid='lsa1986' and t1.sa_aftersalesmag_itemsid in "+sa_dispatch_itemsids.toString().replace("[", "(").replace("]", ")"));
|
|
|
+ RowsMap aftersalesmagRowsMap =distiptchRows.toRowsMap("sa_aftersalesmag_itemsid");
|
|
|
BigDecimal amountTotal=BigDecimal.ZERO;
|
|
|
for (Object object:detailarray) {
|
|
|
JSONObject jsonObject = (JSONObject)object;
|
|
|
@@ -156,68 +159,79 @@ public class stockbill extends Controller {
|
|
|
sqlFactorydetail.addParameter("remarks", fdetailnotes);
|
|
|
sqlFactorydetail.addParameter("qty", fqty);
|
|
|
|
|
|
- if(distiptchRowsMap.containsKey(String.valueOf(sainvoicedetailid)) && distiptchRowsMap.get(sainvoicedetailid).isNotEmpty()){
|
|
|
- sqlFactorydetail.addParameter("price", distiptchRowsMap.get(sainvoicedetailid).get(0).getBigDecimal("price"));
|
|
|
- sqlFactorydetail.addParameter("amount", fqty.multiply(distiptchRowsMap.get(sainvoicedetailid).get(0).getBigDecimal("price")));
|
|
|
- amountTotal=amountTotal.add(fqty.multiply(distiptchRowsMap.get(sainvoicedetailid).get(0).getBigDecimal("price")));
|
|
|
- System.out.println(amountTotal);
|
|
|
+ if(frb.equals("蓝")){
|
|
|
+ if(distiptchRowsMap.containsKey(String.valueOf(sainvoicedetailid)) && distiptchRowsMap.get(sainvoicedetailid).isNotEmpty()){
|
|
|
+ sqlFactorydetail.addParameter("price", distiptchRowsMap.get(sainvoicedetailid).get(0).getBigDecimal("price"));
|
|
|
+ amountTotal=amountTotal.add(fqty.multiply(distiptchRowsMap.get(sainvoicedetailid).get(0).getBigDecimal("price")));
|
|
|
+ sqlFactorydetail.addParameter("amount", fqty.multiply(distiptchRowsMap.get(sainvoicedetailid).get(0).getBigDecimal("price")));
|
|
|
+ System.out.println(amountTotal);
|
|
|
+ }else{
|
|
|
+ sqlFactorydetail.addParameter("price", 0);
|
|
|
+ sqlFactorydetail.addParameter("amount", 0);
|
|
|
+ }
|
|
|
}else{
|
|
|
- sqlFactorydetail.addParameter("price", 0);
|
|
|
- sqlFactorydetail.addParameter("amount", 0);
|
|
|
+ if(aftersalesmagRowsMap.containsKey(String.valueOf(sainvoicedetailid)) && aftersalesmagRowsMap.get(sainvoicedetailid).isNotEmpty()){
|
|
|
+ sqlFactorydetail.addParameter("price", aftersalesmagRowsMap.get(sainvoicedetailid).get(0).getBigDecimal("price"));
|
|
|
+ sqlFactorydetail.addParameter("amount", fqty.multiply(aftersalesmagRowsMap.get(sainvoicedetailid).get(0).getBigDecimal("price")));
|
|
|
+ }else{
|
|
|
+ sqlFactorydetail.addParameter("price", 0);
|
|
|
+ sqlFactorydetail.addParameter("amount", 0);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
sqlList.add(sqlFactorydetail.getSQL());
|
|
|
}
|
|
|
- //销售出库单审核逻辑待添加
|
|
|
+ if(frb.equals("蓝")){
|
|
|
+ BigDecimal billamount =BigDecimal.ZERO;
|
|
|
+ //返利比例
|
|
|
+ String icstockbillrebateaccount = Parameter.get(siteid,"icstockbillrebateaccount"); //经销商销售出库单返利账户
|
|
|
+ String icstockbillrebaterate1 = Parameter.get(siteid,"icstockbillrebaterate"); //销售出库单返利比例
|
|
|
+ if(!StringUtils.isBlank(icstockbillrebateaccount) && !StringUtils.isBlank(icstockbillrebaterate1)){
|
|
|
+ BigDecimal icstockbillrebaterate =new BigDecimal(icstockbillrebaterate1);
|
|
|
+ //经销商返利
|
|
|
+ BigDecimal rebateamount = icstockbillrebaterate.multiply(amountTotal);
|
|
|
+ System.out.println(rebateamount);
|
|
|
+ CashbillEntity entity = new CashbillEntity();
|
|
|
+ entity.setAmount(rebateamount);
|
|
|
+ entity.setOwnerid(st_stockbillid);
|
|
|
+ entity.setOwnertable("st_stockbill");
|
|
|
+ entity.setSource("");
|
|
|
+ entity.setRemarks("销售出库单" + fbillnum + "返利");
|
|
|
+ sqlList.addAll(Accountbalance.createCashbillIncome(this,sys_enterpriseid,Long.valueOf(icstockbillrebateaccount).longValue(),entity,true));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ sqlList.add("update st_stockbill set status='审核',checkby='"+checkby+"',checkdate=CURRENT_TIMESTAMP where st_stockbillid = "+st_stockbillid+" and siteid='lsa1986'");
|
|
|
|
|
|
- BigDecimal billamount =BigDecimal.ZERO;
|
|
|
|
|
|
+ }else if (!stockbillRows.isEmpty() && "0".equals(isdelete) && "审核".equals(fstatus)) {
|
|
|
+ /**
|
|
|
+ * DRP存在销售出库单,且中间表状态为审核且不在删除状态时,DRP中需将当前销售出库单先反审核,修改内容后再进行审核
|
|
|
+ */
|
|
|
+ //销售出库单反审核逻辑待添加
|
|
|
+ if(frb.equals("蓝")){
|
|
|
+ BigDecimal billamount =BigDecimal.ZERO;
|
|
|
+ Rows stockbilldetails = dbConnect.runSqlQuery("select * from st_stockbill_items where st_stockbillid ='"
|
|
|
+ + stockbillRows.get(0).getLong("st_stockbillid") + "' and siteid='" + siteid + "'");
|
|
|
+ for (Row row :stockbilldetails) {
|
|
|
+ billamount=billamount.add(row.getBigDecimal("amount").abs().negate());
|
|
|
+ }
|
|
|
|
|
|
- //返利比例
|
|
|
- String icstockbillrebateaccount = Parameter.get(siteid,"icstockbillrebateaccount"); //经销商销售出库单返利账户
|
|
|
- String icstockbillrebaterate1 = Parameter.get(siteid,"icstockbillrebaterate"); //销售出库单返利比例
|
|
|
- if(!StringUtils.isBlank(icstockbillrebateaccount) && !StringUtils.isBlank(icstockbillrebaterate1)){
|
|
|
+ //返利比例
|
|
|
+ String icstockbillrebateaccount = Parameter.get(siteid,"icstockbillrebateaccount"); //经销商销售出库单返利账户
|
|
|
+ String icstockbillrebaterate1 = Parameter.get(siteid,"icstockbillrebaterate"); //销售出库单返利比例
|
|
|
BigDecimal icstockbillrebaterate =new BigDecimal(icstockbillrebaterate1);
|
|
|
//经销商返利
|
|
|
- BigDecimal rebateamount = icstockbillrebaterate.multiply(amountTotal);
|
|
|
- System.out.println(rebateamount);
|
|
|
+ BigDecimal rebateamount = icstockbillrebaterate.multiply(billamount);
|
|
|
+
|
|
|
CashbillEntity entity = new CashbillEntity();
|
|
|
entity.setAmount(rebateamount);
|
|
|
- entity.setOwnerid(st_stockbillid);
|
|
|
+ entity.setOwnerid(stockbillRows.get(0).getLong("st_stockbillid"));
|
|
|
entity.setOwnertable("st_stockbill");
|
|
|
entity.setSource("");
|
|
|
- entity.setRemarks("销售出库单" + fbillnum + "返利");
|
|
|
+ entity.setRemarks("销售出库单" + fbillnum + "反返利");
|
|
|
sqlList.addAll(Accountbalance.createCashbillIncome(this,sys_enterpriseid,Long.valueOf(icstockbillrebateaccount).longValue(),entity,true));
|
|
|
}
|
|
|
- sqlList.add("update st_stockbill set status='审核',checkby='"+checkby+"',checkdate=CURRENT_TIMESTAMP where st_stockbillid = "+st_stockbillid+" and siteid='lsa1986'");
|
|
|
-
|
|
|
-
|
|
|
- }else if (!stockbillRows.isEmpty() && "0".equals(isdelete) && "审核".equals(fstatus)) {
|
|
|
- /**
|
|
|
- * DRP存在销售出库单,且中间表状态为审核且不在删除状态时,DRP中需将当前销售出库单先反审核,修改内容后再进行审核
|
|
|
- */
|
|
|
- //销售出库单反审核逻辑待添加
|
|
|
- BigDecimal billamount =BigDecimal.ZERO;
|
|
|
- Rows stockbilldetails = dbConnect.runSqlQuery("select * from st_stockbill_items where st_stockbillid ='"
|
|
|
- + stockbillRows.get(0).getLong("st_stockbillid") + "' and siteid='" + siteid + "'");
|
|
|
- for (Row row :stockbilldetails) {
|
|
|
- billamount=billamount.add(row.getBigDecimal("amount").abs().negate());
|
|
|
- }
|
|
|
-
|
|
|
- //返利比例
|
|
|
- String icstockbillrebateaccount = Parameter.get(siteid,"icstockbillrebateaccount"); //经销商销售出库单返利账户
|
|
|
- String icstockbillrebaterate1 = Parameter.get(siteid,"icstockbillrebaterate"); //销售出库单返利比例
|
|
|
- BigDecimal icstockbillrebaterate =new BigDecimal(icstockbillrebaterate1);
|
|
|
- //经销商返利
|
|
|
- BigDecimal rebateamount = icstockbillrebaterate.multiply(billamount);
|
|
|
-
|
|
|
- CashbillEntity entity = new CashbillEntity();
|
|
|
- entity.setAmount(rebateamount);
|
|
|
- entity.setOwnerid(stockbillRows.get(0).getLong("st_stockbillid"));
|
|
|
- entity.setOwnertable("st_stockbill");
|
|
|
- entity.setSource("");
|
|
|
- entity.setRemarks("销售出库单" + fbillnum + "反返利");
|
|
|
- sqlList.addAll(Accountbalance.createCashbillIncome(this,sys_enterpriseid,Long.valueOf(icstockbillrebateaccount).longValue(),entity,true));
|
|
|
|
|
|
sqlList.add("update st_stockbill set status='新建',checkby='',checkdate=null where st_stockbillid = "+stockbillRows.get(0).getLong("st_stockbillid")+" and siteid='lsa1986'");
|
|
|
msg = "DRP单据状态为审核,现已反审核,下次同步时进行审核操作";
|
|
|
@@ -227,34 +241,34 @@ public class stockbill extends Controller {
|
|
|
* DRP存在收入凭证,且中间表状态为新建或在删除状态时,DRP中需将当前收入销售出库单先反审核
|
|
|
*/
|
|
|
//销售出库单反审核逻辑待添加
|
|
|
- BigDecimal billamount =BigDecimal.ZERO;
|
|
|
- Rows stockbilldetails = dbConnect.runSqlQuery("select * from st_stockbill_items where st_stockbillid ='"
|
|
|
- + stockbillRows.get(0).getLong("st_stockbillid") + "' and siteid='" + siteid + "'");
|
|
|
- for (Row row :stockbilldetails) {
|
|
|
- billamount=billamount.add(row.getBigDecimal("amount").abs().negate());
|
|
|
+ if(frb.equals("蓝")){
|
|
|
+ BigDecimal billamount =BigDecimal.ZERO;
|
|
|
+ Rows stockbilldetails = dbConnect.runSqlQuery("select * from st_stockbill_items where st_stockbillid ='"
|
|
|
+ + stockbillRows.get(0).getLong("st_stockbillid") + "' and siteid='" + siteid + "'");
|
|
|
+ for (Row row :stockbilldetails) {
|
|
|
+ billamount=billamount.add(row.getBigDecimal("amount").abs().negate());
|
|
|
+ }
|
|
|
+
|
|
|
+ //返利比例
|
|
|
+ String icstockbillrebateaccount = Parameter.get(siteid,"icstockbillrebateaccount"); //经销商销售出库单返利账户
|
|
|
+ String icstockbillrebaterate1 = Parameter.get(siteid,"icstockbillrebaterate"); //销售出库单返利比例
|
|
|
+ BigDecimal icstockbillrebaterate =new BigDecimal(icstockbillrebaterate1);
|
|
|
+ //经销商返利
|
|
|
+ BigDecimal rebateamount = icstockbillrebaterate.multiply(billamount);
|
|
|
+
|
|
|
+ CashbillEntity entity = new CashbillEntity();
|
|
|
+ entity.setAmount(rebateamount);
|
|
|
+ entity.setOwnerid(stockbillRows.get(0).getLong("st_stockbillid"));
|
|
|
+ entity.setOwnertable("st_stockbill");
|
|
|
+ entity.setSource("");
|
|
|
+ entity.setRemarks("销售出库单" + fbillnum + "反返利");
|
|
|
+ sqlList.addAll(Accountbalance.createCashbillIncome(this,sys_enterpriseid,Long.valueOf(icstockbillrebateaccount).longValue(),entity,true));
|
|
|
}
|
|
|
|
|
|
- //返利比例
|
|
|
- String icstockbillrebateaccount = Parameter.get(siteid,"icstockbillrebateaccount"); //经销商销售出库单返利账户
|
|
|
- String icstockbillrebaterate1 = Parameter.get(siteid,"icstockbillrebaterate"); //销售出库单返利比例
|
|
|
- BigDecimal icstockbillrebaterate =new BigDecimal(icstockbillrebaterate1);
|
|
|
- //经销商返利
|
|
|
- BigDecimal rebateamount = icstockbillrebaterate.multiply(billamount);
|
|
|
-
|
|
|
- CashbillEntity entity = new CashbillEntity();
|
|
|
- entity.setAmount(rebateamount);
|
|
|
- entity.setOwnerid(stockbillRows.get(0).getLong("st_stockbillid"));
|
|
|
- entity.setOwnertable("st_stockbill");
|
|
|
- entity.setSource("");
|
|
|
- entity.setRemarks("销售出库单" + fbillnum + "反返利");
|
|
|
- sqlList.addAll(Accountbalance.createCashbillIncome(this,sys_enterpriseid,Long.valueOf(icstockbillrebateaccount).longValue(),entity,true));
|
|
|
-
|
|
|
sqlList.add("update st_stockbill set status='新建',checkby='',checkdate=null where st_stockbillid = "+stockbillRows.get(0).getLong("st_stockbillid")+" and siteid='lsa1986'");
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
dbConnect.runSqlUpdate(sqlList);
|
|
|
/**
|
|
|
* 更新发货单数量
|
|
|
@@ -269,10 +283,10 @@ public class stockbill extends Controller {
|
|
|
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 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_dispatchid"));
|
|
|
- }
|
|
|
+// for (Row row :stockbilldetailrows) {
|
|
|
+// 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_dispatchid"));
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
}else{
|
|
|
@@ -282,75 +296,76 @@ public class stockbill extends Controller {
|
|
|
sqldispatchitems.add("update sa_dispatch set closedate=null,closeby='',status='复核' where siteid='lsa1986' and sa_dispatchid="+row.getLong("sa_dispatchid"));
|
|
|
}
|
|
|
}else{
|
|
|
- for (Row row :stockbilldetailrows) {
|
|
|
- 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"));
|
|
|
- }
|
|
|
+// for (Row row :stockbilldetailrows) {
|
|
|
+// 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"));
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
dbConnect.runSqlUpdate(sqldispatchitems);
|
|
|
|
|
|
+ if(frb.equals("蓝")){
|
|
|
+ //查询可关闭的发货单
|
|
|
+ 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");
|
|
|
+ Rows undispatchrows =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(this, "数据操作日志新增");
|
|
|
+ sqlFactory.addParameter("sys_contrllogid", createTableID("sys_contrllog"));
|
|
|
+ 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());
|
|
|
+ }
|
|
|
+ for (Row row:undispatchrows) {
|
|
|
+ sqldispatch.add("update sa_dispatch set status='复核',closedate=null,closeby='' where sa_dispatchid='" + row.getLong("sa_dispatchid") + "' and siteid='lsa1986'");
|
|
|
+ sqldispatch.add("delete from sys_contrllog where ownertable='sa_dispatch' and action='自动关闭' and ownerid='" + row.getLong("sa_dispatchid") + "' and siteid='lsa1986'");
|
|
|
+ }
|
|
|
|
|
|
- //查询可关闭的发货单
|
|
|
- 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");
|
|
|
- Rows undispatchrows =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(this, "数据操作日志新增");
|
|
|
- sqlFactory.addParameter("sys_contrllogid", createTableID("sys_contrllog"));
|
|
|
- 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());
|
|
|
- }
|
|
|
- for (Row row:undispatchrows) {
|
|
|
- sqldispatch.add("update sa_dispatch set status='复核',closedate=null,closeby='' where sa_dispatchid='" + row.getLong("sa_dispatchid") + "' and siteid='lsa1986'");
|
|
|
- sqldispatch.add("delete from sys_contrllog where ownertable='sa_dispatch' and action='自动关闭' and ownerid='" + row.getLong("sa_dispatchid") + "' and siteid='lsa1986'");
|
|
|
- }
|
|
|
-
|
|
|
- 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'");
|
|
|
- SQLFactory sqlFactory = new SQLFactory(this, "数据操作日志新增");
|
|
|
- sqlFactory.addParameter("sys_contrllogid", createTableID("sys_contrllog"));
|
|
|
- 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(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'");
|
|
|
+ SQLFactory sqlFactory = new SQLFactory(this, "数据操作日志新增");
|
|
|
+ sqlFactory.addParameter("sys_contrllogid", createTableID("sys_contrllog"));
|
|
|
+ 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());
|
|
|
+ }else {
|
|
|
+ sqlorder.add("update sa_order set status='审核',closedate=null,closeby='' where sa_orderid='" + row.getLong("sa_orderid") + "' and siteid='lsa1986'");
|
|
|
+ sqlorder.add("delete from sys_contrllog where ownertable='sa_order' and action='自动关闭' and ownerid='" + 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'");
|
|
|
sqlorder.add("delete from sys_contrllog where ownertable='sa_order' and action='自动关闭' and ownerid='" + 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'");
|
|
|
- sqlorder.add("delete from sys_contrllog where ownertable='sa_order' and action='自动关闭' and ownerid='" + row.getLong("sa_orderid") + "' and siteid='lsa1986'");
|
|
|
+
|
|
|
}
|
|
|
+ dbConnect.runSqlUpdate(sqlorder);
|
|
|
|
|
|
}
|
|
|
- dbConnect.runSqlUpdate(sqlorder);
|
|
|
|
|
|
/**
|
|
|
* 如单据为新建状态,则,先把单据强行删除掉
|