From 944994450e3ba369e218e24c3f5ef3996f5c183c Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期三, 20 九月 2023 16:32:35 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/NyShuttleThread.java | 79 +++++++++++++++++++++++---------------- 1 files changed, 47 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/zy/core/thread/NyShuttleThread.java b/src/main/java/com/zy/core/thread/NyShuttleThread.java index ab325f7..5bce024 100644 --- a/src/main/java/com/zy/core/thread/NyShuttleThread.java +++ b/src/main/java/com/zy/core/thread/NyShuttleThread.java @@ -95,7 +95,7 @@ //鍥涘悜绌挎杞︾┖闂层�佹湁浠诲姟銆佹爣璁颁负true銆佸瓨鍦ㄤ换鍔℃寚浠わ紝闇�瑕佹墽琛屼换鍔$殑涓嬩竴鏉℃寚浠� if (shuttleProtocol.getFree() == ShuttleStatusType.IDLE.id && shuttleProtocol.getTaskNo() != 0 - && shuttleProtocol.getPakMk()) { + && !shuttleProtocol.getPakMk()) { //鎵ц涓嬩竴姝ユ寚浠� executeWork(shuttleProtocol.getTaskNo().shortValue()); } @@ -173,9 +173,9 @@ //闈炶嚜鍔ㄧ姸鎬佹椂闂磋鏃� shuttleProtocol.setErrTime(jsonObject.getInteger("errTime")); - //灏忚溅澶勪簬杩愯涓紝灏嗘爣璁扮疆涓簍rue + //灏忚溅澶勪簬杩愯涓紝灏嗘爣璁扮疆涓篺alse if (shuttleProtocol.getFree() == 0) { - shuttleProtocol.setPakMk(true); + shuttleProtocol.setPakMk(false); } //灏嗗洓鍚戠┛姊溅鐘舵�佷繚瀛樿嚦鏁版嵁搴� @@ -355,8 +355,12 @@ } NavigateMapData navigateMapData = new NavigateMapData(Utils.getLev(shuttleProtocol.getCurrentLocNo())); + //鍙栧嚭鍛戒护 - NyShuttleHttpCommand command = commands.get(commandStep);//褰撳墠鍛戒护 + NyShuttleHttpCommand command = null; + if (commandStep < commands.size()) { + command = commands.get(commandStep);//褰撳墠鍛戒护 + } if (commandStep != 0) { //鍒ゆ柇涓婁竴鏉℃寚浠ゆ槸鍚﹀畬鎴� NyShuttleHttpCommand lastCommand = commands.get(commandStep - 1); @@ -369,7 +373,9 @@ lastCommand.setComplete(true); //瑙i攣閿佸畾璺緞锛屼笂涓�鏉¤矾寰勫拰褰撳墠璺緞 List<NavigateNode> nodes = lastCommand.getNodes(); - nodes.addAll(command.getNodes()); + if (command != null) { + nodes.addAll(command.getNodes()); + } navigateMapData.writeNavigateNodeToRedisMap(nodes, false);//瑙i攣璺緞 } }else { @@ -395,7 +401,7 @@ }else { shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.CHARGING_WAITING); } - News.info("鍥涘悜绌挎杞︿换鍔℃墽琛屼笅鍙戝畬鎴愮瓑寰呮墽琛岀粨鏉燂紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", shuttleProtocol.getShuttleNo(), JSON.toJSON(command)); + News.info("鍥涘悜绌挎杞︿换鍔℃墽琛屼笅鍙戝畬鎴愮瓑寰呮墽琛岀粨鏉燂紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", shuttleProtocol.getShuttleNo(), JSON.toJSON(commands)); return false;//绂佹鍐嶄笅鍙戝懡浠� } @@ -441,7 +447,7 @@ News.info("鍥涘悜绌挎杞﹀懡浠や笅鍙戞垚鍔燂紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", shuttleProtocol.getShuttleNo(), JSON.toJSON(command)); //灏嗘爣璁扮疆涓篺alse(闃叉閲嶅彂) - shuttleProtocol.setPakMk(false); + shuttleProtocol.setPakMk(true); //淇濆瓨鏁版嵁鍒版暟鎹簱鍋氭祦姘� BasShuttleOptService shuttleOptService = SpringUtils.getBean(BasShuttleOptService.class); @@ -463,33 +469,42 @@ shuttleOptService.insert(opt); } - //鍒ゆ柇鏁版嵁鏄惁鎵ц瀹屾垚 - if (commandStep < commands.size() - 1) { - //鏇存柊redis鏁版嵁 - //姝ュ簭澧炲姞 - commandStep++; - redisCommand.setCommandStep(commandStep); - //浠诲姟鏁版嵁淇濆瓨鍒皉edis - redisUtil.set("shuttle_wrk_no_" + redisCommand.getWrkNo(), JSON.toJSONString(redisCommand)); - }else { - //宸叉墽琛屽畬鎴� + commandStep++; + //鏇存柊redis鏁版嵁 + redisCommand.setCommandStep(commandStep); + //浠诲姟鏁版嵁淇濆瓨鍒皉edis + redisUtil.set("shuttle_wrk_no_" + redisCommand.getWrkNo(), JSON.toJSONString(redisCommand)); - commandStep++; -// //鏈�鍚庝竴娈靛懡浠や负绉诲姩鍛戒护锛屽垯鏆傜紦鍒犻櫎redis绛夊緟娓呴櫎璺緞鏃朵竴娆℃�у垹闄� -// //鏈�鍚庝竴娈靛懡浠や负涓嶆槸绉诲姩鍛戒护锛屽垯鍒犻櫎redis -// if (!command.getRequest().getBody().get("requestType").equals("move")) { -// //鍒犻櫎redis -// redisUtil.del("shuttle_wrk_no_" + redisCommand.getWrkNo()); -// } +// //鍒ゆ柇鏁版嵁鏄惁鎵ц瀹屾垚 +// if (commandStep < commands.size() - 1) { +// commandStep++; +// //鏇存柊redis鏁版嵁 +// redisCommand.setCommandStep(commandStep); +// //浠诲姟鏁版嵁淇濆瓨鍒皉edis +// redisUtil.set("shuttle_wrk_no_" + redisCommand.getWrkNo(), JSON.toJSONString(redisCommand)); +// }else { +// //宸叉墽琛屽畬鎴� // -// if (!assignCommand.getCharge()) { -// //瀵逛富绾跨▼鎶涘嚭绛夊緟纭鐘舵�亀aiting -// shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.WAITING); -// }else { -// shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.CHARGING_WAITING); -// } -// News.info("鍥涘悜绌挎杞︿换鍔℃墽琛屼笅鍙戝畬鎴愮瓑寰呮墽琛岀粨鏉燂紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", shuttleProtocol.getShuttleNo(), JSON.toJSON(command)); - } +// commandStep = commands.size(); +// //鏇存柊redis鏁版嵁 +// redisCommand.setCommandStep(commandStep); +// //浠诲姟鏁版嵁淇濆瓨鍒皉edis +// redisUtil.set("shuttle_wrk_no_" + redisCommand.getWrkNo(), JSON.toJSONString(redisCommand)); +//// //鏈�鍚庝竴娈靛懡浠や负绉诲姩鍛戒护锛屽垯鏆傜紦鍒犻櫎redis绛夊緟娓呴櫎璺緞鏃朵竴娆℃�у垹闄� +//// //鏈�鍚庝竴娈靛懡浠や负涓嶆槸绉诲姩鍛戒护锛屽垯鍒犻櫎redis +//// if (!command.getRequest().getBody().get("requestType").equals("move")) { +//// //鍒犻櫎redis +//// redisUtil.del("shuttle_wrk_no_" + redisCommand.getWrkNo()); +//// } +//// +//// if (!assignCommand.getCharge()) { +//// //瀵逛富绾跨▼鎶涘嚭绛夊緟纭鐘舵�亀aiting +//// shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.WAITING); +//// }else { +//// shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.CHARGING_WAITING); +//// } +//// News.info("鍥涘悜绌挎杞︿换鍔℃墽琛屼笅鍙戝畬鎴愮瓑寰呮墽琛岀粨鏉燂紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", shuttleProtocol.getShuttleNo(), JSON.toJSON(command)); +// } return true; } -- Gitblit v1.9.1