#
18516761980
2022-08-31 a5ee5055f053cbb4f13710fc251adbd780f3a43f
src/main/java/com/slcf/filter/UpdateThread.java
@@ -8,6 +8,7 @@
import java.net.URL;
import java.util.Date;
import java.util.HashMap;
import java.util.concurrent.TimeUnit;
import javax.annotation.Resource;
@@ -71,43 +72,55 @@
   public void setWaitPakOutService(WaitPakOutService waitPakOutService) {
      this.waitPakOutService = waitPakOutService;
   }
   public static boolean updateFlag = true;
   public void run() {
      waitPakInService = getWaitPakInService();
      waitPakOutService = getWaitPakOutService();
      while(true) {
         try {
            if(!updateFlag) return;
            updateFlag = false;
            updateWaitPakInData(); // 入库
            sendPickPrintCmd(); // 打印
            updateWaitPakOutData(); // 出库
            updateWaitPakOutData1(); // 出库
//            sendPickPrintCmd(); // 打印
//            updateWaitPakOutData(); // 出库
            // 清空2天前的日志
            sapRequestLogService.clearSapLog();
//            updateWaitCheckData();
            Thread.sleep(15000);
         } catch (InterruptedException e) {
            e.printStackTrace();
         } finally {
            updateFlag = true;
         }
      }
   }
    public JSONObject requestSAP(JSONObject body, String url) {
      logger.info(url);
        JSONObject resp;
            HashMap<String, Object> requestHeader = new HashMap<>();
            requestHeader.put("Accept", "application/json");
            requestHeader.put("Content-Type", "application/json");
            requestHeader.put("X-Requested-With", "X");
            requestHeader.put("Authorization","Basic TElRSTpzdGFydDEu");
            requestHeader.put("sap-client","100");
      HashMap<String, Object> requestHeader = new HashMap<>();
      requestHeader.put("Accept", "application/json");
      requestHeader.put("Content-Type", "application/json");
      requestHeader.put("X-Requested-With", "X");
      requestHeader.put("Authorization","Basic TElRSTpzdGFydDEu");
      requestHeader.put("sap-client","100");
        String s = null;
        try {
            s = new HttpHandler.Builder()
                    .setUri(url)
                    .setJson(body.toString())
               .setTimeout(20, TimeUnit.SECONDS)
                    .setHeaders(requestHeader)
                    .build()
                    .doPost();
        } catch (IOException e) {
         logger.error("SAP请求接口失败=URL==>>" + body.toString());
           logger.error("SAP请求接口失败=JSON==>>" + body.toString());
         logger.error("SAP请求接口失败=JSON==>>" + e.getMessage());
            throw new RuntimeException(e);
        }
        resp = JSONObject.fromObject(s);
@@ -331,6 +344,23 @@
   /**
    * 处理出库通知档数据
    */
   private void updateWaitPakOutData1() {
      try {
//         logger.info("waitOut:" + count++);
         WaitPakOutBean waitPakOutBean = waitPakOutService.queryWaitPakOutFnh();
         if(waitPakOutBean!=null) {
            waitPakOutBean.setIo_status("Y");
//            waitPakOutService.upWaitPakOut(waitPakOutBean,0);
            waitPakOutService.moveToLog(waitPakOutBean);
         }
      }catch(Exception e) {
         logger.error("SAP Error updateWaitPakOutData---" + e.getMessage());
      }
   }
   /**
    * 处理出库通知档数据
    */
   private void updateWaitPakOutData() {
      try {
//         logger.info("waitOut:" + count++);
@@ -404,8 +434,6 @@
//            connection1.disconnect();
//         }
//      }
      logger.info("TEST===>>4");
      JSONObject jsObj = new JSONObject();
      try {
@@ -632,7 +660,7 @@
//      }
      try {
//         logger.error("sendPrinCommand2-----开始调用打印接口" + waitPakOut.getMaktx());
         logger.error("sendPrinCommand2-----开始调用打印接口" + waitPakOut.getMatnr() + "--" + waitPakOut.getMaktx());
         JSONObject jsObj = new JSONObject();
         JSONArray arr = new JSONArray();
         for(int i=0;i<1;i++) {
@@ -700,14 +728,16 @@
//              }
////              System.out.println(sb.toString());
//              JSONObject json = JSONObject.fromObject(sb.toString());
            logger.error("sendPrinCommand4-----调用打印接口" + waitPakOut.getTanum() + "==" + waitPakOut.getMatnr() + "==" + waitPakOut.getMaktx());
                JSONObject json = requestSAP(jsObj, httpUrl);
            logger.error("sendPrinCommand44-----打印接口SAP返回数据===>>" + json.toString());
            String d = json.get("d").toString();
            JSONObject jsonD = JSONObject.fromObject(d);
            String Item = jsonD.get("item").toString();
            JSONObject jsonItem = JSONObject.fromObject(Item);
            String results = jsonItem.get("results").toString();
            JSONArray array = JSONArray.fromObject(results);
            logger.error("sendPrinCommand4-----调用打印接口" + waitPakOut.getMaktx());
            if(array.size()>0) {
               for(int i=0;i<array.size();i++){
                  JSONObject job = array.getJSONObject(i);