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