From e98d4b1133ed058bfe1e6af75be9975aebfc32d8 Mon Sep 17 00:00:00 2001
From: zyh <zyh@123>
Date: 星期六, 28 三月 2026 16:00:35 +0800
Subject: [PATCH] 最后可运行版本

---
 src/main/java/com/zy/core/thread/SiemensDevpThread.java |   28 +++++++++++++++++++++++++---
 1 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 3c25a97..602624a 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -13,6 +13,7 @@
 import com.zy.asrs.entity.DeviceDataLog;
 import com.zy.asrs.service.BasDevpService;
 import com.zy.asrs.service.DeviceDataLogService;
+import com.zy.asrs.service.impl.RcsServiceImpl;
 import com.zy.common.utils.News;
 import com.zy.core.DevpThread;
 import com.zy.core.cache.MessageQueue;
@@ -25,6 +26,7 @@
 import com.zy.core.model.protocol.StaProtocol;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 
 import java.text.MessageFormat;
 import java.util.*;
@@ -236,20 +238,40 @@
             }
         }
 
-        //澶栧舰妫�娴�
+        //澶栧舰妫�娴� - 甯﹂槻鎶栧鐞�
         Integer[] arr={401,402};
         OperateResultExOne<byte[]> resultErr1 = siemensS7Net.Read("DB101.702.0", (short) (arr.length*6));
+
         for (int i = 0; i < arr.length; i++) {
             StaProtocol staProtocol1 = station.get(arr[i]);
-            if(resultErr1.IsSuccess){
+            if(resultErr1.IsSuccess && staProtocol1 != null){
                 boolean[] status1 = siemensS7Net.getByteTransform().TransBool(resultErr1.Content, i*6, 1);
+
+                // 銆愭柊澧炪�戜繚瀛樻棫鐨勮秴楂樼姸鎬�
+                boolean oldHighError = staProtocol1.isHighError();
+
+                // 鏇存柊鎵�鏈夌姸鎬�
                 staProtocol1.setFrontError(status1[0]);
                 staProtocol1.setBackError(status1[1]);
-                staProtocol1.setHighError(status1[2]);
+                staProtocol1.setHighError(status1[2]);  // 瓒呴珮鐘舵��
                 staProtocol1.setLeftError(status1[3]);
                 staProtocol1.setRightError(status1[4]);
                 staProtocol1.setWeightError(status1[5]);
                 staProtocol1.setBarcodeError(status1[6]);
+
+                // 銆愭柊澧炪�戣秴楂樼姸鎬佸彉鍖栧鐞� - 鍙湁鍙樺寲鏃舵墠璋冪敤
+                if (oldHighError != status1[2]) {
+                    try {
+                        RcsServiceImpl rcsService = SpringUtils.getBean(RcsServiceImpl.class);
+                        if (rcsService != null) {
+                            rcsService.agvPause(staProtocol1);
+                            log.info("瓒呴珮鐘舵�佸彉鍖� - 绔欑偣: {}, 鐘舵��: {} -> {}, 宸茶皟鐢ˋGV鎺у埗",
+                                    arr[i], oldHighError, status1[2]);
+                        }
+                    } catch (Exception e) {
+                        log.error("璋冪敤agvPause澶辫触 - 绔欑偣: {}, 閿欒: {}", arr[i], e.getMessage());
+                    }
+                }
             }
         }
 

--
Gitblit v1.9.1