From 98f1c4c9ffbbb3347ad752821505bc3c70ea4efc Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期日, 27 四月 2025 10:52:50 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 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 1fbc07a..be3b65a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1211,7 +1211,7 @@
 
                     if (rgvOtherStatusEnable(rgvSlave)){
                         //鍒嗘垚涓婁笅涓ら儴鍒嗕换鍔�
-                        List<Integer>[] avoidRange = RouteUtils.gradeRange(staList, basDevpPositions);
+                        List<Integer>[] avoidRange = RouteUtils.gradeRange(staList, basDevpPositions,itSmall);
                         List<Integer> rangeListSou = avoidRange[itSmall ? 0 : 1];
                         List<Integer> rangeListSouOther = avoidRange[itSmall ? 1 : 0];
                         //灏辫繎鎺掑簭
@@ -1223,15 +1223,17 @@
 
                         //绛涢�夎寖鍥村唴浠诲姟
                         //灏辫繎鎺掑簭
-                        RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(rgvSlave.getOtherId());
                         //绛涢�夊湪鑼冨洿浠诲姟
-                        List<Integer> belongToRange = RouteUtils.belongToRange(rangeList, rgvProtocolOther.getRgvPosDestination(), basDevpPositions);
+                        Long[][] avoidedRange = new TrackRangeUtils().avoidRangeArr(rgvSlave, trackEntireLength, trackBenchmark, avoidDistance);
+                        List<Integer> belongToRange = RouteUtils.SortNearby(RouteUtils.belongToRange(rangeList, avoidedRange[0], basDevpPositions), rgvProtocol.RgvPos, basDevpPositions);
+
                         for (Integer staNoNow : belongToRange){
                             for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()){
                                 if (rgvStn.getStaNo().equals(staNoNow)){
                                     TaskWrk taskWrk = deviceDetection(rgvStn);
                                     if (taskWrk!=null){
-                                        if (RouteUtils.CheckIfItIsWithinTheRange(rangeList,taskWrk.getTargetPointConvert(),basDevpPositions)){
+                                        BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", taskWrk.getTargetPointConvert()));
+                                        if (RouteUtils.CheckIfItIsWithinTheRange(rangeList,basDevpPosition.getPlcPosition(),basDevpPositions,itSmall)){
                                             sign = taskGenerate(rgvSlave,rgvStn,0);
                                         }
                                     }
@@ -1263,7 +1265,8 @@
                                     if (rgvStn.getStaNo().equals(staNoNow)){
                                         TaskWrk taskWrk = deviceDetection(rgvStn);
                                         if (taskWrk!=null){
-                                            if (RouteUtils.CheckIfItIsWithinTheRange(rangeList,taskWrk.getTargetPointConvert(),basDevpPositions)){
+                                            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", taskWrk.getTargetPointConvert()));
+                                            if (RouteUtils.CheckIfItIsWithinTheRange(rangeList,basDevpPosition.getPlcPosition(),basDevpPositions,itSmall)){
                                                 sign = taskGenerate(rgvSlave,rgvStn,0);
                                             }
                                         }
@@ -1296,7 +1299,8 @@
                                     if (rgvStn.getStaNo().equals(staNoNow)){
                                         TaskWrk taskWrk = deviceDetection(rgvStn);
                                         if (taskWrk!=null){
-                                            if (RouteUtils.CheckIfItIsWithinTheRange(rangeList,taskWrk.getTargetPointConvert(),basDevpPositions)){
+                                            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", taskWrk.getTargetPointConvert()));
+                                            if (RouteUtils.CheckIfItIsWithinTheRange(rangeList,basDevpPosition.getPlcPosition(),basDevpPositions,itSmall)){
                                                 sign = taskGenerate(rgvSlave,rgvStn,0);
                                             }
                                         }

--
Gitblit v1.9.1