|
@@ -192,88 +192,91 @@ public class DispatchAutoCloseService extends ServiceController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //自动关闭erp发货单接口不成功,则手动关闭e订货的发货单(但状态为关闭)
|
|
|
- ArrayList<String> uncloseSqlList = new ArrayList<>();
|
|
|
- if (unclosedispatchids.size() > 0) {
|
|
|
- for (Object object : unclosedispatchids) {
|
|
|
- Long sa_dispatchid = Long.valueOf(object.toString());
|
|
|
- String billno = "";
|
|
|
- Rows dispatchRows = dbConnect.runSqlQuery("select * from sa_dispatch where sa_dispatchid=" + sa_dispatchid + " and siteid='" + siteid + "'");
|
|
|
- if (!dispatchRows.isEmpty()) {
|
|
|
- billno = dispatchRows.get(0).getString("billno");
|
|
|
- } else {
|
|
|
- logger.info("发货单" + sa_dispatchid + "不存在:");
|
|
|
- continue;
|
|
|
- }
|
|
|
- //手工关闭发货单
|
|
|
- JSONObject jsonobject = new JSONObject();
|
|
|
- JSONObject objectdetail = new JSONObject();
|
|
|
- jsonobject.put("access_token", "basicDrp");
|
|
|
- jsonobject.put("classname", "Sainvoice");
|
|
|
- jsonobject.put("method", "closeSainvoice");
|
|
|
- objectdetail.put("finvonum", billno);
|
|
|
- objectdetail.put("isManual", true);
|
|
|
- jsonobject.put("content", objectdetail);
|
|
|
-
|
|
|
- HashMap<String, String> map = new HashMap<>();
|
|
|
- map.put("content-Type", "application/json");
|
|
|
- String result = new WebRequest().doPost(jsonobject.toString(), erpDocking.getUrl(), map);
|
|
|
- JSONObject resultobject = JSONObject.parseObject(result);
|
|
|
- if (resultobject.getString("errcode").equals("0")) {
|
|
|
- Rows rowsOrderDetail = dbConnect.runSqlQuery("select t1.undeliqty,t1.deliedqty,t1.qty,t1.sa_orderitemsid from sa_orderitems t1 where t1.sa_orderitemsid in (select sa_orderitemsid from sa_dispatch_items where sa_dispatchid=" + sa_dispatchid + ")");
|
|
|
- RowsMap rowsOrderDetailMap = rowsOrderDetail.toRowsMap("sa_orderitemsid");
|
|
|
- Rows rowsDispatchDetailGroup = dbConnect.runSqlQuery("select sum(t1.qty) qty,sum(t1.outwarehouseqty) outwarehouseqty,t1.sa_orderitemsid,t1.siteid from sa_dispatch_items t1 left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid where ifnull(t1.isclose,0)=0 and t1.sa_dispatchid=" + sa_dispatchid + " group by t1.sa_orderitemsid,t1.siteid");
|
|
|
- if (!rowsDispatchDetailGroup.isEmpty()) {
|
|
|
- for (Row row : rowsDispatchDetailGroup) {
|
|
|
- logger.info("测试bug:" + "update sa_orderitems set undeliqty=" + rowsOrderDetailMap.get(row.getLong("sa_orderitemsid")).get(0).getBigDecimal("undeliqty").add(row.getBigDecimal("qty").subtract(row.getBigDecimal("outwarehouseqty"))) + ",deliedqty=" + rowsOrderDetailMap.get(row.getLong("sa_orderitemsid")).get(0).getBigDecimal("deliedqty").subtract(row.getBigDecimal("qty").subtract(row.getBigDecimal("outwarehouseqty"))) + " where sa_orderitemsid=" + row.getLong("sa_orderitemsid"));
|
|
|
- uncloseSqlList.add("update sa_orderitems set undeliqty=" + rowsOrderDetailMap.get(row.getLong("sa_orderitemsid")).get(0).getBigDecimal("undeliqty").add(row.getBigDecimal("qty").subtract(row.getBigDecimal("outwarehouseqty"))) + ",deliedqty=" + rowsOrderDetailMap.get(row.getLong("sa_orderitemsid")).get(0).getBigDecimal("deliedqty").subtract(row.getBigDecimal("qty").subtract(row.getBigDecimal("outwarehouseqty"))) + " where sa_orderitemsid=" + row.getLong("sa_orderitemsid"));
|
|
|
- }
|
|
|
+ if(siteid.equalsIgnoreCase("CCYOSG")){
|
|
|
+ //自动关闭erp发货单接口不成功,则手动关闭e订货的发货单(但状态为关闭)
|
|
|
+ ArrayList<String> uncloseSqlList = new ArrayList<>();
|
|
|
+ if (unclosedispatchids.size() > 0) {
|
|
|
+ for (Object object : unclosedispatchids) {
|
|
|
+ Long sa_dispatchid = Long.valueOf(object.toString());
|
|
|
+ String billno = "";
|
|
|
+ Rows dispatchRows = dbConnect.runSqlQuery("select * from sa_dispatch where sa_dispatchid=" + sa_dispatchid + " and siteid='" + siteid + "'");
|
|
|
+ if (!dispatchRows.isEmpty()) {
|
|
|
+ billno = dispatchRows.get(0).getString("billno");
|
|
|
+ } else {
|
|
|
+ logger.info("发货单" + sa_dispatchid + "不存在:");
|
|
|
+ continue;
|
|
|
}
|
|
|
+ //手工关闭发货单
|
|
|
+ JSONObject jsonobject = new JSONObject();
|
|
|
+ JSONObject objectdetail = new JSONObject();
|
|
|
+ jsonobject.put("access_token", "basicDrp");
|
|
|
+ jsonobject.put("classname", "Sainvoice");
|
|
|
+ jsonobject.put("method", "closeSainvoice");
|
|
|
+ objectdetail.put("finvonum", billno);
|
|
|
+ objectdetail.put("isManual", true);
|
|
|
+ jsonobject.put("content", objectdetail);
|
|
|
+
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("content-Type", "application/json");
|
|
|
+ String result = new WebRequest().doPost(jsonobject.toString(), erpDocking.getUrl(), map);
|
|
|
+ JSONObject resultobject = JSONObject.parseObject(result);
|
|
|
+ if (resultobject.getString("errcode").equals("0")) {
|
|
|
+ Rows rowsOrderDetail = dbConnect.runSqlQuery("select t1.undeliqty,t1.deliedqty,t1.qty,t1.sa_orderitemsid from sa_orderitems t1 where t1.sa_orderitemsid in (select sa_orderitemsid from sa_dispatch_items where sa_dispatchid=" + sa_dispatchid + ")");
|
|
|
+ RowsMap rowsOrderDetailMap = rowsOrderDetail.toRowsMap("sa_orderitemsid");
|
|
|
+ Rows rowsDispatchDetailGroup = dbConnect.runSqlQuery("select sum(t1.qty) qty,sum(t1.outwarehouseqty) outwarehouseqty,t1.sa_orderitemsid,t1.siteid from sa_dispatch_items t1 left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid where ifnull(t1.isclose,0)=0 and t1.sa_dispatchid=" + sa_dispatchid + " group by t1.sa_orderitemsid,t1.siteid");
|
|
|
+ if (!rowsDispatchDetailGroup.isEmpty()) {
|
|
|
+ for (Row row : rowsDispatchDetailGroup) {
|
|
|
+ logger.info("测试bug:" + "update sa_orderitems set undeliqty=" + rowsOrderDetailMap.get(row.getLong("sa_orderitemsid")).get(0).getBigDecimal("undeliqty").add(row.getBigDecimal("qty").subtract(row.getBigDecimal("outwarehouseqty"))) + ",deliedqty=" + rowsOrderDetailMap.get(row.getLong("sa_orderitemsid")).get(0).getBigDecimal("deliedqty").subtract(row.getBigDecimal("qty").subtract(row.getBigDecimal("outwarehouseqty"))) + " where sa_orderitemsid=" + row.getLong("sa_orderitemsid"));
|
|
|
+ uncloseSqlList.add("update sa_orderitems set undeliqty=" + rowsOrderDetailMap.get(row.getLong("sa_orderitemsid")).get(0).getBigDecimal("undeliqty").add(row.getBigDecimal("qty").subtract(row.getBigDecimal("outwarehouseqty"))) + ",deliedqty=" + rowsOrderDetailMap.get(row.getLong("sa_orderitemsid")).get(0).getBigDecimal("deliedqty").subtract(row.getBigDecimal("qty").subtract(row.getBigDecimal("outwarehouseqty"))) + " where sa_orderitemsid=" + row.getLong("sa_orderitemsid"));
|
|
|
+ }
|
|
|
+ }
|
|
|
// Rows orderRows =dbConnect.runSqlQuery("select distinct t1.sa_orderid from sa_orderitems t1 inner join sa_dispatch_items t2 on t1.siteid=t2.siteid and t1.sa_orderitemsid=t2.sa_orderitemsid where t1.siteid='" + siteid + "' and t2.sa_dispatchid=" + sa_dispatchid);
|
|
|
// for (Row row:orderRows) {
|
|
|
// sqlList.add("update sa_order set status='审核' where sa_orderid=" + row.getLong("sa_orderid") + " and siteid='" + siteid + "'");
|
|
|
// }
|
|
|
- uncloseSqlList.add("update sa_dispatch set status='关闭',closedate=current_time,closeby='admin' where sa_dispatchid='" + sa_dispatchid + "' and siteid='" + siteid + "'");
|
|
|
- SQLFactory sqlFactory = new SQLFactory(this, "数据操作日志新增");
|
|
|
- sqlFactory.addParameter("sys_contrllogid", createTableID("sys_contrllog"));
|
|
|
- sqlFactory.addParameter("ownertable", "sa_dispatch");
|
|
|
- sqlFactory.addParameter("ownerid", sa_dispatchid);
|
|
|
- sqlFactory.addParameter("action", "自动关闭");
|
|
|
- sqlFactory.addParameter("remarks", "发货单自动关闭成功(未全部发完,未发完数量退回订单并自动关闭)");
|
|
|
- sqlFactory.addParameter("actionuserid", "1");
|
|
|
- sqlFactory.addParameter("actionby", "admin");
|
|
|
- sqlFactory.addParameter("siteid", siteid);
|
|
|
- uncloseSqlList.add(sqlFactory.getSQL());
|
|
|
- } else {
|
|
|
- logger.info("发货单手工关闭错误:" + resultobject.getString("errmsg") + "发货单id:" + sa_dispatchid);
|
|
|
- Rows erpupdatelogRows = dbConnect.runSqlQuery(
|
|
|
- "select * from sys_erpupdatelog where ownertable='sa_dispatch' and type='手工关闭发货单' and ownerid=" + sa_dispatchid);
|
|
|
- SQLFactory sqlFactory;
|
|
|
- if (!erpupdatelogRows.isEmpty()) {
|
|
|
- sqlFactory = new SQLFactory(new UploadDataToERP_HY(), "erp上传日志更新");
|
|
|
- sqlFactory.addParameter("sys_erpupdatelogid", erpupdatelogRows.get(0).getLong("sys_erpupdatelogid"));
|
|
|
+ uncloseSqlList.add("update sa_dispatch set status='关闭',closedate=current_time,closeby='admin' where sa_dispatchid='" + sa_dispatchid + "' and siteid='" + siteid + "'");
|
|
|
+ SQLFactory sqlFactory = new SQLFactory(this, "数据操作日志新增");
|
|
|
+ sqlFactory.addParameter("sys_contrllogid", createTableID("sys_contrllog"));
|
|
|
+ sqlFactory.addParameter("ownertable", "sa_dispatch");
|
|
|
+ sqlFactory.addParameter("ownerid", sa_dispatchid);
|
|
|
+ sqlFactory.addParameter("action", "自动关闭");
|
|
|
+ sqlFactory.addParameter("remarks", "发货单自动关闭成功(未全部发完,未发完数量退回订单并自动关闭)");
|
|
|
+ sqlFactory.addParameter("actionuserid", "1");
|
|
|
+ sqlFactory.addParameter("actionby", "admin");
|
|
|
+ sqlFactory.addParameter("siteid", siteid);
|
|
|
+ uncloseSqlList.add(sqlFactory.getSQL());
|
|
|
} else {
|
|
|
- sqlFactory = new SQLFactory(new UploadDataToERP_HY(), "erp上传日志新增");
|
|
|
- sqlFactory.addParameter("sys_erpupdatelogid", createTableID("sys_erpupdatelog"));
|
|
|
+ logger.info("发货单手工关闭错误:" + resultobject.getString("errmsg") + "发货单id:" + sa_dispatchid);
|
|
|
+ Rows erpupdatelogRows = dbConnect.runSqlQuery(
|
|
|
+ "select * from sys_erpupdatelog where ownertable='sa_dispatch' and type='手工关闭发货单' and ownerid=" + sa_dispatchid);
|
|
|
+ SQLFactory sqlFactory;
|
|
|
+ if (!erpupdatelogRows.isEmpty()) {
|
|
|
+ sqlFactory = new SQLFactory(new UploadDataToERP_HY(), "erp上传日志更新");
|
|
|
+ sqlFactory.addParameter("sys_erpupdatelogid", erpupdatelogRows.get(0).getLong("sys_erpupdatelogid"));
|
|
|
+ } else {
|
|
|
+ sqlFactory = new SQLFactory(new UploadDataToERP_HY(), "erp上传日志新增");
|
|
|
+ sqlFactory.addParameter("sys_erpupdatelogid", createTableID("sys_erpupdatelog"));
|
|
|
+ }
|
|
|
+ sqlFactory.addParameter("siteid", siteid);
|
|
|
+ sqlFactory.addParameter("userid", 1);
|
|
|
+ sqlFactory.addParameter("username", "admin");
|
|
|
+ sqlFactory.addParameter("ownerid", sa_dispatchid);
|
|
|
+ sqlFactory.addParameter("ownertable", "sa_dispatch");
|
|
|
+ sqlFactory.addParameter("type", "手工关闭发货单");
|
|
|
+ sqlFactory.addParameter("request", object.toString());
|
|
|
+ sqlFactory.addParameter("response", resultobject.toJSONString());
|
|
|
+ sqlFactory.addParameter("erpbillno", "");
|
|
|
+ sqlFactory.addParameter("errmsg", resultobject.getString("errmsg"));
|
|
|
+ sqlFactory.addParameter("status", resultobject.getString("errcode"));
|
|
|
+ uncloseSqlList.add(sqlFactory.getSQL());
|
|
|
}
|
|
|
- sqlFactory.addParameter("siteid", siteid);
|
|
|
- sqlFactory.addParameter("userid", 1);
|
|
|
- sqlFactory.addParameter("username", "admin");
|
|
|
- sqlFactory.addParameter("ownerid", sa_dispatchid);
|
|
|
- sqlFactory.addParameter("ownertable", "sa_dispatch");
|
|
|
- sqlFactory.addParameter("type", "手工关闭发货单");
|
|
|
- sqlFactory.addParameter("request", object.toString());
|
|
|
- sqlFactory.addParameter("response", resultobject.toJSONString());
|
|
|
- sqlFactory.addParameter("erpbillno", "");
|
|
|
- sqlFactory.addParameter("errmsg", resultobject.getString("errmsg"));
|
|
|
- sqlFactory.addParameter("status", resultobject.getString("errcode"));
|
|
|
- uncloseSqlList.add(sqlFactory.getSQL());
|
|
|
- }
|
|
|
|
|
|
|
|
|
+ }
|
|
|
+ dbConnect.runSqlUpdate(uncloseSqlList);
|
|
|
}
|
|
|
- dbConnect.runSqlUpdate(uncloseSqlList);
|
|
|
}
|
|
|
+
|
|
|
for (Object o : dispatchids) {
|
|
|
Rows rows1 = dbConnect.runSqlQuery("select t2.userid from sa_dispatch t1 inner join sys_enterprise_hr t2 on t1.siteid=t2.siteid and t1.sys_enterpriseid=t2.sys_enterpriseid where sa_dispatchid=" + o);
|
|
|
HashMap<String, Object> dataextra = new HashMap<>();
|