#
Junjie
2 天以前 6cf4a3e2ba925e75b60f13bb8ebc5e92d37809b2
src/main/java/com/zy/asrs/controller/ShuttleController.java
@@ -29,14 +29,13 @@
import com.zy.core.cache.SlaveConnection;
import com.zy.core.dispatcher.ShuttleDispatchUtils;
import com.zy.core.enums.*;
import com.zy.core.model.ShuttleSlave;
import com.zy.core.model.command.ShuttleAssignCommand;
import com.zy.core.model.command.ShuttleCommand;
import com.zy.core.model.command.ShuttleRedisCommand;
import com.zy.core.model.param.ShuttleMoveLocParam;
import com.zy.core.model.protocol.ShuttleProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.thread.ShuttleThread;
import com.zy.core.thread.TrafficControlThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -312,11 +311,11 @@
        if (shuttleTaskModeType == ShuttleTaskModeType.MOVE_LOC_NO) {
            //移动到目标库位
            Integer mapType = NavigationMapType.NORMAL.id;
            List<NavigationMapType> mapTypes = NavigationMapType.getMapTypes(NavigationMapType.NORMAL, NavigationMapType.PATH_LOCK);
            if (shuttleProtocol.getHasLift()) {
                mapType = NavigationMapType.DFX.id;
                mapTypes = NavigationMapType.getMapTypes(NavigationMapType.DFX, NavigationMapType.PATH_LOCK);
            }
            List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), param.getDistLocNo(), mapType, assignCommand, shuttleThread);
            List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), param.getDistLocNo(), mapTypes, assignCommand, shuttleThread);
            if (commands == null) {
                throw new CoolException("路径计算失败");
            }
@@ -348,6 +347,9 @@
            assignCommand.setCommands(commands);
        } else if (shuttleTaskModeType == ShuttleTaskModeType.RESET) {
            //复位
            TrafficControlThread trafficControlThread = (TrafficControlThread) SlaveConnection.get(SlaveType.TrafficControl, 1);
            trafficControlThread.forceCancelTrafficControl(shuttleProtocol.getShuttleNo());
            shuttleThread.setSyncTaskNo(0);//工作号清空
            shuttleThread.setProtocolStatus(ShuttleProtocolStatusType.IDLE);//任务状态-空闲
            shuttleThread.setPakMk(true);//作业标记复位
@@ -356,7 +358,7 @@
            return R.ok();
        } else if (shuttleTaskModeType == ShuttleTaskModeType.MOVE_LOC_NO_TASK) {
            //移动到目标库位(生成移动任务)
            shuttleDispatchUtils.dispatchShuttle(commonService.getWorkNo(WrkIoType.LOC_MOVE.id), param.getDistLocNo(), param.getShuttleNo());
            shuttleDispatchUtils.dispatchShuttle(commonService.getWorkNo(WrkIoType.SHUTTLE_MOVE.id), param.getDistLocNo(), param.getShuttleNo());
            return R.ok();
        } else if (shuttleTaskModeType == ShuttleTaskModeType.SHUTTLE_DEMO_OPEN) {
            //演示模式-开