From f4214b3e0764ab116fc6975dbbc5bb4fc80f9fcd Mon Sep 17 00:00:00 2001
From: zhangchao <zc857179121@qq.com>
Date: 星期四, 21 十一月 2024 16:08:15 +0800
Subject: [PATCH] rcs超时

---
 src/main/java/com/zy/asrs/entity/param/OrderProdSyncParam.java              |    2 
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java               |   15 ++--
 src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java                |    2 
 src/main/resources/application-loc.yml                                      |    3 
 src/main/java/com/zy/asrs/controller/OpenController.java                    |    7 ++
 src/main/java/com/zy/asrs/task/handler/AutoMoveTwoAndThreeGoOneHandler.java |    2 
 src/main/resources/application-dev.yml                                      |    1 
 src/main/resources/application-prod.yml                                     |    1 
 src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java                |    6 ++
 src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java            |   90 ++++++++++++++++-------------
 10 files changed, 79 insertions(+), 50 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 04cb1dc..cc71e35 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -156,6 +156,13 @@
             case "鐢熶骇鏉愭枡鍑哄簱琛ユ枡":
                 mappingPakOutOrderParam(param, false, "閾跺骇鐢熶骇鏉愭枡鍑哄簱琛ユ枡");
                 break;
+
+            case "鍗婃垚鍝佸叆搴撳崟":
+                mappingPakOutOrderParam(param, true, "鍗婃垚鍝佸叆搴撳崟");
+                break;
+            case "鎴愬搧鍏ュ簱鍗�":
+                mappingPakOutOrderParam(param, true, "鎴愬搧鍏ュ簱鍗�");
+                break;
             default:
                 log.info("鏈煡鐨勫崟鎹被鍨�:{}", param);
                 mappingPakOutOrderParam(param, param.getPakin() == 1 ? true : false, param.get鎿嶄綔鍗曟嵁());
diff --git a/src/main/java/com/zy/asrs/entity/param/OrderProdSyncParam.java b/src/main/java/com/zy/asrs/entity/param/OrderProdSyncParam.java
index b84f881..d1786a5 100644
--- a/src/main/java/com/zy/asrs/entity/param/OrderProdSyncParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/OrderProdSyncParam.java
@@ -129,7 +129,7 @@
         //鐗╂枡缂栫爜
         //private String cInvCode;
         //鏁伴噺
-        // private Double iQuantity;
+        //private Double iQuantity;
         //瑙勬牸锛堣嚜鐢遍」1锛�
         // private String bFree1;
         //鍗曟嵁琛屽彿
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
index 63faab5..d8d63ba 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -23,6 +23,7 @@
 
 import java.io.IOException;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 @Service
 @Slf4j
@@ -65,17 +66,17 @@
     public void updateWrkStsByWrkNo(int wrkNo, long wrkSts) {
         AgvWrkMast agvWrkMast = this.selectById(wrkNo);
         //鍒ゆ柇瑕佷慨鏀圭殑宸ヤ綔妗g姸鎬佹槸鍚﹀悎鐞嗭紝濡傛灉涓嶅悎鐞嗗垯鎶涘嚭寮傚父
-        checkWrkSts(agvWrkMast,wrkSts);
+        checkWrkSts(agvWrkMast, wrkSts);
         agvWrkMast.setWrkSts(wrkSts);
         agvWrkMast.setModiTime(new Date());
         this.updateById(agvWrkMast);
     }
 
