123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- package service;
- import beans.datacontrllog.DataContrlLog;
- import beans.uploaderpdata.UploadDataToERP_HY;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import common.ServiceController;
- import common.YosException;
- import common.data.Row;
- import common.data.Rows;
- import common.data.RowsMap;
- import common.data.SQLFactory;
- import common.parameter.properties;
- import org.apache.log4j.Logger;
- import utility.ERPDocking;
- import utility.tools.WebRequest;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Properties;
- /**
- * 换货单自动复核任务
- */
- public class AftersalesmagAutoRecheckService extends ServiceController {
- private static Logger logger = Logger.getLogger(AftersalesmagAutoRecheckService.class);
- String[] siteids = {"CCYOSG", "DLB"};
- @Override
- public void serviceRun() throws Exception {
- for (String siteid : siteids) {
- if (dbConnect.runSqlQuery("SELECT 1 from sys_site WHERE siteid='" + siteid + "'").isEmpty()) {
- continue;
- }
- Properties yosProperties = properties.getYosProperties();
- if (yosProperties.getProperty("system.runmode.debug").equalsIgnoreCase("false")) {
- Rows rows = dbConnect.runSqlQuery("select * from sa_aftersalesmag where status='审核' and type='换货单' and siteid='" + siteid + "'");
- RowsMap rowsMap1 = rows.toRowsMap("billno");
- ArrayList<String> sqlList = new ArrayList<>();
- ERPDocking erpDocking = new ERPDocking(siteid);
- JSONArray ErpSareturns = erpDocking.queryErpSareturns(10000, 1, new JSONArray(), "", "", "换货", "", true);
- if (!ErpSareturns.isEmpty()) {
- for (Object ErpSareturn : ErpSareturns) {
- JSONObject erpSareturn = (JSONObject) ErpSareturn;
- String billno = erpSareturn.getString("freturnnum");
- long sa_aftersalesmagid = 0;
- if (rowsMap1.containsKey(billno)) {
- if (rowsMap1.get(billno).isNotEmpty()) {
- sa_aftersalesmagid = rowsMap1.get(billno).get(0).getLong("sa_aftersalesmagid");
- } else {
- logger.info("退货单【" + billno + "】不存在:");
- continue;
- }
- } else {
- logger.info("退货单【" + billno + "】不存在:");
- continue;
- }
- JSONObject object = new JSONObject();
- JSONObject objectdetail = new JSONObject();
- object.put("access_token", "basicDrp");
- object.put("classname", "Sareturn");
- object.put("method", "closeSareturn");
- objectdetail.put("freturnnum", billno);
- objectdetail.put("isManual", false);
- object.put("content", objectdetail);
- HashMap<String, String> map = new HashMap<>();
- map.put("content-Type", "application/json");
- String result = new WebRequest().doPost(object.toString(), erpDocking.getUrl(), map);
- JSONObject resultobject = JSONObject.parseObject(result);
- {
- Rows erpupdatelogRows = dbConnect.runSqlQuery(
- "select * from sys_erpupdatelog where ownertable='sa_aftersalesmag' and type='复核erp退/换货单' and ownerid=" + sa_aftersalesmagid);
- 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_aftersalesmagid);
- sqlFactory.addParameter("ownertable", "sa_aftersalesmag");
- sqlFactory.addParameter("type", "复核erp退/换货单");
- sqlFactory.addParameter("request", object.toString());
- sqlFactory.addParameter("response", resultobject.toJSONString());
- if ("0".equals(resultobject.getString("errcode"))) {
- sqlFactory.addParameter("erpbillno", billno);
- sqlFactory.addParameter("errmsg", "");
- } else {
- sqlFactory.addParameter("erpbillno", "");
- sqlFactory.addParameter("errmsg", resultobject.getString("errmsg"));
- }
- sqlFactory.addParameter("status", resultobject.getString("errcode"));
- sqlList.add(sqlFactory.getSQL());
- }
- if (resultobject.getString("errcode").equals("0")) {
- sqlList.add("update sa_aftersalesmag set status='复核' where sa_aftersalesmagid='" + sa_aftersalesmagid + "' and siteid='" + siteid + "'");
- SQLFactory sqlFactory = new SQLFactory(this, "数据操作日志新增");
- sqlFactory.addParameter("sys_contrllogid", createTableID("sys_contrllog"));
- sqlFactory.addParameter("ownertable", "sa_aftersalesmag");
- sqlFactory.addParameter("ownerid", sa_aftersalesmagid);
- sqlFactory.addParameter("action", "自动复核");
- sqlFactory.addParameter("remarks", "换货单自动复核成功");
- sqlFactory.addParameter("actionuserid", "1");
- sqlFactory.addParameter("actionby", "admin");
- sqlFactory.addParameter("siteid", siteid);
- sqlList.add(sqlFactory.getSQL());
- } else {
- logger.info("换货单自动复核错误:" + resultobject.getString("errmsg"));
- }
- }
- }
- dbConnect.runSqlUpdate(sqlList);
- }
- }
- }
- }
|