From 7580f2c273bc31868274404d3c8d4d836ecc56cf Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 14 一月 2025 15:34:47 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 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 20762af..0838cc0 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -267,10 +267,20 @@
                             && rgvProtocol.getTaskNo1() == 0
                             && rgvProtocol.getAlarm() == 0) {
                         if (rgvProtocol.getStatusType() == RgvStatusType.ROAM) {
-                            double finalVelocity = 0.0;     // 鏈�缁堥�熷害 (m/s)
-                            double distance = (Math.pow(finalVelocity, 2) - Math.pow(rgvProtocol.instantaneousSpeed / 60, 2)) / (2 * acceleration);
-                            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("dev_no", wrkMast.getSourceStaNo()));
-                            if (distance * proportion > ((SortTheExecutionOfTheCarUtil.LatelyAndLessThan(basDevpPosition.getPlcPosition(), rgvProtocol.getRgvPos(), perimeter) + (rgvProtocol.instantaneousSpeed / 60) * proportion * rgvDate))) {
+//                            double finalVelocity = 0.0;     // 鏈�缁堥�熷害 (m/s)
+//                            double distance = (Math.pow(finalVelocity, 2) - Math.pow(rgvProtocol.instantaneousSpeed / 60, 2)) / (2 * acceleration);
+//                            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("dev_no", wrkMast.getSourceStaNo()));
+//                            if (distance * proportion > ((SortTheExecutionOfTheCarUtil.LatelyAndLessThan(basDevpPosition.getPlcPosition(), rgvProtocol.getRgvPos(), perimeter) + (rgvProtocol.instantaneousSpeed / 60) * proportion * rgvDate))) {
+//                                continue;
+//                            }
+                            List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<BasDevpPosition>().orderBy("plc_position", true));
+                            if (basDevpPositions.isEmpty()) {
+                                log.error("鑾峰彇鎵�鏈夌珯鐐逛俊鎭紓甯�,RGV浠诲姟涓嬪彂澶辫触锛岃鑱旂郴绠$悊鍛橈紒锛侊紒");
+                                break runRgv;
+                            }
+                            List<Integer> devpList = SortTheExecutionOfTheCarUtil.BasDevpPositionExtractSites(basDevpPositions);
+
+                            if (!SortTheExecutionOfTheCarUtil.calculateShortestDistanceDirection(devpList,rgvProtocol.getEndStaM(),wrkMast.getSourceStaNo())){
                                 continue;
                             }
                         }
@@ -299,10 +309,9 @@
                             log.error("鏇存柊灏忚溅浠诲姟澶辫触,浠诲姟鍙凤細" + wrkMast.getWrkNo());
                         }
                         break runRgv;
+                    } else {
+                        break runRgv;
                     }
-//                    else {
-//                        break runRgv;
-//                    }
                 }
             }
         }

--
Gitblit v1.9.1