From 69e1880e5486ebc62da4806642ca817afda9c84c Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期四, 05 十月 2023 14:09:45 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/Utils.java | 17 ++++++++++++++--- src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java | 15 +++++++++++++-- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 4a3c0a9..72821fa 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -4,7 +4,9 @@ import com.core.common.Arith; import com.core.common.Cools; import com.core.common.SpringUtils; +import com.zy.asrs.entity.BasShuttle; import com.zy.asrs.entity.LocMast; +import com.zy.asrs.service.BasShuttleService; import com.zy.asrs.service.LocMastService; import com.zy.asrs.service.impl.MainServiceImpl; import com.zy.common.model.NavigateNode; @@ -392,6 +394,7 @@ //鑾峰彇闄ょ櫧鍚嶅崟澶栫殑鎸囧畾妤煎眰鍏ㄩ儴绌挎杞y鍧愭爣鐐� public static List<int[]> getShuttlePoints(Integer whiteShuttle, Integer lev) { + BasShuttleService basShuttleService = SpringUtils.getBean(BasShuttleService.class); SlaveProperties slaveProperties = SpringUtils.getBean(SlaveProperties.class); ArrayList<int[]> list = new ArrayList<>(); for (ShuttleSlave slave : slaveProperties.getShuttle()) { @@ -409,11 +412,19 @@ continue; } - if (shuttleProtocol.getCurrentLocNo() == null) { - continue; + String currentLocNo = shuttleProtocol.getCurrentLocNo(); + + if (currentLocNo == null) { + //灏忚溅娌℃湁搴撲綅鍙锋暟鎹紝浠庢暟鎹簱涓彇 + BasShuttle basShuttle = basShuttleService.selectById(slave.getId()); + if (basShuttle == null || basShuttle.getPoint() == null) { + continue; + } + NyShuttleProtocol.NyShuttlePointClass shuttlePoint = JSON.parseObject(basShuttle.getPoint(), NyShuttleProtocol.NyShuttlePointClass.class); + currentLocNo = NavigatePositionConvert.nyXyzToLocNo(shuttlePoint.getX(), shuttlePoint.getY(), shuttlePoint.getZ()); } - if (lev != Utils.getLev(shuttleProtocol.getCurrentLocNo())) { + if (lev != Utils.getLev(currentLocNo)) { continue;//妤煎眰涓嶅悓 } diff --git a/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java b/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java index 7396b7e..b9ed6ba 100644 --- a/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java +++ b/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java @@ -1,14 +1,17 @@ package com.zy.common.utils; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.SpringUtils; import com.core.exception.CoolException; import com.zy.asrs.entity.BasDevp; +import com.zy.asrs.entity.BasShuttle; import com.zy.asrs.entity.WrkCharge; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.mapper.WrkChargeMapper; import com.zy.asrs.mapper.WrkMastMapper; import com.zy.asrs.service.BasDevpService; +import com.zy.asrs.service.BasShuttleService; import com.zy.asrs.service.WrkMastService; import com.zy.asrs.utils.Utils; import com.zy.common.model.NavigateNode; @@ -281,6 +284,7 @@ * true: 灏忎簬鏈�澶ф暟閲� false: 澶т簬鎴栫瓑浜庢渶澶ф暟閲� */ public boolean checkDispatchMaxNum(Integer lev) { + BasShuttleService basShuttleService = SpringUtils.getBean(BasShuttleService.class); ConfigService configService = SpringUtils.getBean(ConfigService.class); EntityWrapper<Config> wrapper = new EntityWrapper<>(); wrapper.eq("code", "dispatchShuttleMaxNum"); @@ -298,11 +302,18 @@ continue; } + NyShuttleProtocol.NyShuttlePointClass point = null; if (shuttleProtocol.getPoint() == null) { - continue; + BasShuttle basShuttle = basShuttleService.selectById(shuttle.getId());//灏忚溅濡傛灉娌℃湁鏁版嵁锛屼粠鏁版嵁搴撳彇鏁版嵁 + if (basShuttle == null || basShuttle.getPoint() == null) { + continue; + } + point = JSON.parseObject(basShuttle.getPoint(), NyShuttleProtocol.NyShuttlePointClass.class); + }else { + point = shuttleProtocol.getPoint(); } - if (shuttleProtocol.getPoint().getZ().equals(lev)) { + if (point.getZ().equals(lev)) { levCount++;//鐩爣妤煎眰鏈夎溅锛屾暟閲忓鍔� } } -- Gitblit v1.9.1