From b44b85a4d7512615b8c19c95dc21e537a15a0d5b Mon Sep 17 00:00:00 2001
From: zjj <zjj123456>
Date: 星期四, 08 五月 2025 09:37:01 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   54 ++++++++++++++++++--------
 src/main/java/com/zy/core/MainProcess.java                  |    2 +
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |   20 ++++++---
 src/main/resources/application.yml                          |    8 ++--
 4 files changed, 56 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 94f52df..880f67e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -49,6 +49,7 @@
 
 import java.io.IOException;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 import static com.zy.common.utils.RandomValidateCodeUtil.code;
@@ -239,6 +240,7 @@
                         param.setSourceStaNo(inSta.getStaNo());
                         param.setLocType1(locTypeDto.getLocType1());
                         String response = new HttpHandler.Builder()
+                                .setTimeout(30, TimeUnit.SECONDS)
                                 .setUri(wmsUrl)
                                 .setPath("/rpc/pakin/loc/v1")
                                 .setJson(JSON.toJSONString(param))
@@ -277,6 +279,11 @@
                             }
                         } else {
                             log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
+                            ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+                            if (ledThread != null) {
+                                String errorMsg = barcode + jsonObject.get("msg");
+                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+                            }
                         }
 
                     } catch (Exception e) {
@@ -483,6 +490,7 @@
                         param.setSourceStaNo(inSta.getStaNo());
                         param.setLocType1(locTypeDto.getLocType1());
                         String response = new HttpHandler.Builder()
+                                .setTimeout(30,TimeUnit.SECONDS)
                                 .setUri(wmsUrl)
                                 .setPath("/rpc/pakin/loc/v1")
                                 .setJson(JSON.toJSONString(param))
@@ -520,6 +528,11 @@
                                 MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
                             }
                         } else {
+                            ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+                            if (ledThread != null) {
+                                String errorMsg = jsonObject.getString("msg");
+                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+                            }
                             log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
                         }
 
@@ -1620,6 +1633,11 @@
                                 throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                             }
                         } else {
+                            ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, emptyInSta.getLed());
+                            if (ledThread != null) {
+                                String errorMsg = jsonObject.getString("msg");
+                                MessageQueue.offer(SlaveType.Led, emptyInSta.getLed(), new Task(3, errorMsg));
+                            }
                             log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
                         }
                     } catch (Exception e) {
@@ -3089,26 +3107,10 @@
                     command.setWeight2(weight2);
 
                     if (workNo1 == 0 && workNo2 !=0){
-                        if("0".equals(matnr2) || "".equals(batch2) ){
-                            log.error("婧愮珯"+souSta2+"宸ヤ綅涓�浠诲姟缂哄皯淇℃伅锛岀墿鏂欎唬鐮�:"+matnr+",batch:"+batch);
-                            continue;
-                        }
                         command.setTaskMode(RgvTaskModeType.FETCH_PUT2); // 浠诲姟妯″紡: 2鍙栨斁璐�
                     } else if (workNo1 != 0 && workNo2 ==0) {
-                        if("0".equals(matnr) || "".equals(batch) ){
-                            log.error("婧愮珯"+souSta1+"宸ヤ綅浜屼换鍔$己灏戜俊鎭紝鐗╂枡浠g爜:"+matnr+",batch:"+batch);
-                            continue;
-                        }
                         command.setTaskMode(RgvTaskModeType.FETCH_PUT1); // 浠诲姟妯″紡: 1鍙栨斁璐�
                     }else {
-                        if("0".equals(matnr) || "".equals(batch) ){
-                            log.error("婧愮珯"+souSta1+"宸ヤ綅涓�浠诲姟缂哄皯淇℃伅锛岀墿鏂欎唬鐮�:"+matnr+",batch:"+batch);
-                            continue;
-                        }
-                        if("0".equals(matnr2) || "".equals(batch2) ){
-                            log.error("婧愮珯"+souSta2+"宸ヤ綅浜屼换鍔$己灏戜俊鎭紝鐗╂枡浠g爜:"+matnr+",batch:"+batch);
-                            continue;
-                        }
                         command.setTaskMode(RgvTaskModeType.FETCH_PUT_ALL); // 浠诲姟妯″紡: all鍙栨斁璐�
                     }
                     command.setCommand(false);
@@ -3657,6 +3659,7 @@
                                 param.setSourceStaNo(inSta.getStaNo());
                                 param.setLocType1(locTypeDto.getLocType1());
                                 String response = new HttpHandler.Builder()
+                                        .setTimeout(30,TimeUnit.SECONDS)
                                         .setUri(wmsUrl)
                                         .setPath("/rpc/process/in/loc/v1")
                                         .setJson(JSON.toJSONString(param))
@@ -3685,6 +3688,11 @@
                                         MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
                                     }
                                 } else {
+                                    ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+                                    if (ledThread != null) {
+                                        String errorMsg = jsonObject.getString("msg");
+                                        MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+                                    }
                                     log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/process/in/loc/v1", JSON.toJSONString(param), response);
                                 }
 
