|
|
@@ -1,6 +1,7 @@
|
|
|
package service;
|
|
|
|
|
|
import beans.datacontrllog.DataContrlLog;
|
|
|
+import beans.parameter.Parameter;
|
|
|
import beans.uploaderpdata.UploadDataToERP_HY;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
@@ -169,28 +170,56 @@ public class DispatchAutoCloseService extends ServiceController {
|
|
|
if (unclosedispatchids.size() > 0) {
|
|
|
for (Object object:unclosedispatchids) {
|
|
|
Long sa_dispatchid = Long.valueOf(object.toString());
|
|
|
- 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 rowsDispatchDetail = dbConnect.runSqlQuery("select t1.qty,t1.outwarehouseqty,t1.sa_orderitemsid,t1.rowno,t2.itemname from sa_dispatch_items t1 left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid where t1.sa_dispatchid=" + sa_dispatchid);
|
|
|
- if (!rowsDispatchDetail.isEmpty()) {
|
|
|
- for (Row row : rowsDispatchDetail) {
|
|
|
- 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"));
|
|
|
- }
|
|
|
+ String billno="";
|
|
|
+ Rows dispatchRows = dbConnect.runSqlQuery("select * from sa_dispatch where sa_dispatchid="+sa_dispatchid+" and siteid='CCYOSG'");
|
|
|
+ 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(), "http://124.71.196.182:8001/rest/ws_v2/basicDrp", 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 rowsDispatchDetail = dbConnect.runSqlQuery("select t1.qty,t1.outwarehouseqty,t1.sa_orderitemsid,t1.rowno,t2.itemname from sa_dispatch_items t1 left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid where t1.sa_dispatchid=" + sa_dispatchid);
|
|
|
+ if (!rowsDispatchDetail.isEmpty()) {
|
|
|
+ for (Row row : rowsDispatchDetail) {
|
|
|
+ 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='CCYOSG'");
|
|
|
- SQLFactory sqlFactory = new SQLFactory(new DataContrlLog(), "数据操作日志新增");
|
|
|
- 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", "CCYOSG");
|
|
|
- uncloseSqlList.add(sqlFactory.getSQL());
|
|
|
+ uncloseSqlList.add("update sa_dispatch set status='关闭',closedate=current_time,closeby='admin' where sa_dispatchid='" + sa_dispatchid + "' and siteid='CCYOSG'");
|
|
|
+ SQLFactory sqlFactory = new SQLFactory(new DataContrlLog(), "数据操作日志新增");
|
|
|
+ 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", "CCYOSG");
|
|
|
+ uncloseSqlList.add(sqlFactory.getSQL());
|
|
|
+ }else{
|
|
|
+ logger.info("发货单手工关闭错误:" + resultobject.getString("errmsg")+"发货单id:"+sa_dispatchid);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
dbConnect.runSqlUpdate(uncloseSqlList);
|
|
|
}
|