From a5ee5055f053cbb4f13710fc251adbd780f3a43f Mon Sep 17 00:00:00 2001 From: 18516761980 <56479841@qq.com> Date: 星期三, 31 八月 2022 17:28:52 +0800 Subject: [PATCH] # --- src/main/java/com/slcf/filter/UpdateThread.java | 60 +++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 45 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/slcf/filter/UpdateThread.java b/src/main/java/com/slcf/filter/UpdateThread.java index 8e0d4b0..4fbe4d0 100644 --- a/src/main/java/com/slcf/filter/UpdateThread.java +++ b/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 @@ /** * 澶勭悊鍑哄簱閫氱煡妗f暟鎹� */ + 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()); + } + } + + /** + * 澶勭悊鍑哄簱閫氱煡妗f暟鎹� + */ private void updateWaitPakOutData() { try { // logger.info("waitOut:" + count++); @@ -405,8 +435,6 @@ // } // } - logger.info("TEST===>>4"); - JSONObject jsObj = new JSONObject(); try { JSONArray arr = new JSONArray(); @@ -434,9 +462,9 @@ json.put("arbpl","A01-01"); arr.add(json); } - int action = 3; - if(waitPakOut.getAction()==1 && waitPakOut.getPrnstatus()==2) { - action = 1; + int action = 1; + if (waitPakOut.getAction() == 3){ + action = waitPakOut.getAction(); } jsObj.put("trart", Integer.toString(action)); jsObj.put("item", arr); @@ -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); -- Gitblit v1.9.1