#
Junjie
2024-04-23 2db722e23d7e5d1d2e719174938f354d804644af
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
@@ -19,7 +19,6 @@
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.Objects;
/**
@@ -48,11 +47,8 @@
            return false;
        }
        //自动、就绪、空闲
        if (!(liftProtocol.getModel()
                && liftProtocol.getReady()
                && !liftProtocol.getRun())
        ) {
        //判断提升机是否自动
        if (!liftThread.isIdle()) {
            return false;
        }
@@ -66,7 +62,7 @@
        ArrayList<LiftCommand> list = new ArrayList<>();
        LiftAssignCommand assignCommand = new LiftAssignCommand();
        assignCommand.setLiftNo(liftProtocol.getLiftNo());
        assignCommand.setTaskNo(motion.getWrkNo());
        assignCommand.setTaskNo(motion.getTaskNo());
        assignCommand.setCommands(list);
        LiftCommand command = new LiftCommand();
@@ -74,11 +70,11 @@
            case LIFT_MOVE:
                // 如果已经在目标层,那边层过滤
                if (liftProtocol.getLev().equals(Integer.valueOf(motion.getTarget()))) {
                    liftProtocol.setTaskNo(motion.getWrkNo());
                    liftThread.setSyncTaskNo(motion.getTaskNo());
                    break;
                }
                command = liftThread.getEmptyMoveCommand(motion.getWrkNo(), Integer.parseInt(motion.getTarget()));
                command = liftThread.getMoveCommand(motion.getTaskNo(), 0, Integer.parseInt(motion.getTarget()), null);
                list.add(command);
                return liftAction.assignWork(liftThread.getDevice(), assignCommand);
            case LIFT_WITH_GOODS:
@@ -96,7 +92,7 @@
                    return false;
                }
                command = liftThread.getMoveWithShuttleCommand(motion.getWrkNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()));
                command = liftThread.getMoveWithShuttleCommand(motion.getTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()), null);
                list.add(command);
                return liftAction.assignWork(liftThread.getDevice(), assignCommand);
            case LIFT_WITH_GOODS_AND_SHUTTLE:
@@ -212,17 +208,14 @@
            return false;
        }
        if (liftProtocol.getRun() || liftProtocol.getTaskNo() != motion.getWrkNo().shortValue()) {
        if (liftProtocol.getRun() || liftProtocol.getTaskNo() != motion.getTaskNo().shortValue()) {
            return false;
        }
        switch (Objects.requireNonNull(MotionCtgType.get(motion.getMotionCtgEl()))){
            case LIFT_MOVE:
                // 判断提升机是否自动、空闲、准备就绪、链条没有转动、没有未就绪报错
                if (!liftProtocol.getModel()
                        || liftProtocol.getRun()
                        || !liftProtocol.getReady()
                ) {
                // 判断提升机是否空闲
                if (!liftThread.isIdle()) {
                    return false;
                }
@@ -231,11 +224,8 @@
                }
                break;
            case LIFT_WITH_GOODS:
                // 判断提升机是否自动、空闲、准备就绪、链条没有转动、没有未就绪报错
                if (!liftProtocol.getModel()
                        || liftProtocol.getRun()
                        || !liftProtocol.getReady()
                ) {
                // 判断提升机是否空闲
                if (!liftThread.isIdle()) {
                    return false;
                }
@@ -249,11 +239,8 @@
                break;
            case LIFT_WITH_SHUTTLE:
                // 判断提升机是否自动、空闲、准备就绪、链条没有转动、没有未就绪报错
                if (!liftProtocol.getModel()
                        || liftProtocol.getRun()
                        || !liftProtocol.getReady()
                ) {
                // 判断提升机是否空闲
                if (!liftThread.isIdle()) {
                    return false;
                }
@@ -267,11 +254,8 @@
                }
                break;
            case LIFT_WITH_GOODS_AND_SHUTTLE:
                // 判断提升机是否自动、空闲、准备就绪、链条没有转动、没有未就绪报错
                if (!liftProtocol.getModel()
                        || liftProtocol.getRun()
                        || !liftProtocol.getReady()
                ) {
                // 判断提升机是否空闲
                if (!liftThread.isIdle()) {
                    return false;
                }
@@ -354,7 +338,7 @@
                return false;
        }
        liftProtocol.setTaskNo(0);//清零工作号
        liftThread.setSyncTaskNo(0);//清零工作号
        return true;
    }