1
zhangc
2025-04-10 50435a81915932eda06b7f1afd48f9ff1ae84f19
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/LiftAction.java
@@ -6,6 +6,7 @@
import com.zy.asrs.wcs.core.model.command.*;
import com.zy.asrs.wcs.core.model.enums.LiftCommandModeType;
import com.zy.asrs.wcs.core.service.TaskService;
import com.zy.asrs.wcs.core.utils.LiftDispatcher;
import com.zy.asrs.wcs.core.utils.RedisUtil;
import com.zy.asrs.wcs.rcs.News;
import com.zy.asrs.wcs.rcs.cache.SlaveConnection;
@@ -33,6 +34,8 @@
    private TaskService taskService;
    @Autowired
    private BasLiftOptService basLiftOptService;
    @Autowired
    private LiftDispatcher liftDispatcher;
    public synchronized boolean assignWork(Device device, LiftAssignCommand assignCommand) {
        LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, device.getId().intValue());
@@ -101,7 +104,8 @@
            LiftCommand command = commands.get(commandStep - 1);
            if (command.getMode() == LiftCommandModeType.MOVE.id) {
                //提升机升降
                if (liftProtocol.getLev() == command.getTargetLev()) {
                Integer target = liftDispatcher.getLiftLevLogic(liftThread.getDevice().getId().intValue(), command.getTargetLev());
                if (liftProtocol.getLev() == target) {
                    command.setComplete(true);
                }
            } else if (command.getMode() == LiftCommandModeType.MOVE_CAR.id) {
@@ -109,9 +113,22 @@
                if (liftProtocol.getLev() == command.getTargetLev()) {
                    command.setComplete(true);
                }
            } else if (command.getMode() == LiftCommandModeType.PALLET_INOUT.id) {
                //托盘出入
                if (liftProtocol.getLev() == command.getTargetLev()) {
            } else if (command.getMode() == LiftCommandModeType.PALLET_IN.id) {
                //托盘入
                Integer target = liftDispatcher.getLiftLevLogic(liftThread.getDevice().getId().intValue(), command.getTargetLev());
                if (liftProtocol.getLev() == target) {
                    command.setComplete(true);
                }
                //判断提升机托盘是否存在
                if (!liftProtocol.getHasTray()) {
                    return false;
                }
            } else if (command.getMode() == LiftCommandModeType.PALLET_OUT.id) {
                //托盘出
                Integer target = liftDispatcher.getLiftLevLogic(liftThread.getDevice().getId().intValue(), command.getTargetLev());
                if (liftProtocol.getLev() == target) {
                    command.setComplete(true);
                }
@@ -119,7 +136,6 @@
                if (liftProtocol.getHasTray()) {
                    return false;
                }
            } else if (command.getMode() == LiftCommandModeType.RESET.id) {
                //复位
                command.setComplete(true);
@@ -203,7 +219,7 @@
        if (command.getMode() == LiftCommandModeType.MOVE.id) {
            response = liftThread.move(command);
        } else if (command.getMode() == LiftCommandModeType.PALLET_INOUT.id) {
        } else if (command.getMode() == LiftCommandModeType.PALLET_IN.id || command.getMode() == LiftCommandModeType.PALLET_OUT.id) {
            response = liftThread.palletInOut(command);
        } else if (command.getMode() == LiftCommandModeType.LOCK.id) {
            response = liftThread.lock(command);