自动化立体仓库 - WCS系统
#
Junjie
2023-09-09 d48f94b29304be6cabbeb6f9e9fe2b25bd7140f9
src/main/java/com/zy/asrs/controller/ShuttleController.java
@@ -1,6 +1,7 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
@@ -65,7 +66,7 @@
    @PostMapping("/table/shuttle/state")
    @ManagerAuth(memo = "四向穿梭车信息表")
    public R shuttleStateTable(){
        ArrayList<NyShuttleProtocol> list = new ArrayList<>();
        ArrayList<JSONObject> list = new ArrayList<>();
        List<BasShuttle> shuttles = basShuttleService.selectList(new EntityWrapper<BasShuttle>().orderBy("shuttle_no"));
        for (BasShuttle basShuttle : shuttles) {
            // 获取四向穿梭车信息
@@ -74,10 +75,23 @@
                continue;
            }
            NyShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
            JSONObject shuttleData = JSON.parseObject(JSON.toJSONString(shuttleProtocol));
            if (shuttleProtocol == null || shuttleProtocol.getShuttleNo()==null) {
                list.add(shuttleData);
                continue;
            }
            list.add(shuttleProtocol);
            shuttleData.put("moveAdvancePath", null);//穿梭车预计路径
            if (shuttleProtocol.getTaskNo() != 0) {
                //存在任务,获取指令
                Object object = redisUtil.get("shuttle_wrk_no_" + shuttleProtocol.getTaskNo());
                if (object != null) {
                    ShuttleRedisCommand redisCommand = JSON.parseObject(object.toString(), ShuttleRedisCommand.class);
                    shuttleData.put("moveAdvancePath", redisCommand.getAssignCommand().getNodes());//穿梭车预计路径
                }
            }
            list.add(shuttleData);
        }
        return R.ok().add(list);
    }
@@ -309,7 +323,7 @@
                    //复位
                    shuttleProtocol.setTaskNo(0);//工作号清空
                    shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE);//任务状态-空闲
                    shuttleProtocol.setPakMk(true);//作业标记复位
                    shuttleProtocol.setPakMk(false);//作业标记复位
                    return R.ok();
                } else if (shuttleTaskModeType == ShuttleTaskModeType.SHUTTLE_CONTROL) {
                    //小车管制