From fe783a3ae2295dba85fd9775b610eb13e4e41f00 Mon Sep 17 00:00:00 2001
From: cpT <1@123>
Date: 星期二, 24 六月 2025 22:36:37 +0800
Subject: [PATCH] #改造

---
 src/main/java/com/zy/asrs/utils/RouteUtils.java |   28 +++++++++++++++++++++++++---
 1 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index 905be8d..31de94a 100644
--- a/src/main/java/com/zy/asrs/utils/RouteUtils.java
+++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -1,10 +1,13 @@
 package com.zy.asrs.utils;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.SpringUtils;
 import com.zy.asrs.entity.BasDevpPosition;
 import com.zy.asrs.entity.TaskWrk;
 import com.zy.asrs.entity.WrkMast;
 import com.zy.core.enums.RouteCollectCountType;
 import com.zy.core.model.RgvSlave;
+import com.zy.system.service.UserService;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -127,6 +130,7 @@
             for (BasDevpPosition basDevpPosition : basDevpPositions) {
                 if (basDevpPosition.getPlcPosition().equals(position)) {
                     basDevpPositionSort.add(basDevpPosition);
+                    basDevpPositions.remove(basDevpPosition);
                     break;
                 }
             }
@@ -137,6 +141,7 @@
     //妫�娴嬫槸鍚﹀湪鑼冨洿
     public static boolean CheckIfItIsWithinTheRange(List<Integer> staNoList, Long staNoNowPos, List<BasDevpPosition> basDevpPositionList, boolean itSmall) {
         List<Integer> siteList = new ArrayList<>();
+        Long maxOrMin = 0L;
 
 
         Integer[] rangeList = new Integer[staNoList.size()];
@@ -150,11 +155,28 @@
                 }
             }
         }
-
         if (itSmall) {
-            return staNoNowPos <= rangeList[rangeList.length - 1];
+            for (BasDevpPosition basDevpPosition : basDevpPositionList) {
+                if (basDevpPosition.getDevNo().equals(rangeList[rangeList.length - 1])) {
+                    maxOrMin = basDevpPosition.getPlcPosition();
+                    break;
+                }
+            }
+            if (maxOrMin == 0){
+                return false;
+            }
+            return staNoNowPos <= maxOrMin+50;
         }
-        return staNoNowPos >= rangeList[0];
+        for (BasDevpPosition basDevpPosition : basDevpPositionList) {
+            if (basDevpPosition.getDevNo().equals(rangeList[0])) {
+                maxOrMin = basDevpPosition.getPlcPosition();
+                break;
+            }
+        }
+        if (maxOrMin == 0){
+            return false;
+        }
+        return staNoNowPos >= maxOrMin-50;
     }
 
     public static long absoluteDifference(Long a, Long b) {

--
Gitblit v1.9.1