From 5809c327a8a2186b79c111ed88e0cde41e5bc8f9 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期二, 14 十一月 2023 14:19:35 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java | 27 ++++++++++++++++++--------- 1 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java b/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java index 525078e..da8a2ab 100644 --- a/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java +++ b/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java @@ -70,11 +70,15 @@ */ public boolean dispatchShuttle(Integer wrkNo, String locNo) { //妫�娴嬬洰鏍囧簱浣嶇粍鏄惁瀛樺湪灏忚溅锛屽瀛樺湪灏忚溅鍒欑洿鎺ユ寚瀹氳杞� - List<String> groupLoc = Utils.getGroupLoc(locNo); - Integer groupShuttleNo = Utils.checkGroupLocHasShuttle(groupLoc); - if (groupShuttleNo != null) { - //瀛樺湪灏忚溅锛岀洿鎺ヨ皟搴﹁杞� - return shuttleMoveGenerate(wrkNo, locNo, groupShuttleNo); + WrkMast wrkMast = wrkMastMapper.selectByWorkNo(wrkNo); + if (wrkMast != null) { + String targetLocNo = wrkMast.getIoType() < 100 ? wrkMast.getLocNo() : wrkMast.getSourceLocNo(); + List<String> groupLoc = Utils.getGroupLoc(targetLocNo); + Integer groupShuttleNo = Utils.checkGroupLocHasShuttle(groupLoc); + if (groupShuttleNo != null) { + //瀛樺湪灏忚溅锛岀洿鎺ヨ皟搴﹁杞� + return shuttleMoveGenerate(wrkNo, locNo, groupShuttleNo); + } } ArrayList<NyShuttleThread> sameLev = new ArrayList<>();//鐩稿悓妤煎眰鐨勭┛姊溅 @@ -89,6 +93,11 @@ } if (!shuttleProtocol.isIdle()) { + continue; + } + + if (shuttleProtocol.getSuspendState() == 1) { + //灏忚溅澶勪簬绠″埗涓� continue; } @@ -126,7 +135,7 @@ //褰撳墠绌挎杞﹀簱浣嶅彿 String currentLocNo = shuttleThread.getShuttleProtocol().getCurrentLocNo(); //褰撳墠绌挎杞︾嚎绋嬪埌鐩爣鍦扮偣璺濈 - List<NavigateNode> currentShuttlePath = NavigateUtils.calc(currentLocNo, locNo, NavigationMapType.NORMAL.id, Utils.getShuttlePoints(shuttleThread.getSlave().getId(), Utils.getLev(currentLocNo)));//鎼滅储绌洪棽绌挎杞︼紝浣跨敤姝e父閫氶亾鍦板浘 + List<NavigateNode> currentShuttlePath = NavigateUtils.calc(currentLocNo, locNo, NavigationMapType.NORMAL.id, Utils.getShuttlePoints(shuttleThread.getSlave().getId(), Utils.getLev(currentLocNo)), null);//鎼滅储绌洪棽绌挎杞︼紝浣跨敤姝e父閫氶亾鍦板浘 if (currentShuttlePath == null) { continue; } @@ -145,8 +154,8 @@ WrkMast wrkMast1 = wrkMastMapper.selectByWorkNo(wrkNo); if (wrkMast1 != null) { - String locNO=wrkMast1.getIoType()<100?wrkMast1.getLocNo():wrkMast1.getSourceLocNo(); - int lev = Utils.getLev(locNO);//鐩爣妤煎眰 + String targetLoc = wrkMast1.getIoType() < 100 ? wrkMast1.getLocNo() : wrkMast1.getSourceLocNo(); + int lev = Utils.getLev(targetLoc);//鐩爣妤煎眰 //妫�娴嬬洰鏍囨ゼ灞傝溅鏁伴噺鏄惁灏忎簬鍏佽鐨勬渶澶ф暟閲� boolean checkDispatchMaxNum = checkDispatchMaxNum(lev); @@ -410,7 +419,7 @@ String locNo = liftStaProtocol.getLocNo();//绔欑偣搴撲綅鍙� //褰撳墠绌挎杞︾嚎绋嬪埌鐩爣鍦扮偣璺濈 - List<NavigateNode> currentShuttlePath = NavigateUtils.calc(currentLocNo, locNo, NavigationMapType.NORMAL.id, Utils.getShuttlePoints(shuttleNo, Utils.getLev(currentLocNo)));//浣跨敤姝e父閫氶亾鍦板浘 + List<NavigateNode> currentShuttlePath = NavigateUtils.calc(currentLocNo, locNo, NavigationMapType.NORMAL.id, Utils.getShuttlePoints(shuttleNo, Utils.getLev(currentLocNo)), null);//浣跨敤姝e父閫氶亾鍦板浘 if (currentShuttlePath == null) { continue; } -- Gitblit v1.9.1