#
Junjie
2024-10-17 3494dd089e4cee3fcb61ec3db28c74af790a0635
#
3个文件已修改
55 ■■■■ 已修改文件
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/ShuttleTaskModeType.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
@@ -79,10 +79,10 @@
        redisCommand.setAssignCommand(assignCommand);//命令
        //任务数据保存到redis
        if (redisUtil.set(DeviceRedisConstant.SHUTTLE_WORK_FLAG + assignCommand.getTaskNo(), JSON.toJSONString(redisCommand, SerializerFeature.DisableCircularReferenceDetect))) {
            if (assignCommand.getTaskMode() == ShuttleTaskModeType.PAK_IN.id
                    || assignCommand.getTaskMode() == ShuttleTaskModeType.PAK_OUT.id
                    || assignCommand.getTaskMode() == ShuttleTaskModeType.MOVE_LOC_NO.id
                    || assignCommand.getTaskMode() == ShuttleTaskModeType.SHUTTLE_MOVE_LOC_NO.id) {
            if (assignCommand.getTaskMode() == ShuttleTaskModeType.SHUTTLE_MOVE.id
                    || assignCommand.getTaskMode() == ShuttleTaskModeType.TRANSPORT.id
                    || assignCommand.getTaskMode() == ShuttleTaskModeType.MOVE_PALLET_LIFT.id
                    || assignCommand.getTaskMode() == ShuttleTaskModeType.MOVE_PALLET_DOWN.id) {
                //下发行驶路径
                CommandResponse response = shuttleThread.movePath(assignCommand.getNodes(), assignCommand.getDeviceTaskNo());
                Boolean result = response.getResult();
@@ -270,7 +270,7 @@
        basShuttleOpt.setTaskNo(redisCommand.getTaskNo());
        basShuttleOpt.setShuttleNo(Integer.parseInt(device.getDeviceNo()));
        basShuttleOpt.setMode(ShuttleCommandModeType.get(command.getMode()).desc);
        basShuttleOpt.setMode(ShuttleTaskModeType.get(assignCommand.getTaskMode()).desc);
        basShuttleOpt.setSourceLocNo(assignCommand.getSourceLocNo());
        basShuttleOpt.setDistLocNo(assignCommand.getLocNo());
        basShuttleOpt.setCommand(JSON.toJSONString(command));
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java
@@ -125,7 +125,7 @@
                    return true;
                }
                shuttleCommands = this.shuttleAssignCommand(motion.getOrigin(), motion.getTarget(), NavigationMapType.NORMAL.id, assignCommand, shuttleThread);
                shuttleTaskModeType = ShuttleTaskModeType.SHUTTLE_MOVE_LOC_NO;
                shuttleTaskModeType = ShuttleTaskModeType.SHUTTLE_MOVE;
                break;
            case SHUTTLE_TRANSPORT://穿梭车载货行走
                // 如果已经在当前条码则过滤
@@ -167,16 +167,16 @@
                    return true;
                }
                shuttleCommands = this.shuttleAssignCommand(motion.getOrigin(), motion.getTarget(), NavigationMapType.NORMAL.id, assignCommand, shuttleThread);
                shuttleTaskModeType = ShuttleTaskModeType.SHUTTLE_MOVE_LOC_NO;
                shuttleTaskModeType = ShuttleTaskModeType.TRANSPORT_TO_CONVEYOR;
                break;
            case SHUTTLE_MOVE_LIFT_PALLET://穿梭车顶升并移动
                shuttleCommands = this.shuttleAssignCommand(motion.getOrigin(), motion.getTarget(), NavigationMapType.DFX.id, assignCommand, shuttleThread);
                shuttleTaskModeType = ShuttleTaskModeType.PAK_IN;
                shuttleTaskModeType = ShuttleTaskModeType.MOVE_PALLET_LIFT;
                shuttleCommands.add(0, shuttleThread.getLiftCommand(motion.getTaskNo(), true));
                break;
            case SHUTTLE_MOVE_DOWN_PALLET://穿梭车移动并托盘下降
                shuttleCommands = this.shuttleAssignCommand(motion.getOrigin(), motion.getTarget(), NavigationMapType.DFX.id, assignCommand, shuttleThread);
                shuttleTaskModeType = ShuttleTaskModeType.PAK_IN;
                shuttleTaskModeType = ShuttleTaskModeType.MOVE_PALLET_DOWN;
                shuttleCommands.add(shuttleCommands.size(), shuttleThread.getLiftCommand(motion.getTaskNo(), false));
                break;
            case SHUTTLE_MOVE_FROM_LIFT://出提升机
@@ -216,7 +216,7 @@
//                }
                shuttleCommands = this.shuttleInOutLiftCommand(motion.getOrigin(), motion.getTarget(), NavigationMapType.NORMAL.id, assignCommand, shuttleThread);
                shuttleTaskModeType = ShuttleTaskModeType.SHUTTLE_MOVE_LOC_NO;
                shuttleTaskModeType = ShuttleTaskModeType.MOVE_OUT_LIFT;
                break;
            case SHUTTLE_MOVE_TO_LIFT://进提升机
                // 判断提升机状态
@@ -253,15 +253,15 @@
//                }
                shuttleCommands = this.shuttleAssignCommand(motion.getOrigin(), motion.getTarget(), NavigationMapType.NORMAL.id, assignCommand, shuttleThread);
                shuttleTaskModeType = ShuttleTaskModeType.SHUTTLE_MOVE_LOC_NO;
                shuttleTaskModeType = ShuttleTaskModeType.MOVE_TO_LIFT;
                break;
            case SHUTTLE_CHARGE_ON://充电开
                shuttleTaskModeType = ShuttleTaskModeType.CHARGE;
                shuttleTaskModeType = ShuttleTaskModeType.CHARGE_ON;
                shuttleCommands.add(shuttleThread.getChargeCommand(motion.getTaskNo(), true));
                assignCommand.setCharge(Boolean.TRUE);
                break;
            case SHUTTLE_CHARGE_OFF://充电关
                shuttleTaskModeType = ShuttleTaskModeType.CHARGE;
                shuttleTaskModeType = ShuttleTaskModeType.CHARGE_OFF;
                shuttleCommands.add(shuttleThread.getChargeCommand(motion.getTaskNo(), false));
                assignCommand.setCharge(Boolean.TRUE);
                break;
@@ -278,7 +278,7 @@
                shuttleCommands.add(shuttleThread.getUpdateLocationCommand(motion.getTaskNo(), motion.getTarget()));
                break;
            case SHUTTLE_MOVE_STANDBY://穿梭车移动到待机位
                shuttleTaskModeType = ShuttleTaskModeType.SHUTTLE_MOVE_LOC_NO;
                shuttleTaskModeType = ShuttleTaskModeType.SHUTTLE_MOVE;
                //获取全部待机位
                List<String> standbyLocs = JSON.parseArray(motion.getTemp(), String.class);
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/ShuttleTaskModeType.java
@@ -3,8 +3,8 @@
public enum ShuttleTaskModeType {
    INIT(0, "初始"),    // 初始
    PAK_IN(1, "入库"),
    PAK_OUT(2, "出库"),
    MOVE_PALLET_LIFT(1, "移动并托盘顶升"),
    MOVE_PALLET_DOWN(2, "移动并托盘下降"),
    PALLET_LIFT(3, "托盘顶升"),
    PALLET_DOWN(4, "托盘下降"),
    X_NEGATIVE(5, "X-方向"),
@@ -16,17 +16,18 @@
    SEARCH_RIGHT(11, "负方向(左)寻库位"),
    SEARCH_TOP(12, "负方向(前)寻库位"),
    SEARCH_BOTTOM(13, "负方向(后)寻库位"),
    MOVE_LOC_NO(14, "移动到目标库位"),
    CHARGE(15, "充电"),
    MOVE_LIFT(16, "移动到提升机"),
    AVOID(17, "避让任务"),
    TRANSPORT(18, "搬运任务"),
    SHUTTLE_MOVE_LOC_NO(19, "小车移库任务"),
    SHUTTLE_LOC_TO_LOC(20, "库位移转"),
    SHUTTLE_CONTROL(21, "小车管制"),
    SHUTTLE_CANCEL_CONTROL(22, "小车取消管制"),
    MOVE_LOC_NO_WRK_MAST(23, "移动到目标库位(生成移动任务)"),
    SHUTTLE_UPDATE_LOCATION(24, "小车坐标更新"),
    CHARGE_ON(14, "充电开"),
    CHARGE_OFF(15, "充电关"),
    MOVE_TO_LIFT(16, "小车进提升机"),
    MOVE_OUT_LIFT(17, "小车出提升机"),
    AVOID(18, "避让任务"),
    TRANSPORT(19, "小车载货移动"),
    TRANSPORT_TO_CONVEYOR(20, "小车载货进输送线"),
    SHUTTLE_MOVE(21, "小车移动"),
    SHUTTLE_CONTROL(22, "小车管制"),
    SHUTTLE_CANCEL_CONTROL(23, "小车取消管制"),
    MOVE_LOC_NO_WRK_MAST(24, "移动到目标库位(生成移动任务)"),
    SHUTTLE_UPDATE_LOCATION(25, "小车坐标更新"),
    ;
    public Integer id;