From ee44f92c42bfc99ceffa35555af2eb93ac75cf2c Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期二, 27 五月 2025 17:31:12 +0800 Subject: [PATCH] #ZH --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 52 insertions(+), 0 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 585322f..a57287c 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1509,7 +1509,51 @@ } return true; } + public boolean rgvOtherIDLEOther2(RgvSlave slave) { + RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getOtherId()); + RgvTaskProtocol rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getOtherId()); + + if (rgvProtocol == null || rgvTaskProtocol == null) { + return false; + } + if (!rgvProtocol.getModeType().equals(RgvModeType.AUTO) + || rgvProtocol.getRgvPos().equals(0L) + || rgvTaskProtocol.getAvoid() == -1) { + return false; + } + + if (rgvProtocol.getLoaded()!=0) { + return false; + } + return true; + } public boolean rgvOtherIDLE(RgvSlave slave,Integer staNo) { + RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId()); + RgvTaskProtocol rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getId()); + + if (rgvProtocol == null || rgvTaskProtocol == null) { + return false; + } + if (!rgvProtocol.getModeType().equals(RgvModeType.AUTO) || rgvProtocol.getRgvPos().equals(0L) || rgvTaskProtocol.getAvoid() == -1 + || ((!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE) || (Math.abs(rgvProtocol.getRgvPos() - rgvProtocol.getRgvPosDestination())>100)) && !rgvProtocol.getStatusType().equals(RgvStatusType.ROAM))) { + return false; + } + RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId()); + + if (rgvProtocolOther == null) { + return true; + } + if (rgvProtocolOther.statusEnable) { + BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", staNo)); + if (Math.abs(basDevpPosition.getPlcPosition()-rgvProtocol.getRgvPos()) + >= + Math.abs(basDevpPosition.getPlcPosition()-rgvProtocolOther.getRgvPos())){ + return false; + } + } + return true; + } + public boolean rgvOtherIDLE2(RgvSlave slave,Integer staNo) { RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId()); RgvTaskProtocol rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getId()); @@ -1683,6 +1727,14 @@ } } + if (!sign && staList.size()==1){ + if (rgvOtherIDLEOther2(rgvSlave)){ + if (!rgvOtherIDLE2(rgvSlave,staList.get(0))){ + sign=true; + } + } + } + if (!sign) { for (Integer staNoNow : rangeList) { for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) { -- Gitblit v1.9.1