From 7990946c72ea48638718cf638c1fb743b239f93e Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期六, 19 四月 2025 20:00:55 +0800 Subject: [PATCH] 999 --- src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java | 25 ++++++-- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 28 ++++++-- src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java | 50 ++++++++-------- src/main/java/com/zy/common/utils/NavigateUtils.java | 11 ++- src/main/java/com/zy/asrs/task/WrkMastScheduler.java | 4 + src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java | 43 +++++++------- 6 files changed, 94 insertions(+), 67 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 4e1dc68..d8c52b0 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -184,8 +184,8 @@ if (staProtocol.isAutoing() && staProtocol.isLoading() && isInEnable(devpThread, inSta.getStaNo()) && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) { String barcode = staProtocol.getBarcode(); // 鍒ゆ柇閲嶅宸ヤ綔妗� - WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("wrk_sts", WrkStsType.NEW_INBOUND.sts).eq("barcode", barcode)); - if (wrkMast != null) { + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("barcode", barcode)); + if (wrkMast != null && wrkMast.getWrkSts() == WrkStsType.NEW_INBOUND.sts) { News.error("宸ヤ綔妗e凡瀛樺湪,宸ヤ綔鍙�={}", wrkMast.getWrkNo()); //鍒ゆ柇鏃舵彁鍗囨満渚э紝杩樻槸鏃犳彁鍗囨満娴� staProtocol.setWorkNo(Short.parseShort(String.valueOf(wrkMast.getWrkNo()))); @@ -195,6 +195,8 @@ wrkMast.setWrkSts(WrkStsType.INBOUND_DEVICE_RUN.sts); wrkMast.setModiTime(new Date()); wrkMastService.updateById(wrkMast); + } else if (wrkMast != null && wrkMast.getWrkSts() != WrkStsType.NEW_INBOUND.sts) { + continue; } try { String wmsUrl = "192.168.10.201:8080/fyxcwms"; @@ -202,7 +204,7 @@ param.setBarcode(barcode); param.setIoType(1); param.setSourceStaNo(inSta.getStaNo()); - param.setLocType1(staProtocol.getLocType1().shortValue()); + param.setLocType1((short) 1); String response = new HttpHandler.Builder() .setUri(wmsUrl) .setPath("/rpc/pakin/loc/v1") @@ -273,7 +275,7 @@ if (staProtocol.isAutoing() && staProtocol.isLoading() && isInEnable(devpThread, inSta.getStaNo()) && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) { String barcode = staProtocol.getBarcode(); // 鍒ゆ柇閲嶅宸ヤ綔妗� - WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("wrk_sts", WrkStsType.NEW_INBOUND.sts).eq("barcode", barcode)); + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("barcode", barcode)); if (wrkMast == null) { try { String wmsUrl = "192.168.10.201:8080/fyxcwms"; @@ -973,7 +975,16 @@ News.info("{}浠诲姟锛寋}绔欑偣锛屾墭鐩樼爜涓嶅尮閰嶏紝绔欑偣鎵樼洏鐮侊細{}锛屼换鍔℃墭鐩樼爜锛歿}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode()); return false; } - } else { + } else if (sourceStaNo == 1012) { + if (staProtocol.getWorkNo().intValue() != wrkMast.getWrkNo()) { + News.info("{}浠诲姟锛寋}绔欑偣锛屼换鍔″彿涓嶄竴鑷�", wrkMast.getWrkNo(), staProtocol.getSiteId()); + return false; + } + if (!staProtocol.getBarcode().equals(wrkMast.getBarcode())) { + News.info("{}浠诲姟锛寋}绔欑偣锛屾墭鐩樼爜涓嶅尮閰嶏紝绔欑偣鎵樼洏鐮侊細{}锛屼换鍔℃墭鐩樼爜锛歿}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode()); + return false; + } + } else if (sourceStaNo == 1032 || sourceStaNo == 1031) { if (staProtocol.getWorkNo().intValue() != wrkMast.getWrkNo()) { News.info("{}浠诲姟锛寋}绔欑偣锛屼换鍔″彿涓嶄竴鑷�", wrkMast.getWrkNo(), staProtocol.getSiteId()); return false; @@ -2154,10 +2165,11 @@ } private void shuttleMoveExecuteTransportNoLift(WrkMast wrkMast) { - if (12 == Utils.getRow(wrkMast.getSourceLocNo()) && 3 == Utils.getBay(wrkMast.getSourceLocNo())) { + WrkMast mainWrk = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo()); + if (mainWrk != null && mainWrk.getIoType() == 1) { //鍏ュ簱 - noLiftInService.shuttleMoveExecute(wrkMast); - } else { + noLiftInService.shuttleMoveExecute(wrkMast, mainWrk.getStaNo()); + } else if (mainWrk != null && mainWrk.getIoType() == 101) { //鍑哄簱 noLiftOutService.shuttleMoveExecute(wrkMast); } diff --git a/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java index 7c95c3c..ff24bad 100644 --- a/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java @@ -66,13 +66,13 @@ * 浠庢病鏈夋彁鍗囨満渚у叆搴擄紝鏈変袱绉嶆儏鍐碉紝涓�绉嶅叆搴撳埌鍚屽眰锛屼竴绉嶅叆搴撳埌涓嶅悓灞傦紝鍒欓渶瑕佹彁鍗囨満 * @param wrkMast */ - public void shuttleMoveExecute(WrkMast wrkMast) { + public void shuttleMoveExecute(WrkMast wrkMast, Integer staNo) { boolean stepMoveSta = this.shuttleMoveExecuteTransportLiftStepCallShuttle(wrkMast);//灏忚溅杩佺Щ-鍛煎彨灏忚溅鑷冲彇璐х偣 if (!stepMoveSta) { return; } //鍒ゆ柇鐩爣搴撲綅鏄惁鍦�1灞傛垨5灞� - if (Utils.getLev(wrkMast.getLocNo()) == 1 || Utils.getLev(wrkMast.getLocNo()) == 5) { + if ((Utils.getLev(wrkMast.getSourceLocNo()) == 1 && staNo == 1015) || (Utils.getLev(wrkMast.getSourceLocNo()) == 5 && staNo == 1026)) { //鐩存帴鍏ュ簱 boolean stepMoveLoc = this.shuttleMoveExecuteStepMoveLoc(wrkMast);//灏忚溅绉诲姩鍒扮洰鏍囧簱浣嶄腑 if (!stepMoveLoc) { @@ -133,17 +133,18 @@ if (devpThread == null) { return false; } - StaProtocol staProtocol = devpThread.getStation().get(Utils.getLev(wrkMast.getSourceLocNo()) == 1 ? 1015 : 1026); - if (!staProtocol.isLoading() || !staProtocol.isAutoing()) { - log.info("{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); - News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); - return false; - } + WrkMast wrkMast1 = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo()); + if (wrkMast1 != null) { + StaProtocol staProtocol = devpThread.getStation().get(wrkMast1.getStaNo()); + if (!staProtocol.isLoading() || !staProtocol.isAutoing()) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿鎴栭潪鑷姩", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + return false; + } - if (!staProtocol.getFinishWorkNo().equals(wrkMast.getWrkNo())) { - log.info( "{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); - News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); - return false; + if (staProtocol.getFinishWorkNo() != null && staProtocol.getFinishWorkNo().intValue() != wrkMast.getMainWrkNo()) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); + return false; + } } //灏忚溅澶勪簬绌洪棽鐘舵�� if (!shuttleThread.isIdle()) { @@ -305,7 +306,7 @@ } //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟(璇ヤ换鍔¢渶瑕佹崲灞傚繀椤绘彁鍓嶇嫭鍗犳彁鍗囨満) - WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(),wrkMast.getWrkNo(),wrkMast.getMainWrkNo()); + WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo()); if (liftWrkMast != null) { if (liftWrkMast != null && !wrkMast.getMainWrkNo().equals(liftWrkMast.getWrkNo())) { News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo()); @@ -333,7 +334,7 @@ } //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟 - WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(),wrkMast.getWrkNo(),wrkMast.getMainWrkNo()); + WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo()); if (liftWrkMast != null) { if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚� News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo()); @@ -439,7 +440,7 @@ } //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟 - WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(),wrkMast.getWrkNo(),wrkMast.getMainWrkNo()); + WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo()); if (liftWrkMast != null) { if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚� News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo()); @@ -541,7 +542,7 @@ } //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟 - WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(),wrkMast.getWrkNo(),wrkMast.getMainWrkNo()); + WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo()); if (liftWrkMast != null) { if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚� News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo()); @@ -632,7 +633,7 @@ } //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟 - WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(1,wrkMast.getWrkNo(),wrkMast.getMainWrkNo()); + WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(1, wrkMast.getWrkNo(), wrkMast.getMainWrkNo()); if (liftWrkMast != null) { if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚� News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo()); @@ -837,12 +838,12 @@ } StaProtocol staProtocol = devpThread.getStation().get(Utils.getLev(wrkMast.getSourceLocNo()) == 1 ? 1015 : 1026); if (!staProtocol.isLoading()) { - log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); - News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); + //log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏃犵墿鎴栭潪鑷姩", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); return false; } - if (!staProtocol.getFinishWorkNo().equals(wrkMast.getWrkNo())) { - log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); + if (staProtocol.getFinishWorkNo() != null && staProtocol.getFinishWorkNo().intValue() != wrkMast.getMainWrkNo()) { + //log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鐨勫伐浣滃彿鍜屽伐浣滄。涓嶅尮閰�", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); return false; } diff --git a/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java index a1900f7..e627e66 100644 --- a/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java @@ -142,20 +142,19 @@ if (devpThread == null) { return false; } - int lev = Utils.getLev(wrkMast.getLocNo()); - StaProtocol staProtocol2 = devpThread.getStation().get(lev == 1 ? 1014 : 1025); - if (!staProtocol2.isOutEnable()) { - log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025); - News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025); - return false; - } - - StaProtocol staProtocol = devpThread.getStation().get(lev == 1 ? 1015 : 1026); - if (staProtocol.isLoading()) { - log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); - News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); - return false; + WrkMast wrkMast1 = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo()); + if (wrkMast1 != null) { + StaProtocol staProtocol2 = devpThread.getStation().get(wrkMast1.getStaNo()); + if (!staProtocol2.isOutEnable()) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�111", wrkMast.getWrkNo(), wrkMast1.getStaNo()); + return false; + } + StaProtocol staProtocol = devpThread.getStation().get(wrkMast1.getStaNo() + 1); + if (staProtocol.isLoading()) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿111", wrkMast.getWrkNo(), wrkMast1.getStaNo() + 1); + return false; + } } if (shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) { @@ -830,19 +829,18 @@ if (devpThread == null) { return false; } - int lev = Utils.getLev(wrkMast.getLocNo()); - StaProtocol staProtocol2 = devpThread.getStation().get(lev == 1 ? 1014 : 1025); - - if (!staProtocol2.isOutEnable()) { - log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025); - News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025); - return false; - } - StaProtocol staProtocol = devpThread.getStation().get(lev == 1 ? 1015 : 1026); - if (staProtocol.isLoading()) { - log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); - News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo()); - return false; + WrkMast wrkMast1 = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo()); + if (wrkMast1 != null) { + StaProtocol staProtocol2 = devpThread.getStation().get(wrkMast1.getStaNo()); + if (!staProtocol2.isOutEnable()) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�222", wrkMast.getWrkNo(), wrkMast1.getStaNo()); + return false; + } + StaProtocol staProtocol = devpThread.getStation().get(wrkMast1.getStaNo() + 1); + if (staProtocol.isLoading()) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿222", wrkMast.getWrkNo(), wrkMast1.getStaNo()); + return false; + } } if (shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) { diff --git a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java index 7c857c0..bf8ee09 100644 --- a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java +++ b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java @@ -216,7 +216,9 @@ main.setShuttleNo(wrkMast.getShuttleNo()); main.setWrkSts(WrkStsType.OUTBOUND_SHUTTLE_RUN_COMPLETE.sts); //閭f椂鍊欐墭鐩樺湪鎻愬崌鏈洪噷锛屽垯闇�瑕侀攣浣� - main.setShuttleNo(1); + if (!(main.getStaNo() != 1013 && main.getStaNo() != 1024)) { + main.setLiftNo(1); + } } main.setModiTime(new Date()); if (!wrkMastService.updateById(main)) { diff --git a/src/main/java/com/zy/common/utils/NavigateUtils.java b/src/main/java/com/zy/common/utils/NavigateUtils.java index cb21ea1..f2ec05d 100644 --- a/src/main/java/com/zy/common/utils/NavigateUtils.java +++ b/src/main/java/com/zy/common/utils/NavigateUtils.java @@ -16,7 +16,10 @@ import java.io.BufferedReader; import java.io.InputStreamReader; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; /** * A*绠楁硶浣跨敤宸ュ叿 @@ -188,7 +191,7 @@ } //鍒ゆ柇褰撳墠鑺傜偣鍒颁笅涓�涓妭鐐规槸鍚︿负鎷愮偣 - public HashMap<String,Object> searchInflectionPoint(NavigateNode currentNode, NavigateNode fatherNode, NavigateNode nextNode) { + public HashMap<String, Object> searchInflectionPoint(NavigateNode currentNode, NavigateNode fatherNode, NavigateNode nextNode) { HashMap<String, Object> map = new HashMap<>(); map.put("result", false);//鏄惁涓烘嫄鐐癸紝true锛氭嫄鐐癸紝false锛氱洿绾� // 绗竴涓偣鎴栫洿绾跨偣 @@ -218,7 +221,7 @@ if (currentNode.getX() - fatherNode.getX() > 0) { //澶т簬0锛屾柟鍚憈op direction = "top"; - }else { + } else { //灏忎簬0锛屾柟鍚慴ottom direction = "bottom"; } @@ -230,7 +233,7 @@ if (currentNode.getY() - fatherNode.getY() > 0) { //澶т簬0锛屾柟鍚憀eft direction = "left"; - }else { + } else { //灏忎簬0锛屾柟鍚憆ight direction = "right"; } diff --git a/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java b/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java index a87747e..036411d 100644 --- a/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java +++ b/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java @@ -207,7 +207,7 @@ } } - News.info("{}鐩爣搴撲綅娌℃湁鎼滅储鍒板彲鐢ㄧ┛姊溅", locNo); + //News.info("{}鐩爣搴撲綅娌℃湁鎼滅储鍒板彲鐢ㄧ┛姊溅", locNo); return false; } @@ -244,7 +244,7 @@ int currentLev = Utils.getLev(shuttleProtocol.getCurrentLocNo());//灏忚溅褰撳墠灞傞珮 String currentLocNo = shuttleProtocol.getCurrentLocNo();//灏忚溅褰撳墠搴撲綅鍙� - if (currentLocNo.equals(locNo)) { + if (currentLocNo.equals(locNo) || currentLocNo.equals(sourceLocNo)) { //杞﹁締褰撳墠浣嶇疆宸茬粡鏄洰鏍囧簱浣嶏紝璋冨害璇ヨ溅 //缁欏伐浣滄。缁戝畾灏忚溅鍙� WrkMast wrkMast1 = wrkMastService.selectByWorkNo(wrkNo); @@ -278,12 +278,22 @@ sameShuttles.put(-1, shuttleThread); continue; } - - //褰撳墠绌挎杞︾嚎绋嬪埌鐩爣鍦扮偣璺濈 - List<NavigateNode> currentShuttlePath = navigateUtils.calc(currentLocNo, locNo, NavigationMapType.NORMAL.id, Utils.getShuttlePoints(shuttleNo, Utils.getLev(currentLocNo)), null);//鎼滅储绌洪棽绌挎杞︼紝浣跨敤姝e父閫氶亾鍦板浘 - if (currentShuttlePath == null) { - continue; + //TODO + List<NavigateNode> currentShuttlePath; + if (Utils.getLev(currentLocNo) != Utils.getLev(locNo)) { + //褰撳墠绌挎杞︾嚎绋嬪埌鐩爣鍦扮偣璺濈 + currentShuttlePath = navigateUtils.calc(currentLocNo, sourceLocNo, NavigationMapType.NORMAL.id, Utils.getShuttlePoints(shuttleNo, Utils.getLev(currentLocNo)), null);//鎼滅储绌洪棽绌挎杞︼紝浣跨敤姝e父閫氶亾鍦板浘 + if (currentShuttlePath == null) { + continue; + } + } else { + //褰撳墠绌挎杞︾嚎绋嬪埌鐩爣鍦扮偣璺濈 + currentShuttlePath = navigateUtils.calc(currentLocNo, locNo, NavigationMapType.NORMAL.id, Utils.getShuttlePoints(shuttleNo, Utils.getLev(currentLocNo)), null);//鎼滅储绌洪棽绌挎杞︼紝浣跨敤姝e父閫氶亾鍦板浘 + if (currentShuttlePath == null) { + continue; + } } + Integer currentAllDistance = navigateUtils.getOriginPathAllDistance(currentShuttlePath);//璁$畻褰撳墠璺緞琛岃蛋鎬昏窛绂� sameShuttles.put(currentAllDistance, shuttleThread); } @@ -357,6 +367,7 @@ return false; } + /** * 灏忚溅杩佺Щ浠诲姟鐢熸垚 */ -- Gitblit v1.9.1