From ff28b7ce248f4f4b36e0cd1c6db71dc25d308189 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期日, 25 五月 2025 15:09:13 +0800
Subject: [PATCH] 初始化

---
 src/main/java/com/zy/core/thread/RgvThread.java |   77 ++++++++++++++++++++++++--------------
 1 files changed, 49 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 1315b2d..2abca84 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -292,7 +292,7 @@
         while (true) {
             try {
                 // 浼戠湢 1 绉�
-                Thread.sleep(100);
+                Thread.sleep(50);
                 if (!deviceDetection()) {
                     continue;
                 }
@@ -319,7 +319,8 @@
                         write(issued);
                         rgvTaskProtocol.setAvoid(0);
 
-                        Thread.sleep(200);
+                        try{Thread.sleep(50L);} catch (Exception e){}
+
                         RgvTaskCache.updateRgvStatus(rgvTaskProtocol);
                     }
                     continue;
@@ -352,22 +353,6 @@
                 } else {
                     for (TaskProtocol taskProtocol : allTakeTaskProtocol) {
                         if (taskProtocol.getIsRunning() == 1) {//鍑嗗涓嬪彂
-//                        RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId());
-                            if (taskProtocol.getTaskStatus()==3){
-                                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, taskProtocol.getTargetPositionStaNoPlcId());
-                                StaProtocol staProtocol = devpThread.getStation().get(taskProtocol.getTargetPositionStaNo());
-                                if (staProtocol == null ) {
-                                    continue;
-                                }
-                                // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
-                                if (!staProtocol.isAutoing() || staProtocol.isLoading()
-                                        || staProtocol.getWorkNo() != 0
-                                ){
-                                    Thread.sleep(500);
-//                                    System.out.println("<鏀捐揣鐩爣绔�>" + taskProtocol.getTargetPositionStaNo() + "<闈炶嚜鍔ㄦ垨鑰呮湁鐗╂垨鑰呭瓨鍦ㄥ伐浣滃彿锛侊紒锛�>");
-//                                continue;
-                                }
-                            }
                             //鍙岃溅
                             if (rgvOtherStatusEnable()) {
                                 //鍙︿竴鍙拌溅鏄惁鍏佽姝ゅ彴杞︽墽琛�
@@ -387,8 +372,6 @@
                                     if (!staProtocol.isAutoing() || staProtocol.isLoading()
                                             || staProtocol.getWorkNo() != 0
                                     ){
-                                        Thread.sleep(500);
-//                                    System.out.println("<鏀捐揣鐩爣绔�>" + taskProtocol.getTargetPositionStaNo() + "<闈炶嚜鍔ㄦ垨鑰呮湁鐗╂垨鑰呭瓨鍦ㄥ伐浣滃彿锛侊紒锛�>");
                                         continue;
                                     }
                                 }
@@ -474,8 +457,27 @@
 
                     RgvThread rgvThreadOther = (RgvThread) SlaveConnection.get(SlaveType.Rgv, slave.getOtherId());
                     TaskProtocolCache taskProtocolCacheOther = rgvThreadOther.getTaskProtocolCache();
-                    if (taskProtocolCacheOther.isNowPosRun(rgvProtocolOther.getRgvPos())){
-                        return false;
+                    TaskProtocol nowPosRunTask = taskProtocolCacheOther.getNowPosRunTask(rgvProtocolOther.getRgvPos());
+                    if (!Cools.isEmpty(nowPosRunTask)){
+                        boolean signNowPosRun = true;
+                        if (nowPosRunTask.getTaskStatus()==3){
+                            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, nowPosRunTask.getTargetPositionStaNoPlcId());
+                            StaProtocol staProtocol = devpThread.getStation().get(nowPosRunTask.getTargetPositionStaNo());
+                            if (staProtocol == null ) {
+                                signNowPosRun =false;
+                            }
+                            if (signNowPosRun){
+                                // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+                                if (!staProtocol.isAutoing() || staProtocol.isLoading()
+                                        || staProtocol.getWorkNo() != 0
+                                ){
+                                    signNowPosRun =false;
+                                }
+                            }
+                        }
+                        if (signNowPosRun){
+                            return false;
+                        }
                     }
                     long avoid = targetPosition + rgvProtocol.getCarBodyKunPeng() + avoidDistance + rgvProtocolOther.getCarBodyJiaoMing();
                     if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[0])) {
@@ -568,8 +570,27 @@
                 } else {
                     RgvThread rgvThreadOther = (RgvThread) SlaveConnection.get(SlaveType.Rgv, slave.getOtherId());
                     TaskProtocolCache taskProtocolCacheOther = rgvThreadOther.getTaskProtocolCache();
-                    if (taskProtocolCacheOther.isNowPosRun(rgvProtocolOther.getRgvPos())){
-                        return false;
+                    TaskProtocol nowPosRunTask = taskProtocolCacheOther.getNowPosRunTask(rgvProtocolOther.getRgvPos());
+                    if (!Cools.isEmpty(nowPosRunTask)){
+                        boolean signNowPosRun = true;
+                        if (nowPosRunTask.getTaskStatus()==3){
+                            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, nowPosRunTask.getTargetPositionStaNoPlcId());
+                            StaProtocol staProtocol = devpThread.getStation().get(nowPosRunTask.getTargetPositionStaNo());
+                            if (staProtocol == null ) {
+                                signNowPosRun =false;
+                            }
+                            if (signNowPosRun){
+                                // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+                                if (!staProtocol.isAutoing() || staProtocol.isLoading()
+                                        || staProtocol.getWorkNo() != 0
+                                ){
+                                    signNowPosRun =false;
+                                }
+                            }
+                        }
+                        if (signNowPosRun){
+                            return false;
+                        }
                     }
                     long avoid = targetPosition - rgvProtocol.getCarBodyJiaoMing() - avoidDistance - rgvProtocolOther.getCarBodyKunPeng();
                     if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[1])) {
@@ -910,8 +931,8 @@
         }
 
         if (result != null && result.IsSuccess) {
-            Thread.sleep(200);
-            this.readStatus();
+//            Thread.sleep(50);
+//            this.readStatus();
             log.info("RGV 鍛戒护涓嬪彂[id:{}] >>>>> {}", slave.getId(), JSON.toJSON(taskProtocol));
             log.error("RGV 鍛戒护涓嬪彂 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
 
@@ -960,8 +981,8 @@
         }
 
         if (result != null && result.IsSuccess) {
-            Thread.sleep(200);
-            this.readStatus();
+//            Thread.sleep(200);
+//            this.readStatus();
             log.info("RGV 鍛戒护涓嬪彂[id:{}] >>>>> {}", slave.getId(), JSON.toJSON("null"));
             OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON("null")));
             return true;

--
Gitblit v1.9.1