src/main/java/com/zy/asrs/utils/Utils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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 @@ //获取除白名单外的指定楼层全部穿梭车xy坐标点 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;//楼层不同 } 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++;//目标楼层有车,数量增加 } }