src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/utils/Utils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/ShuttleThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/impl/NyShuttleThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -716,7 +716,7 @@ } } //检测楼层是否有穿梭车 //检测楼层是否有可用穿梭车 boolean checkLevHasShuttle = Utils.checkLevHasShuttle(liftSta.getLev()); if (!checkLevHasShuttle) { if (wrkMast.getShuttleNo() != null) { src/main/java/com/zy/asrs/utils/Utils.java
@@ -5,7 +5,9 @@ import com.core.common.Cools; import com.core.common.SpringUtils; import com.zy.asrs.entity.LocMast; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.LocMastService; import com.zy.asrs.service.WrkMastService; import com.zy.common.model.NavigateNode; import com.zy.common.model.enums.NavigationMapType; import com.zy.common.utils.NavigatePositionConvert; @@ -142,9 +144,10 @@ return list; } //检测楼层是否有穿梭车 //检测楼层是否有可用穿梭车 public static boolean checkLevHasShuttle(Integer lev) { SlaveProperties slaveProperties = SpringUtils.getBean(SlaveProperties.class); WrkMastService wrkMastService = SpringUtils.getBean(WrkMastService.class); for (ShuttleSlave shuttle : slaveProperties.getShuttle()) { //获取四向穿梭车线程 ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttle.getId()); @@ -160,6 +163,22 @@ continue; } //小车正在充电 if (shuttleThread.isCharging()) { continue; } //小车有充电任务 WrkMast chargeWorking = wrkMastService.selectChargeWorking(shuttleProtocol.getShuttleNo()); if (chargeWorking != null) {//已有充电任务 continue; } //小车处于故障状态 if (shuttleThread.isFault()) { continue; } if (lev == Utils.getLev(currentLocNo)) { return true;//指定楼层有穿梭车 } src/main/java/com/zy/core/thread/ShuttleThread.java
@@ -45,6 +45,8 @@ boolean isChargingCompleted();//是否充电完成 boolean isFault();//是否故障 List<NavigateNode> getMoveAdvancePath();//获取穿梭车任务路径 int generateDeviceTaskNo(int taskNo, ShuttleTaskNoType type);//生成硬件设备工作号 src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
@@ -715,6 +715,23 @@ } @Override public boolean isFault() { if (this.shuttleProtocol.getErrorCode() == null || this.shuttleProtocol.getMode() == null || this.shuttleProtocol.getExtend() == null ) { return false; } InnerSuhttleExtend extend = (InnerSuhttleExtend) this.shuttleProtocol.getExtend(); boolean res = this.shuttleProtocol.getMode() == 0 && !this.shuttleProtocol.getErrorCode().equals("0") && extend.getSuspendState() == 1 ; return res; } @Override public List<NavigateNode> getMoveAdvancePath() { ObjectMapper objectMapper = SpringUtils.getBean(ObjectMapper.class); NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class);