#
Junjie
2023-10-05 45acd20e06a15d0096776ffe3adae4dc94d22762
src/main/java/com/zy/asrs/controller/ShuttleController.java
@@ -17,6 +17,7 @@
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.utils.Utils;
import com.zy.common.model.NyShuttleOperaResult;
import com.zy.common.model.enums.NavigationMapType;
import com.zy.common.service.CommonService;
import com.zy.common.utils.NyHttpUtils;
import com.zy.common.utils.NyShuttleOperaUtils;
@@ -299,7 +300,7 @@
                    assignCommand.setNodes(result.getNodes());
                } else if (shuttleTaskModeType == ShuttleTaskModeType.MOVE_LOC_NO) {
                    //移动到目标库位
                    NyShuttleOperaResult result = NyShuttleOperaUtils.getStartToTargetCommands(shuttleSlave.getId(), assignCommand.getTaskNo().intValue(), shuttleProtocol.getCurrentLocNo(), param.getDistLocNo());
                    NyShuttleOperaResult result = NyShuttleOperaUtils.getStartToTargetCommands(shuttleSlave.getId(), assignCommand.getTaskNo().intValue(), shuttleProtocol.getCurrentLocNo(), param.getDistLocNo(), NavigationMapType.NORMAL.id);
                    if (result == null) {
                        throw new CoolException("路径计算失败");
                    }
@@ -338,6 +339,15 @@
                    shuttleProtocol.setToken(0);//令牌清空
                    shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE);//任务状态-空闲
                    shuttleProtocol.setPakMk(false);//作业标记复位
                    shuttleProtocol.setMoveLoc(false);
                    shuttleProtocol.setMoveType(0);
                    shuttleProtocol.setXStart(0);
                    shuttleProtocol.setXTarget(0);
                    shuttleProtocol.setXCurrent(0);
                    shuttleProtocol.setYStart(0);
                    shuttleProtocol.setYTarget(0);
                    shuttleProtocol.setYCurrent(0);
                    return R.ok();
                } else if (shuttleTaskModeType == ShuttleTaskModeType.SHUTTLE_CONTROL) {
                    //小车管制
@@ -410,4 +420,40 @@
        return R.ok();
    }
    /**
     * 跑库程序
     */
    @PostMapping("/moveLoc")
    @ManagerAuth
    public R moveLoc(@RequestParam Integer shuttleNo,
                     @RequestParam Integer moveType,
                     @RequestParam Integer xStart,
                     @RequestParam Integer xTarget,
                     @RequestParam Integer yStart,
                     @RequestParam Integer yTarget) {
        NyShuttleThread shuttleThread = (NyShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttleNo);
        if (shuttleThread == null) {
            return R.error();
        }
        NyShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
        if (shuttleProtocol == null) {
            return R.error();
        }
        if (!shuttleProtocol.isIdle()) {
            return R.error("小车忙碌中");
        }
        shuttleProtocol.setMoveLoc(true);//开启跑库
        shuttleProtocol.setMoveType(moveType);
        shuttleProtocol.setXStart(xStart);
        shuttleProtocol.setXTarget(xTarget);
        shuttleProtocol.setXCurrent(xStart);
        shuttleProtocol.setYStart(yStart);
        shuttleProtocol.setYTarget(yTarget);
        shuttleProtocol.setYCurrent(yStart);
        return R.ok();
    }
}