From 3d40ce7e16a9e53bad6637bbed824507f06148b4 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期一, 26 五月 2025 10:20:51 +0800
Subject: [PATCH] #ZH

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

diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 2abca84..723c1c1 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -471,6 +471,29 @@
                                 if (!staProtocol.isAutoing() || staProtocol.isLoading()
                                         || staProtocol.getWorkNo() != 0
                                 ){
+                                    if (targetPosition.equals(nowPosRunTask.getTargetPosition())){
+                                        if (rgvProtocolOther.getRgvPosDestination() >= rgvProtocolOther.getRgvPos()-50) {
+                                            long avoid = rgvProtocolOther.getRgvPos() - rgvProtocolOther.getCarBodyJiaoMing() - avoidDistance - rgvProtocol.getCarBodyKunPeng();
+                                            if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[1])) {
+                                                log.error("RGV琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+                                                try{
+                                                    DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+                                                    deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿");
+                                                } catch (Exception e2){
+                                                    log.error("e2:"+e2.getMessage());
+                                                }
+                                                return false;
+                                            }
+                                            long avoidAbs = Math.abs(avoid - rgvProtocol.getRgvPos());
+                                            if (avoidAbs<51){
+                                                return false;
+                                            }
+                                            rgvTaskProtocol.setAvoid(1);
+                                            rgvTaskProtocol.setAvoidingTheDestination(avoid);
+                                            RgvTaskCache.updateRgvStatus(rgvTaskProtocol);
+                                        }
+                                        return false;
+                                    }
                                     signNowPosRun =false;
                                 }
                             }
@@ -584,6 +607,29 @@
                                 if (!staProtocol.isAutoing() || staProtocol.isLoading()
                                         || staProtocol.getWorkNo() != 0
                                 ){
+                                    if (targetPosition.equals(nowPosRunTask.getTargetPosition())){
+                                        if (rgvProtocolOther.getRgvPosDestination() <= rgvProtocolOther.getRgvPos() + 50) {
+                                            long avoid = rgvProtocolOther.getRgvPos() + rgvProtocolOther.getCarBodyKunPeng() + avoidDistance + rgvProtocol.getCarBodyJiaoMing();
+                                            if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[0])) {
+                                                log.error("RGV琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+                                                try{
+                                                    DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+                                                    deviceErrorService.addDeviceError("rgv", slave.getId(), "RGV琛岃蛋瓒呭嚭鑼冨洿");
+                                                } catch (Exception e2){
+                                                    log.error("e2:"+e2.getMessage());
+                                                }
+                                                return false;
+                                            }
+                                            long avoidAbs = Math.abs(avoid - rgvProtocol.getRgvPos());
+                                            if (avoidAbs<51){
+                                                return false;
+                                            }
+                                            rgvTaskProtocol.setAvoid(1);
+                                            rgvTaskProtocol.setAvoidingTheDestination(avoid);
+                                            RgvTaskCache.updateRgvStatus(rgvTaskProtocol);
+                                        }
+                                        return false;
+                                    }
                                     signNowPosRun =false;
                                 }
                             }

--
Gitblit v1.9.1