-    public void updateWrkStsByWrkNo(int wrkNo, long wrkSts,String manuType,long userId) {
+    public void updateWrkStsByWrkNo(int wrkNo, long wrkSts, String manuType, long userId) {
         Date now = new Date();
         AgvWrkMast agvWrkMast = this.selectById(wrkNo);
         //鍒ゆ柇瑕佷慨鏀圭殑宸ヤ綔妗g姸鎬佹槸鍚﹀悎鐞嗭紝濡傛灉涓嶅悎鐞嗗垯鎶涘嚭寮傚父
-        checkWrkSts(agvWrkMast,wrkSts);
+        checkWrkSts(agvWrkMast, wrkSts);
         agvWrkMast.setWrkSts(wrkSts);
         agvWrkMast.setManuType(manuType);
         agvWrkMast.setModiTime(now);
@@ -84,8 +85,7 @@
     }
 
     // TODO 鍒ゆ柇瑙勫垯
-    private boolean checkWrkSts(AgvWrkMast agvWrkMast,long wrkSts){
-
+    private boolean checkWrkSts(AgvWrkMast agvWrkMast, long wrkSts) {
 
 
         return true;
@@ -96,9 +96,9 @@
         AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam();
         //agvTaskCreateParam.setTaskType(taskType);
 
-        getRequestParam(agvTaskCreateParam,agvWrkMast);
+        getRequestParam(agvTaskCreateParam, agvWrkMast);
 
-        return doHttpRequest(agvTaskCreateParam,"鎼繍浠诲姟涓嬪彂",url, taskCreatePath,null,"127.0.0.1");
+        return doHttpRequest(agvTaskCreateParam, "鎼繍浠诲姟涓嬪彂", url, taskCreatePath, null, "127.0.0.1");
 
         //return containerMoveParam;
     }
@@ -106,7 +106,7 @@
     public int startAllcationIn(AgvWrkMast agvWrkMast) throws IOException {
         AgvBasDevp basDevp = agvBasDevpService.selectByDevNo(agvWrkMast.getSourceLocNo());
         //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
-        AgvLocMast locMast = agvCommonService.getLocNo(basDevp.getLocType1(),basDevp.getFloor(),false,true);
+        AgvLocMast locMast = agvCommonService.getLocNo(basDevp.getLocType1(), basDevp.getFloor(), false, true);
         agvWrkMast.setLocNo(locMast.getLocNo());
         agvWrkMast.setWrkSts(201L);
         agvWrkMast.setLogErrMemo("startAllcationIn");
@@ -122,30 +122,30 @@
     //璐ф灦鍏ュ満
     public int containerMoveIn(List<AgvWrkMast> agvWrkMastList) throws IOException {
         //璋冪敤璐ф灦鍏ュ満鏃舵墍闇�瑕佸弬鏁�
-        Map<String,List<Map<String,String>>> containerMoveParam = new HashMap<>();
-        List<Map<String,String>> positionCodeMapList = new ArrayList<>();
-        containerMoveParam.put("containerMoveIns",positionCodeMapList);
+        Map<String, List<Map<String, String>>> containerMoveParam = new HashMap<>();
+        List<Map<String, String>> positionCodeMapList = new ArrayList<>();
+        containerMoveParam.put("containerMoveIns", positionCodeMapList);
 
-        getContainerMoveParam(agvWrkMastList,positionCodeMapList);
+        getContainerMoveParam(agvWrkMastList, positionCodeMapList);
 
-        if(Cools.isEmpty(positionCodeMapList)){
+        if (Cools.isEmpty(positionCodeMapList)) {
             return 0;
         }
-        return doHttpRequest(containerMoveParam,"璐ф灦鍏ュ満浠诲姟涓嬪彂",url, containerMoveInPath,null,"127.0.0.1");
+        return doHttpRequest(containerMoveParam, "璐ф灦鍏ュ満浠诲姟涓嬪彂", url, containerMoveInPath, null, "127.0.0.1");
 
     }
 
     //璐ф灦绂诲満
-    public int containerMoveOut(List<AgvWrkMast> agvWrkMastList){
-        Map<String,List<Map<String,String>>> containerMoveParam = new HashMap<>();
-        List<Map<String,String>> positionCodeMapList = new ArrayList<>();
-        containerMoveParam.put("containerMoveOuts",positionCodeMapList);
-        for(AgvWrkMast agvWrkMast : agvWrkMastList){
-            Map<String,String> positionCodeMap = new HashMap<>();
-            positionCodeMap.put("positionCode",agvWrkMast.getLocNo());
+    public int containerMoveOut(List<AgvWrkMast> agvWrkMastList) {
+        Map<String, List<Map<String, String>>> containerMoveParam = new HashMap<>();
+        List<Map<String, String>> positionCodeMapList = new ArrayList<>();
+        containerMoveParam.put("containerMoveOuts", positionCodeMapList);
+        for (AgvWrkMast agvWrkMast : agvWrkMastList) {
+            Map<String, String> positionCodeMap = new HashMap<>();
+            positionCodeMap.put("positionCode", agvWrkMast.getLocNo());
             positionCodeMapList.add(positionCodeMap);
         }
-        return doHttpRequest(containerMoveParam,"璐ф灦绂诲満浠诲姟涓嬪彂",url, containerMoveOutPath,null,"127.0.0.1");
+        return doHttpRequest(containerMoveParam, "璐ф灦绂诲満浠诲姟涓嬪彂", url, containerMoveOutPath, null, "127.0.0.1");
     }
 
     public boolean insertByIncrease(AgvWrkMast agvWrkMast) {
@@ -162,25 +162,25 @@
     //璐ф灦鍒拌揪閫氱煡
     public int containerArrived(AgvWrkMast agvWrkMast) {
 
-        Map<String,String> containerArrivedParam = new HashMap<>();
-        containerArrivedParam.put("slotCode",agvWrkMast.getSourceLocNo());
-        containerArrivedParam.put("containerCode",agvWrkMast.getBarcode());
+        Map<String, String> containerArrivedParam = new HashMap<>();
+        containerArrivedParam.put("slotCode", agvWrkMast.getSourceLocNo());
+        containerArrivedParam.put("containerCode", agvWrkMast.getBarcode());
 
-        return doHttpRequest(containerArrivedParam,"璐ф灦杈惧埌閫氱煡",url, containerArrivedPath,null,"127.0.0.1");
+        return doHttpRequest(containerArrivedParam, "璐ф灦杈惧埌閫氱煡", url, containerArrivedPath, null, "127.0.0.1");
     }
 
     @Override
     public List<AgvWrkMast> selectReadyAgvWrkMast() {
         List<String> stationCodes = agvBasDevpService.selectAllStationCode();
         Wrapper<AgvWrkMast> wrapper = new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 21L).like(false, "loc_no", "@");
-        wrapper.in("loc_no",stationCodes);
+        wrapper.in("loc_no", stationCodes);
         return this.selectList(wrapper);
         //return this.baseMapper.selectReadyAgvWrkMast();
     }
 
     @Override
     public AgvWrkMast selectByContainerCode(String containerCode) {
-        return this.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",containerCode));
+        return this.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", containerCode));
     }
 
     @Override
@@ -189,25 +189,25 @@
         AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam();
         agvTaskCreateParam.setTaskCode(wrkNo + "");
 
-        return doHttpRequest(agvTaskCreateParam,"鍙栨秷浠诲姟涓嬪彂",url, taskCancelPath,null,"127.0.0.1");
+        return doHttpRequest(agvTaskCreateParam, "鍙栨秷浠诲姟涓嬪彂", url, taskCancelPath, null, "127.0.0.1");
 
     }
 
 
-    private void getContainerMoveParam(List<AgvWrkMast> agvWrkMastList,List<Map<String,String>> positionCodeMapList){
+    private void getContainerMoveParam(List<AgvWrkMast> agvWrkMastList, List<Map<String, String>> positionCodeMapList) {
         //寰�璐ф灦鍏ュ満鍙傛暟涓斁鍏ユ簮绔欑偣浣嶇疆
-        for(AgvWrkMast agvWrkMast : agvWrkMastList){
+        for (AgvWrkMast agvWrkMast : agvWrkMastList) {
             //鍒ゆ柇鏄惁涓鸿緭閫佺嚎鍏ュ簱锛屾槸鍒欎笉闇�瑕佽揣鏋惰繘鍦鸿姹�
-            if("Y".equals(agvWrkMast.getMk())){
+            if ("Y".equals(agvWrkMast.getMk())) {
                 continue;
             }
-            Map<String,String> positionCodeMap = new HashMap<>();
-            positionCodeMap.put("positionCode",agvWrkMast.getSourceLocNo());
+            Map<String, String> positionCodeMap = new HashMap<>();
+            positionCodeMap.put("positionCode", agvWrkMast.getSourceLocNo());
             positionCodeMapList.add(positionCodeMap);
         }
     }
 
-    private void getRequestParam(AgvTaskCreateParam agvTaskCreateParam,AgvWrkMast agvWrkMast){
+    private void getRequestParam(AgvTaskCreateParam agvTaskCreateParam, AgvWrkMast agvWrkMast) {
 
         List<AgvTaskParam> agvTaskParamList = Arrays.asList(
                 //璧峰浣�
@@ -220,7 +220,7 @@
 //        //鐩爣浣�
 //        agvTaskParamList.add(new AgvTaskParam(agvWrkMast.getLocNo()));
 
-        if(agvWrkMast.getIoType() == 53 || agvWrkMast.getIoType() == 57 ){
+        if (agvWrkMast.getIoType() == 53 || agvWrkMast.getIoType() == 57) {
             agvWrkMast.setWrkNo(-agvWrkMast.getWrkNo());
         }
         agvTaskCreateParam.setTaskCode(agvWrkMast.getWrkNo().toString());
@@ -270,32 +270,40 @@
 
     }
 
-    private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String ip){
+    private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String ip) {
         String response = "";
         boolean success = false;
         try {
             response = new HttpHandler.Builder()
                     .setUri(url)
                     .setPath(path)
+                    .setTimeout(30, TimeUnit.SECONDS)
                     .setJson(JSONObject.toJSONString(requestParam))
                     .build()
                     .doPost();
             JSONObject jsonObject = JSON.parseObject(response);
 
             int code = Integer.parseInt(jsonObject.get("code").toString());
-            if(code != 0){
-                //TODO 寮犺秴
+            if (code != 0) {
+                if (code == 6) {
+                    log.info("AGV浠诲姟鍗曞彿宸蹭笂鎶�:{}", response);
+                    String message = jsonObject.getString("message");
+                    if (!Cools.isEmpty(message) && message.contains("宸插瓨鍦ㄤ换鍔″崟澶翠负")) {
+                        success = true;
+                        return 0;
+                    }
+                }
                 throw new CoolException("璋冪敤AGV鍝嶅簲閿欒");
                 //return code;
             }
             success = true;
             return code;
-        }catch (Exception e){
+        } catch (Exception e) {
             log.error(e.getMessage());
             //TODO 寮犺秴
             throw new CoolException("璋冪敤AGV鍝嶅簲閿欒");
             //return 1;
-        }finally {
+        } finally {
             apiLogService.save(
                     namespace,
                     url + path,
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
index c8be4e2..2f2b286 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -30,6 +30,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
 @Slf4j
 @Service("orderService")
@@ -290,6 +291,7 @@
             response = new HttpHandler.Builder()
                     .setUri(url)
                     .setPath(path)
+                    .setTimeout(30, TimeUnit.SECONDS)
                     .setJson(JSONObject.toJSONString(requestParam))
                     .build()
                     .doPost();
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 84951b7..42f7ef1 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -26,6 +26,7 @@
 
 import java.io.IOException;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 @Slf4j
@@ -704,12 +705,12 @@
                 reportMesPakinOrder(agvWrkMast, agvWrkDetls);
             }
         }
-//        if (OUT_TYPE_List.contains(agvWrkMast.getIoType())) {
-//            reportMesPakoutOrder(agvWrkMast, agvWrkDetls);
-//        }
-//        if (MOVE_TYPE_List.contains(agvWrkMast.getIoType())) {
-//            generateMesParam(agvWrkMast, agvWrkDetls);
-//        }
+        if (OUT_TYPE_List.contains(agvWrkMast.getIoType())) {
+            reportMesPakoutOrder(agvWrkMast, agvWrkDetls);
+        }
+        if (MOVE_TYPE_List.contains(agvWrkMast.getIoType())) {
+            generateMesParam(agvWrkMast, agvWrkDetls);
+        }
     }
 
     private void reportMesPakinOrder(AgvWrkMast agvWrkMast, List<AgvWrkDetl> agvWrkDetls) {
@@ -868,7 +869,7 @@
         boolean success = false;
 
         try {
-            response = new HttpHandler.Builder().setUri(url).setPath(path).setHeaders(headParam).setJson(JSONObject.toJSONString(requestParam)).setHttps(true).build().doPost();
+            response = new HttpHandler.Builder().setUri(url).setPath(path).setTimeout(30, TimeUnit.SECONDS).setHeaders(headParam).setJson(JSONObject.toJSONString(requestParam)).setHttps(true).build().doPost();
             JSONObject jsonObject = JSON.parseObject(response);
 
             if (Cools.isEmpty(jsonObject.get("code")) || Integer.parseInt(jsonObject.get("code").toString()) != 200) {
diff --git a/src/main/java/com/zy/asrs/task/handler/AutoMoveTwoAndThreeGoOneHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoMoveTwoAndThreeGoOneHandler.java
index bf93cb5..4dff4fc 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveTwoAndThreeGoOneHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveTwoAndThreeGoOneHandler.java
@@ -21,6 +21,7 @@
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
 @Slf4j
 @Service
@@ -123,6 +124,7 @@
             response = new HttpHandler.Builder()
                     .setUri(url)
                     .setPath(path)
+                    .setTimeout(30, TimeUnit.SECONDS)
                     .setJson(JSONObject.toJSONString(requestParam))
                     .build()
                     .doPost();
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
index 1e47661..e9992ab 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -49,6 +49,9 @@
     @Value("${spring.profiles.active}")
     private String active;
 
+    @Value("${u8.report}")
+    private Boolean report;
+
     @Value("${u8.url}")
     private String url;
 
@@ -84,6 +87,9 @@
 
     @Transactional
     public void timelyStart(Order order) {
+        if (!report){
+            return;
+        }
 
         List<String> docNames = new ArrayList<>(Arrays.asList("閾跺骇閲囪喘鍏ュ簱鍗�", "閾跺骇濮斿鏉愭枡鍑哄簱鍗�", "閾跺骇鐢熶骇鏉愭枡鍑哄簱鍗�"));
 
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index d6d0e26..b544fef 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -85,6 +85,7 @@
   containerArrivedPath: /conveyor/containerArrived
 
 u8:
+  report: false
   url: http://192.168.9.3:8877
   orderReportPath: /DBMS/U8/CM/add
 #ERP:
diff --git a/src/main/resources/application-loc.yml b/src/main/resources/application-loc.yml
index dfe8d08..a2e5a20 100644
--- a/src/main/resources/application-loc.yml
+++ b/src/main/resources/application-loc.yml
@@ -85,13 +85,14 @@
   containerArrivedPath: /conveyor/containerArrived
 
 u8:
+  report: false
   url: http://192.168.9.3:8877
   orderReportPath: /DBMS/U8/CM/add
 #ERP:
 #  url: http://39.184.149.30:8877
 #  orderReportPath: /DBMS/U8/CM/add
 mes:
-  report: false
+  report: true
   url: https://v3-ali.blacklake.cn/api/openapi/domain/web/v1/route
   orderReportPath: /inventory/open/v2/transfer_order/ordinary/_execute
   pakinReportPath: /inventory/open/v2/inbound_order/execute/_inbound
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index bfbed22..084d433 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -85,6 +85,7 @@
   containerArrivedPath: /conveyor/containerArrived
 
 u8:
+  report: true
   url: http://192.168.9.3:8877
   orderReportPath: /DBMS/U8/CM/add
 #ERP:

--
Gitblit v1.9.1