@@ -3724,7 +3732,7 @@
                             LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                             if (jsonObject.getInteger("code").equals(200)) {
                                 StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
+                                log.error(barcode + "鐢熸垚浠诲姟鎴愬姛锛�"+dto);
                                 barcodeThread.setBarcode("");
                                 staProtocol.setWorkNo(dto.getWorkNo().shortValue());
                                 staProtocol.setStaNo(dto.getStaNo().shortValue());
@@ -3743,6 +3751,11 @@
                                     MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
                                 }
                             } else {
+                                ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+                                if (ledThread != null) {
+                                    String errorMsg = jsonObject.getString("msg");
+                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+                                }
                                 log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
                             }
 
@@ -3841,6 +3854,13 @@
 //        MatnrCode matnrCode = matnrCodeService.selectByCode(code);
         Mat mat = matService.selectByCode(code);
         if (Cools.isEmpty(mat)){
+            //zc 娣诲姞鏄剧ず灞忎俊鎭紝杈撳嚭鐗╂枡鏃犳硶鎴栧埆绛夋儏鍐�
+            // led 寮傚父鏄剧ず
+            LedThread   ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+            if (ledThread != null) {
+                String errorMsg = code + "鏈壘鍒板搴旂殑鐗╂枡淇℃伅锛�";
+                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+            }
             throw new  CoolException("鏈壘鍒板搴旂殑鐗╂枡淇℃伅");
         }
         CombParam combParam = new CombParam();
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 6cd6912..c735dbe 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -90,6 +90,8 @@
 
 
                 } catch (Exception e) {
+
+
                     e.printStackTrace();
                 }
             }
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 70a9fef..dab59c9 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -768,11 +768,11 @@
                 boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i*4, 1);
 //                short tongType = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 2);
                 short amount = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 6);
-                String batch = siemensS7Net.getByteTransform().TransString(result.Content,i * 4+ 8, 20, "UTF-8");
+                String batch = siemensS7Net.getByteTransform().TransString(result.Content,i * 4+ 8, 20, "UTF-8").trim();
                 short ban = siemensS7Net.getByteTransform().TransInt16(result.Content, i * 4 + 28);
                 Integer w1 = siemensS7Net.getByteTransform().TransInt32(result.Content, i * 4 + 30);
                 String orderNo = siemensS7Net.getByteTransform().TransString(result.Content, i * 4 + 34,22, "UTF-8");
-                String matnr = siemensS7Net.getByteTransform().TransString(result.Content, i * 4 + 56,22, "UTF-8");
+                String matnr = siemensS7Net.getByteTransform().TransString(result.Content, i * 4 + 56,22, "UTF-8").trim();
 
 
                 StaProtocol staProtocol = station.get(siteId);
@@ -843,7 +843,7 @@
         //浠诲姟涓嬪彂娆℃暟
         int writeCount = 0;
         do {
-            write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo());    // 宸ヤ綔鍙�
+            write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo().intValue());    // 宸ヤ綔鍙�
             Thread.sleep(200);
             write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue());    // 鐩爣绔�
             if(write.IsSuccess && write1.IsSuccess){
@@ -885,12 +885,18 @@
         //浠诲姟涓嬪彂娆℃暟
         int writeCount = 0;
         do {
-            write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo());    // 宸ヤ綔鍙�
+             write = siemensS7Net.Write("DB100." + index*10, staProtocol.getWorkNo().intValue());    // 宸ヤ綔鍙�
             Thread.sleep(100);
-            write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue());    // 鐩爣绔�
+             write1 = siemensS7Net.Write("DB100." + (index*10+4), staProtocol.getStaNo());    // 鐩爣绔�
             Thread.sleep(100);
-            write2 = siemensS7Net.Write("DB100." + (index*10+6), staProtocol.getMatnr());    // 鐩爣绔�
-            if(write.IsSuccess && write1.IsSuccess){
+             write2 = siemensS7Net.Write("DB100." + (index*10+6), staProtocol.getMatnr());    // 鐩爣绔�
+
+//            write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo());    // 宸ヤ綔鍙�
+
+//            write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue());    // 鐩爣绔�
+
+//            write2 = siemensS7Net.Write("DB100." + (index*10+6), staProtocol.getMatnr());    // 鐩爣绔�
+            if(write.IsSuccess && write1.IsSuccess && write2.IsSuccess){
                 log.error("鍐欏叆杈撻�佺嚎鍛戒护鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
                 break;
             }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 085d569..1985a5a 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -230,11 +230,11 @@
       staNo: 2106
       barcode: ${wcs-slave.barcode[2].id}
       backSta: 2105
-      led: ${wcs-slave.led[0].id}
+      led: ${wcs-slave.led[4].id}
     # 绌烘澘鍏ュ簱鍙�1
     emptyInSta[0]:
       staNo: 2106
-      led: ${wcs-slave.led[0].id}
+      led: ${wcs-slave.led[4].id}
     # 杈撻�佺嚎3
   devp[2]:
     id: 3
@@ -433,8 +433,8 @@
     id: 5
     ip: 10.10.10.206
     port: 5005
-    devpPlcId: ${wcs-slave.devp[6].id}
-    staArr: 3007
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 2106
   # LED6
   led[5]:
     id: 6

--
Gitblit v1.9.1