Junjie
2023-05-10 d5d7f24188f19f5d5c50f1d2e5cd6e49ba61edcc
穿梭车redis存储前缀
2个文件已修改
26 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/ShuttleThread.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -544,7 +544,7 @@
    }
    /**
     * 实时更新地图
     * 获取/更新实时地图
     */
    public synchronized void refreshMap() {
@@ -577,7 +577,7 @@
                liftProtocol.setProtocolStatus(LiftProtocolStatusType.WORKING);//工作状态
                liftProtocol.setLiftLock(true);//提升机锁定
            }else {//四向穿梭车任务
            }else if(key.toString().contains("shuttle_wrk_no_")){//四向穿梭车任务
                ShuttleRedisCommand redisCommand = JSON.parseObject(map.get(key).toString(), ShuttleRedisCommand.class);
                if (redisCommand == null) {
                    continue;
src/main/java/com/zy/core/thread/ShuttleThread.java
@@ -200,7 +200,7 @@
                //检测是否有提升机锁定标记,有则检测提升机是否到位,是否能走下一步命令
                if (shuttleProtocol.getBusyStatusType() == ShuttleStatusType.IDLE
                        && shuttleProtocol.getTaskNo() != 0) {
                    Object o = redisUtil.get("wrk_no_" + shuttleProtocol.getTaskNo());
                    Object o = redisUtil.get("shuttle_wrk_no_" + shuttleProtocol.getTaskNo());
                    if (o != null) {
                        ShuttleRedisCommand redisCommand = JSON.parseObject(o.toString(), ShuttleRedisCommand.class);
                        if (redisCommand.getLiftSecurityMk()) {
@@ -638,7 +638,7 @@
        shuttleProtocol.setAssignCommand(assignCommand);
        shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.WORKING);
        //任务数据保存到redis
        redisUtil.set("wrk_no_" + assignCommand.getTaskNo(), JSON.toJSONString(redisCommand));
        redisUtil.set("shuttle_wrk_no_" + assignCommand.getTaskNo(), JSON.toJSONString(redisCommand));
        //执行下发任务
        executeWork(assignCommand.getTaskNo());
    }
@@ -650,7 +650,7 @@
            return false;
        }
        Object o = redisUtil.get("wrk_no_" + wrkNo);
        Object o = redisUtil.get("shuttle_wrk_no_" + wrkNo);
        if (o == null) {
            return false;
        }
@@ -683,7 +683,7 @@
                    commandStep--;
                    redisCommand.setCommandStep(commandStep);
                    //任务数据保存到redis
                    redisUtil.set("wrk_no_" + wrkNo, JSON.toJSONString(redisCommand));
                    redisUtil.set("shuttle_wrk_no_" + wrkNo, JSON.toJSONString(redisCommand));
                    shuttleProtocol.setPakMk(true);
                    return true;
                }else {
@@ -731,7 +731,7 @@
                errorCommands.remove(0);
                redisCommand.setErrorCommands(errorCommands);
                //任务数据保存到redis
                redisUtil.set("wrk_no_" + wrkNo, JSON.toJSONString(redisCommand));
                redisUtil.set("shuttle_wrk_no_" + wrkNo, JSON.toJSONString(redisCommand));
                return true;
            }
        }
@@ -769,7 +769,7 @@
                commandStep++;
                redisCommand.setCommandStep(commandStep);
                //任务数据保存到redis
                redisUtil.set("wrk_no_" + redisCommand.getWrkNo(), JSON.toJSONString(redisCommand));
                redisUtil.set("shuttle_wrk_no_" + redisCommand.getWrkNo(), JSON.toJSONString(redisCommand));
            }else {
                //已执行完成
                //保存数据到数据库做流水
@@ -800,7 +800,7 @@
                }
                //删除redis
                redisUtil.del("wrk_no_" + redisCommand.getWrkNo());
                redisUtil.del("shuttle_wrk_no_" + redisCommand.getWrkNo());
                if (!assignCommand.getAuto()) {
                    //手动模式不抛出等待状态,直接复位
@@ -836,7 +836,7 @@
            return false;
        }
        Object o = redisUtil.get("wrk_no_" + wrkNo);
        Object o = redisUtil.get("shuttle_wrk_no_" + wrkNo);
        if (o == null) {
            return false;
        }
@@ -925,7 +925,7 @@
        liftProtocol.setSecurityMk(true);//标记置为true,防止其他任务占用当前提升机
        redisCommand.setLiftSecurityMk(true);//标记置为true,防止其他任务占用当前提升机
        //任务数据保存到redis
        redisUtil.set("wrk_no_" + wrkNo, JSON.toJSONString(redisCommand));
        redisUtil.set("shuttle_wrk_no_" + wrkNo, JSON.toJSONString(redisCommand));
        //命令list
        ArrayList<LiftCommand> liftCommands = new ArrayList<>();
@@ -956,7 +956,7 @@
            return false;
        }
        Object o = redisUtil.get("wrk_no_" + wrkNo);
        Object o = redisUtil.get("shuttle_wrk_no_" + wrkNo);
        if (o == null) {
            return false;
        }
@@ -1027,7 +1027,7 @@
        redisCommand.setErrorCommands(list);
        //任务数据保存到redis
        redisUtil.set("wrk_no_" + wrkNo, JSON.toJSONString(redisCommand));
        redisUtil.set("shuttle_wrk_no_" + wrkNo, JSON.toJSONString(redisCommand));
        shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.FIXING);
        return true;
    }