From 5e729441b08a61d2e3b14a6d6c9d1f2bde4ccfc0 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期三, 02 四月 2025 09:03:27 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 43 insertions(+), 14 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 bd953f2..8e967d5 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -263,7 +263,7 @@ WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(liftNo); if (liftWrkMast != null) { if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚� - News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo()); + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), liftNo); return false; } } @@ -432,6 +432,9 @@ shuttleThread.setSyncTaskNo(0); } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_LIFT.sts) { //308.灏忚溅杩佸嚭鎻愬崌鏈轰腑 ==> 309.灏忚溅杩佸嚭鎻愬崌鏈哄畬鎴� + if (Utils.getLev(shuttleProtocol.getCurrentLocNo()) != Utils.getLev(wrkMast.getLocNo())) { + continue;//灏忚溅鏈埌杈剧洰鏍囧眰 + } wrkMast.setWrkSts(WrkStsType.MOVE_OUT_LIFT_COMPLETE.sts); shuttleThread.setSyncTaskNo(0); } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_SHUTTLE.sts) { @@ -713,7 +716,7 @@ } } - //妫�娴嬫ゼ灞傛槸鍚︽湁绌挎杞� + //妫�娴嬫ゼ灞傛槸鍚︽湁鍙敤绌挎杞� boolean checkLevHasShuttle = Utils.checkLevHasShuttle(liftSta.getLev()); if (!checkLevHasShuttle) { if (wrkMast.getShuttleNo() != null) { @@ -733,6 +736,13 @@ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo()); return false; } + return false; + } + + //璇锋眰涓婄骇绯荤粺锛屾槸鍚﹀厑璁稿叆搴� + boolean inMission = ForkLiftUtils.queryInMission(wrkMast.getSourceStaNo(), liftSta.getLiftNo(), wrkMast.getWmsWrkNo()); + if (!inMission) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛屼笂绾х郴缁熶笉鍏佽鍏ュ簱", wrkMast.getWrkNo()); return false; } @@ -1118,6 +1128,10 @@ continue;//灏忚溅鍜屽厖鐢垫々涓嶅湪鍚屼竴灞� } + if (charge.getStatus() == 0) { + continue;//鍏呯數妗╄绂佺敤 + } + //灏忚溅鍜屽厖鐢垫々鍦ㄥ悓涓�灞� if (wrkMastService.selectChargeWorkingByChargeSta(charge.getChargeId()) == null) { shuttleCharge = charge; @@ -1130,12 +1144,17 @@ //灏忚溅鍚屾ゼ灞傛病鏈夊厖鐢垫々锛屽彧瑕佸厖鐢垫々鍙敤灏辩敓鎴愬厖鐢典换鍔� for (BasShuttleCharge charge : charges) { if (wrkMastService.selectChargeWorkingByChargeSta(charge.getChargeId()) == null) { - //鍒ゆ柇褰撳墠鍏呯數妗╂ゼ灞傛槸鍚︽湁灏忚溅锛屽鏈夊皬杞︼紝涓嶅垎閰嶈鍏呯數妗� - int chargeLev = Utils.getLev(charge.getLocNo());//鍏呯數妗╂ゼ灞� - boolean checkLevHasShuttle = Utils.checkLevHasShuttle(chargeLev);//妫�娴嬫ゼ灞傛槸鍚︽湁绌挎杞� - if (checkLevHasShuttle) { - //褰撳墠鍏呯數妗╂ゼ灞傛湁绌挎杞︼紝涓嶅垎閰嶈鍏呯數妗� + //鍒ゆ柇褰撳墠鍏呯數妗╂槸鍚︽湁灏忚溅锛屽鏈夊皬杞︼紝涓嶅垎閰嶈鍏呯數妗� + ArrayList<String> locs = new ArrayList<>(); + locs.add(charge.getLocNo()); + Integer checkHasShuttle = Utils.checkGroupLocHasShuttle(locs); + if(checkHasShuttle != null) { + //褰撳墠鍏呯數妗╂湁绌挎杞︼紝涓嶅垎閰嶈鍏呯數妗� continue; + } + + if (charge.getStatus() == 0) { + continue;//鍏呯數妗╄绂佺敤 } shuttleCharge = charge; @@ -1464,11 +1483,19 @@ return false;//鎵句笉鍒扮珯鐐� } - //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟(璇ヤ换鍔¢渶瑕佹崲灞傚繀椤绘彁鍓嶇嫭鍗犳彁鍗囨満) - WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(liftSta.getLiftNo()); - if (liftWrkMast != null) { - News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), liftSta.getLiftNo()); - return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇� + if (wrkMast.getLiftNo() == null) { + //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟(璇ヤ换鍔¢渶瑕佹崲灞傚繀椤绘彁鍓嶇嫭鍗犳彁鍗囨満) + WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(liftSta.getLiftNo()); + if (liftWrkMast != null) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), liftSta.getLiftNo()); + return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇� + } + + wrkMast.setModiTime(now); + wrkMast.setLiftNo(liftSta.getLiftNo());//鎻愬墠閿佸畾鎻愬崌鏈� + wrkMast.setSystemMsg("");//娓呯┖娑堟伅 + wrkMastService.updateById(wrkMast); + return false; } //*************灏濊瘯閿佸畾鐩爣绔欒矾寰�*************** @@ -1509,9 +1536,7 @@ wrkMast.setWrkSts(WrkStsType.MOVE_SITE.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 302.灏忚溅绉诲姩鑷崇珯鐐� wrkMast.setModiTime(now); - wrkMast.setLiftNo(liftSta.getLiftNo());//鎻愬墠閿佸畾鎻愬崌鏈� wrkMast.setSystemMsg("");//娓呯┖娑堟伅 -// shuttleProtocol.setToken(wrkMast.getWrkNo());//鐙崰璇ュ皬杞︿护鐗� if (wrkMastService.updateById(wrkMast)) { //涓嬪彂浠诲姟 shuttleAction.assignWork(shuttleProtocol.getShuttleNo(), assignCommand); @@ -1695,6 +1720,10 @@ List<ShuttleCommand> commands = null; //璺ㄦゼ灞傜Щ鍔ㄤ换鍔� if (Utils.getLev(wrkMast.getSourceLocNo()) != Utils.getLev(wrkMast.getLocNo())) { + if (Utils.getLev(shuttleProtocol.getCurrentLocNo()) != Utils.getLev(wrkMast.getLocNo())) { + return false;//灏忚溅鏈埌杈剧洰鏍囧眰 + } + //闇�瑕佸皢鍓嶄袱涓妭鐐逛綔涓虹櫧鍚嶅崟鑺傜偣浼犲叆 List<NavigateNode> targetNodes = ForkLiftUtils.getLiftStaNodes(wrkMast.getStaNo()); if (targetNodes == null) { -- Gitblit v1.9.1