zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
@@ -36,6 +36,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.Optional; @Component public class ShuttleAction { @@ -131,6 +132,27 @@ ShuttleAssignCommand assignCommand = redisCommand.getAssignCommand(); int commandStep = redisCommand.getCommandStep(); Integer mode = -1; if(commandStep < commands.size()) { //取出命令 ShuttleCommand currentCommand = commands.get(commandStep); mode = currentCommand.getMode(); } //判断设备是否空闲 Integer finalMode = mode; if (!shuttleThread.isDeviceIdle(new ExecuteSupport() { @Override public Boolean judgement() { if (ShuttleCommandModeType.CHARGE_CLOSE.id.equals(finalMode)) {//关闭充电motion return false;//不需要判断状态 } return true;//需要判断状态 } })) { return false; } // 完结上一条命令 boolean updateCommand = false; @@ -236,20 +258,6 @@ //取出命令 ShuttleCommand command = commands.get(commandStep); Integer mode = command.getMode(); //判断设备是否空闲 if (!shuttleThread.isDeviceIdle(new ExecuteSupport() { @Override public Boolean judgement() { if (ShuttleCommandModeType.CHARGE_CLOSE.id.equals(mode)) {//关闭充电motion return false;//不需要判断状态 } return true;//需要判断状态 } })) { return false; } // 下发命令 if (!write(command, device)) { zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapData.java
@@ -280,18 +280,11 @@ lists.add(list); } //获取严格模式参数 boolean mapStrict = true;//默认严格模式 Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getFlag, "shuttleMapStrict")); if (dict != null) { mapStrict = Boolean.parseBoolean(dict.getValue()); } if (mapStrict) {//严格模式下,载入库位状态 //过滤数据 //获取当前楼层库位数据 List<Loc> locs = locService.list(new LambdaQueryWrapper<Loc>() .eq(Loc::getLev, lev) .eq(Loc::getStatus, 1) .orderByAsc(Loc::getRow, Loc::getBay)); for (Loc loc : locs) { Integer row = loc.getRow(); @@ -320,15 +313,15 @@ } else if (mapType == NavigationMapType.DFX.id) { //车辆有货 //读取对应库位数据,将DFX库位状态的节点置为-1(障碍物) if (loc.getLocSts$().equals("F") || loc.getLocSts$().equals("D") || loc.getLocSts$().equals("X") if (loc.getLocStsFlag().equals("F") || loc.getLocStsFlag().equals("D") || loc.getLocStsFlag().equals("X") ) { mapNode.setValue(MapNodeType.DISABLE.id);//禁用节点 } } else if (mapType == NavigationMapType.NORMAL.id) { //过滤库位状态X if (loc.getLocSts$().equals("X")) { if (loc.getLocStsFlag().equals("X")) { mapNode.setValue(MapNodeType.DISABLE.id);//禁用节点 } } @@ -336,7 +329,6 @@ //更新list list.set(bay, mapNode); lists.set(row, list); } } //加载车辆坐标到地图中