From c2b0be1a368a88e4adb6dda12d0aa5d3bb0df838 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期二, 27 六月 2023 16:50:50 +0800 Subject: [PATCH] 搜索最近穿梭车,提升机完成方法 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 43 ++++++++++++++++++++++++++++++------------- 1 files changed, 30 insertions(+), 13 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 33c6fd8..cfede0a 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1216,6 +1216,16 @@ ArrayList<ShuttleThread> sameLev = new ArrayList<>();//鐩稿悓妤煎眰鐨勭┛姊溅 ArrayList<ShuttleThread> diffLev = new ArrayList<>();//涓嶅悓妤煎眰鐨勭┛姊溅 + //鍒ゆ柇鍏朵粬绌洪棽绌挎杞︽槸鍚︾浠诲姟鏈�杩� + String distLocNo = null;//鐩爣鍦扮偣锛屽叆搴�=銆嬫彁鍗囨満鍙o紝鍑哄簱=銆嬭揣鐗╁簱浣嶅彿 + if (wrkMast.getIoType() < 101) { + //鍏ュ簱 + distLocNo = Utils.levToOutInStaLocNo(lev); + }else { + //鍑哄簱 + distLocNo = locNo; + } + for (ShuttleSlave shuttle : slaveProperties.getShuttle()) { //鑾峰彇鍥涘悜绌挎杞︾嚎绋� ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttle.getId()); @@ -1231,6 +1241,14 @@ if (shuttleLocNo == null) { continue; } + + if (shuttleLocNo.equals(distLocNo)) { + //杞﹁締褰撳墠浣嶇疆宸茬粡鏄洰鏍囧簱浣嶏紝鏃犻渶璁$畻 + map.put("sameLay", true);//鍚屽眰 + map.put("result", shuttleThread); + return map; + } + int shuttleLocNoLey = Utils.getLev(shuttleLocNo);//搴撲綅鍙峰搴斿眰楂� if (lev == shuttleLocNoLey) { //宸ヤ綔妗fゼ灞傜浉鍚岀殑绌挎杞� @@ -1248,16 +1266,6 @@ for (ShuttleThread shuttleThread : sameLev) { if (recentShuttle == null) {//鏈�杩戠┛姊溅涓虹┖锛屽垯榛樿璧嬩簣涓烘渶杩戠┛姊溅 recentShuttle = shuttleThread; - } - - //鍒ゆ柇鍏朵粬绌洪棽绌挎杞︽槸鍚︾浠诲姟鏈�杩� - String distLocNo = null;//鐩爣鍦扮偣锛屽叆搴�=銆嬫彁鍗囨満鍙o紝鍑哄簱=銆嬭揣鐗╁簱浣嶅彿 - if (wrkMast.getIoType() < 101) { - //鍏ュ簱 - distLocNo = Utils.levToOutInStaLocNo(lev); - }else { - //鍑哄簱 - distLocNo = locNo; } //褰撳墠绌挎杞﹀簱浣嶅彿 @@ -1715,15 +1723,15 @@ //鍒ゆ柇鎻愬崌鏈烘槸鍚﹀埌杈句换鍔℃ゼ灞� String locNo = wrkMast.getIoType() < 101 ? wrkMast.getLocNo() : wrkMast.getSourceLocNo(); int lev = Utils.getLev(locNo);//浠诲姟鐩爣妤煎眰 - if (liftProtocol.getLev().intValue() != lev) { - continue;//鎻愬崌鏈烘病鏈夊埌杈剧洰鏍� - } //鏍囪澶嶄綅 liftProtocol.setPakMk(true); switch (wrkMast.getWrkSts().intValue()) { case 3://3.鎻愬崌鏈烘惉杩愪腑 ==> 4.鎻愬崌鏈烘惉杩愬畬鎴� + if (liftProtocol.getLev().intValue() != lev) { + continue;//鎻愬崌鏈烘病鏈夊埌杈剧洰鏍� + } //缁欑洰鏍囩珯璁剧疆宸ヤ綔鍙� StaProtocol staProtocol = devpThread.getStation().get(wrkMast.getStaNo());//鐩爣绔� staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); @@ -1737,12 +1745,21 @@ wrkMast.setWrkSts(4L); break; case 7://7.鎻愬崌鏈鸿縼绉诲皬杞︿腑 ==> 8.鎻愬崌鏈鸿縼绉诲皬杞﹀畬鎴� + if (liftProtocol.getLev().intValue() != lev) { + continue;//鎻愬崌鏈烘病鏈夊埌杈剧洰鏍� + } wrkMast.setWrkSts(8L); break; case 24://24.鎻愬崌鏈鸿縼绉诲皬杞︿腑 ==> 25.鎻愬崌鏈鸿縼绉诲皬杞﹀畬鎴� + if (liftProtocol.getLev().intValue() != lev) { + continue;//鎻愬崌鏈烘病鏈夊埌杈剧洰鏍� + } wrkMast.setWrkSts(25L); break; case 28://28.鎻愬崌鏈烘惉杩愪腑 ==> 29.鎻愬崌鏈烘惉杩愬畬鎴� + if (liftProtocol.getPositionArrivalFeedback().intValue() != 2) { + continue;//鎻愬崌鏈烘槸鍚﹁揪鍒拌緭閫佺嚎妤煎眰 + } wrkMast.setWrkSts(29L); wrkMast.setWrkSts(34L);//34.鍑哄簱瀹屾垚锛屾殏鏃跺厛鐩存帴瀹屾垚鍑哄簱宸ヤ綔妗o紝鍚庣画闇�瑕佹牴鎹緭閫佺嚎缁欏嚭鐨勭姸鎬佹潵纭畾34.鍑哄簱瀹屾垚鐘舵�� //浠诲姟鍙锋竻闆� -- Gitblit v1.9.1