#
Junjie
2024-10-17 d835d1b51f832889929cdf69010034a30ef44d02
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
@@ -84,6 +84,7 @@
        LiftAssignCommand assignCommand = new LiftAssignCommand();
        assignCommand.setLiftNo(liftProtocol.getLiftNo());
        assignCommand.setTaskNo(motion.getTaskNo());
        assignCommand.setDeviceTaskNo(liftThread.generateDeviceTaskNo(motion.getTaskNo(), MotionCtgType.get(motion.getMotionCtgEl())));
        assignCommand.setCommands(list);
        List<LiftCommand> command = new ArrayList<>();
@@ -100,7 +101,7 @@
                    break;
                }
                command = liftThread.getMoveCommand(motion.getTaskNo(), 0, Integer.parseInt(motion.getTarget()), LiftCommandModeType.MOVE);
                command = liftThread.getMoveCommand(assignCommand.getDeviceTaskNo(), 0, Integer.parseInt(motion.getTarget()), LiftCommandModeType.MOVE);
                list.addAll(command);
                return liftAction.assignWork(liftThread.getDevice(), assignCommand);
            case LIFT_WITH_GOODS:
@@ -112,7 +113,7 @@
//                    return false;
//                }
                command = liftThread.getPalletInOutCommand(motion.getTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()), motion.getOriDrt(), motion.getTarDrt(), LiftCommandModeType.PALLET_INOUT);
                command = liftThread.getPalletInOutCommand(assignCommand.getDeviceTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()), motion.getOriDrt(), motion.getTarDrt(), LiftCommandModeType.PALLET_INOUT);
                list.addAll(command);
                return liftAction.assignWork(liftThread.getDevice(), assignCommand);
            case LIFT_WITH_SHUTTLE:
@@ -125,7 +126,7 @@
                    return false;
                }
                command = liftThread.getMoveWithShuttleCommand(motion.getTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()), LiftCommandModeType.MOVE_CAR);
                command = liftThread.getMoveWithShuttleCommand(assignCommand.getDeviceTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()), LiftCommandModeType.MOVE_CAR);
                list.addAll(command);
                return liftAction.assignWork(liftThread.getDevice(), assignCommand);
            case LIFT_WITH_GOODS_AND_SHUTTLE:
@@ -144,7 +145,7 @@
                    return false;
                }
                command = liftThread.getLockCommand(motion.getTaskNo(), true);//获取提升机锁定命令
                command = liftThread.getLockCommand(assignCommand.getDeviceTaskNo(), true);//获取提升机锁定命令
                list.addAll(command);
                return liftAction.assignWork(liftThread.getDevice(), assignCommand);
            case LIFT_UNLOCK:
@@ -154,7 +155,7 @@
                    return false;
                }
                command = liftThread.getLockCommand(motion.getTaskNo(), false);//获取提升机解定命令
                command = liftThread.getLockCommand(assignCommand.getDeviceTaskNo(), false);//获取提升机解定命令
                list.addAll(command);
                return liftAction.assignWork(liftThread.getDevice(), assignCommand);
            case LIFT_SHUTTLE_ARRIVAL:
@@ -164,7 +165,7 @@
                    return false;
                }
                command = liftThread.getShuttleSignalCommand(motion.getTaskNo(), true);//获取小车已到位命令
                command = liftThread.getShuttleSignalCommand(assignCommand.getDeviceTaskNo(), true);//获取小车已到位命令
                list.addAll(command);
                return liftAction.assignWork(liftThread.getDevice(), assignCommand);
            default:
@@ -239,9 +240,15 @@
                if(staProtocol == null) {
                    return false;
                }
                if (!staProtocol.isAutoing()) {
                    return false;
                }
                if (!staProtocol.isLoading()) {
                    return false;
                }
                if (!motion.getTaskNo().equals(staProtocol.getWorkNo().intValue())) {
                    return false;
                }
                if (motion.getReleaseLift() == 1) {//释放提升机
                    task.setLiftNo(0);