From c1ef2d1fc4c0dae2bc8452924dcd77a0ff3a1ef5 Mon Sep 17 00:00:00 2001
From: cpT <1@123>
Date: 星期四, 19 六月 2025 15:02:52 +0800
Subject: [PATCH] #改造

---
 src/main/java/com/zy/asrs/utils/RouteUtils.java |   27 ++++++++++++++++++++++++---
 1 files changed, 24 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 457b767..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;
@@ -138,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()];
@@ -151,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