From 0d57eacb1a2c681a6861cdb3e232469f07162b0b Mon Sep 17 00:00:00 2001 From: zwl <1051256694@qq.com> Date: 星期四, 22 五月 2025 20:32:36 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 22 +++++++++++++++++++++- 1 files changed, 21 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 2bd4c73..8cd6c8f 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -309,6 +309,12 @@ return false; } + boolean checkLocPathIsAvailable = navigateUtils.checkLocPathIsAvailable(wrkMast.getSourceLocNo(), liftSta.getLocNo()); + if(!checkLocPathIsAvailable) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛屾湭璁$畻鍒板彲鎵ц璺緞锛岀瓑寰呬腑", wrkMast.getWrkNo()); + return false; + } + if (wrkMast.getShuttleNo() == null) {//娌℃湁缁戝畾灏忚溅锛岃繘琛岃皟搴� //寮哄埗棰勭暀涓�鍙板皬杞︾粰鍏ュ簱浠诲姟 int lev = Utils.getLev(wrkMast.getSourceLocNo()); @@ -531,6 +537,12 @@ //灏忚溅绉诲姩鑷崇珯鐐� 501.鐢熸垚绉诲簱浠诲姟 ==> 502.灏忚溅鎼繍涓� if (wrkMast.getWrkSts() == WrkStsType.NEW_LOC_MOVE.sts) { + boolean checkLocPathIsAvailable = navigateUtils.checkLocPathIsAvailable(wrkMast.getSourceLocNo(), wrkMast.getLocNo()); + if(!checkLocPathIsAvailable) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛屾湭璁$畻鍒板彲鎵ц璺緞锛岀瓑寰呬腑", wrkMast.getWrkNo()); + return false; + } + if (wrkMast.getShuttleNo() == null) {//娌℃湁缁戝畾灏忚溅锛岃繘琛岃皟搴� boolean result = shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), wrkMast.getSourceLocNo());//璋冨害灏忚溅鍒拌揣鐗╃偣杩涜鍙栬揣 News.info("{}浠诲姟锛岃皟搴﹀皬杞}绯荤粺绛夊緟涓�", wrkMast.getWrkNo(), result ? "鎴愬姛" : "澶辫触"); @@ -1922,6 +1934,12 @@ continue; } + //瀛樺湪璋冨害閿� + Object object = redisUtil.get(RedisKeyType.OUT_TASK_PREVIEW_DISPATCH_FORKLIFT.key + forkLiftProtocol.getLiftNo()); + if (object != null) { + continue; + } + //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟 WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(wrkMast.getLiftNo()); if (liftWrkMast != null) { @@ -1933,7 +1951,7 @@ } //鎻愬崌鏈轰笉鍦ㄥ嚭搴撳眰 - if (!forkLiftProtocol.getLev().equals(Utils.getLev(wrkMast.getSourceLocNo()))) { + if (forkLiftProtocol.getLev().equals(Utils.getLev(wrkMast.getSourceLocNo()))) { continue; } @@ -1953,6 +1971,8 @@ assignCommand.setTaskMode(ForkLiftTaskModeType.MOVE.id.shortValue()); forkLiftAction.assignWork(forkLiftProtocol.getLiftNo(), assignCommand); + + redisUtil.set(RedisKeyType.OUT_TASK_PREVIEW_DISPATCH_FORKLIFT.key + forkLiftProtocol.getLiftNo(), "lock", 30);//30绉掍笉鍐嶈皟搴� } } -- Gitblit v1.9.1