From e2cbfe96c6dea03c15bbb8ea8c7af320242a5d19 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期三, 23 四月 2025 10:14:53 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/utils/ShuttleOperaUtils.java | 10 +++-- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 52 +++++++++++++------------- 2 files changed, 32 insertions(+), 30 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 c756228..d81f88c 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -179,14 +179,14 @@ return false; } -// //妫�娴嬮殰纰嶇墿杞� -// boolean checkObstacle = shuttleOperaUtils.checkObstacle(wrkMast.getLocNo(), new ArrayList<Integer>() {{ -// add(shuttleProtocol.getShuttleNo()); -// }}); -// if (checkObstacle) { -// News.info("{}浠诲姟锛岄伩闅滆寖鍥存湁灏忚溅锛岀瓑寰呴殰纰嶅皬杞﹁皟绂讳腑", wrkMast.getWrkNo()); -// return false; -// } + //妫�娴嬮殰纰嶇墿杞� + boolean checkObstacle = shuttleOperaUtils.checkObstacle(wrkMast.getLocNo(), new ArrayList<Integer>() {{ + add(shuttleProtocol.getShuttleNo()); + }}); + if (checkObstacle) { + News.info("{}浠诲姟锛岄伩闅滆寖鍥存湁灏忚溅锛岀瓑寰呴殰纰嶅皬杞﹁皟绂讳腑", wrkMast.getWrkNo()); + return false; + } ShuttleAssignCommand assignCommand = new ShuttleAssignCommand(); assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); // 鍥涘悜绌挎杞︾紪鍙� @@ -350,14 +350,14 @@ return false; } -// //妫�娴嬮殰纰嶇墿杞� -// boolean checkObstacle = shuttleOperaUtils.checkObstacle(liftSta.getLocNo(), new ArrayList<Integer>() {{ -// add(shuttleProtocol.getShuttleNo()); -// }}); -// if (checkObstacle) { -// News.info("{}浠诲姟锛岄伩闅滆寖鍥存湁灏忚溅锛岀瓑寰呴殰纰嶅皬杞﹁皟绂讳腑", wrkMast.getWrkNo()); -// return false; -// } + //妫�娴嬮殰纰嶇墿杞� + boolean checkObstacle = shuttleOperaUtils.checkObstacle(liftSta.getLocNo(), new ArrayList<Integer>() {{ + add(shuttleProtocol.getShuttleNo()); + }}); + if (checkObstacle) { + News.info("{}浠诲姟锛岄伩闅滆寖鍥存湁灏忚溅锛岀瓑寰呴殰纰嶅皬杞﹁皟绂讳腑", wrkMast.getWrkNo()); + return false; + } ShuttleAssignCommand assignCommand = new ShuttleAssignCommand(); assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); // 鍥涘悜绌挎杞︾紪鍙� @@ -576,8 +576,8 @@ return false; } -// commands.add(0, liftCommand.get(0)); -// commands.add(liftCommand2.get(0)); + commands.add(0, liftCommand.get(0)); + commands.add(liftCommand2.get(0)); assignCommand.setCommands(commands); wrkMast.setWrkSts(WrkStsType.LOC_MOVE_SHUTTLE_RUN.sts);//灏忚溅鎼繍涓� 501.鐢熸垚绉诲簱浠诲姟 ==> 502.灏忚溅鎼繍涓� @@ -1384,14 +1384,14 @@ return false; } -// //妫�娴嬮殰纰嶇墿杞� -// boolean checkObstacle = shuttleOperaUtils.checkObstacle(basShuttleCharge.getWaitLocNo(), new ArrayList<Integer>() {{ -// add(shuttleProtocol.getShuttleNo()); -// }}); -// if (checkObstacle) { -// News.info("{}浠诲姟锛岄伩闅滆寖鍥存湁灏忚溅锛岀瓑寰呴殰纰嶅皬杞﹁皟绂讳腑", wrkMast.getWrkNo()); -// return false; -// } + //妫�娴嬮殰纰嶇墿杞� + boolean checkObstacle = shuttleOperaUtils.checkObstacle(basShuttleCharge.getWaitLocNo(), new ArrayList<Integer>() {{ + add(shuttleProtocol.getShuttleNo()); + }}); + if (checkObstacle) { + News.info("{}浠诲姟锛岄伩闅滆寖鍥存湁灏忚溅锛岀瓑寰呴殰纰嶅皬杞﹁皟绂讳腑", wrkMast.getWrkNo()); + return false; + } //璋冨害灏忚溅鍘诲緟鏈轰綅 boolean dispatched = shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), basShuttleCharge.getWaitLocNo(), wrkMast.getShuttleNo()); diff --git a/src/main/java/com/zy/common/utils/ShuttleOperaUtils.java b/src/main/java/com/zy/common/utils/ShuttleOperaUtils.java index 4c14010..9b8be6c 100644 --- a/src/main/java/com/zy/common/utils/ShuttleOperaUtils.java +++ b/src/main/java/com/zy/common/utils/ShuttleOperaUtils.java @@ -260,13 +260,15 @@ continue; } - HashMap<String, Integer> carMap = findCarMap(); - String targetLocNo = null; for (NavigateNode node : outerNodes) { String dispatchLocNo = NavigatePositionConvert.nodeToLocNo(node); - if (carMap.containsKey(dispatchLocNo)) { - continue; + //鑾峰彇鍐呭湀鑺傜偣 + List<NavigateNode> avoidInnerNodes = getInnerNodes(dispatchLocNo, innerCircle, new ArrayList<>()); + //璁$畻鍐呭湀鏄惁鏈夊皬杞� + List<Integer> avoidNodesCar = findNodesCar(avoidInnerNodes); + if(!avoidNodesCar.isEmpty()) { + continue; } targetLocNo = dispatchLocNo; break; -- Gitblit v1.9.1