From 4f5b35538baf84ecd3cdbd4afd797b0f5d1641de Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期四, 16 十月 2025 15:02:05 +0800
Subject: [PATCH] 1
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java | 38 ++++++++++++++++++++++++--------------
1 files changed, 24 insertions(+), 14 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
index 1ea8950..9c66bdc 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -1288,7 +1288,6 @@
}
-
/**
* 鏍规嵁鍒嗙墖鐢熸垚鍔ㄤ綔 ( 杞﹁締鍙兘宸茬粡鍋氳繃涓�浜涗换鍔′簡,姝e湪绛夊緟涓嬩竴娈典换鍔� )
*/
@@ -1322,11 +1321,16 @@
throw new CoolException("AGV[" + agvNo + "]瀹氫綅鍋忕Щ...");
}
- String lastCorner = null;
- for (int i = pathList.size(); i <0; i++) {
- Code nextCode = codeService.getCacheByData(pathList.get(i - 1));
- if (nextCode!=null&&nextCode.getCornerBool()){
- lastCorner =pathList.get(i - 1);
+ //String lastCorner = null;
+ Integer index = -1;
+ for (int i = pathList.size(); i < 0; i++) {
+ if (i == 0) {
+ continue;
+ }
+ Code nextCode = codeService.getCacheByData(pathList.get(i));
+ if (nextCode != null && nextCode.getCornerBool()) {
+ //lastCorner = pathList.get(i);
+ index = i;
}
}
@@ -1350,17 +1354,23 @@
if (i == 0) {
continue;
}
-
String next = pathListPart.get(i);
-
Code nextCode = codeService.getCacheByData(next);
- Double nextDirection = mapService.calculateDirection(lastCode, nextCode, angleOffsetVal);
+ Double nextDirection;
boolean reverse = false;
- if (lastCorner.equals(lastCode)){
- // DOTO
+ if (index >= i) {
+ // DOTO 娣诲姞杞集
+ Code endCode = codeService.getCacheByData(pathList.get(pathList.size() - 1));
+ nextDirection = mapService.calculateDirection(lastCode, endCode, angleOffsetVal);
+ if (nextDirection.equals((workDirection + 180) % 360)) {
+ nextDirection = workDirection;
+ reverse = true;
+ }
- }else {
+ } else {
+ nextDirection = mapService.calculateDirection(lastCode, nextCode, angleOffsetVal);
+
// 绗竴姝ワ細濡傛灉涓嬩竴涓柟鍚戞濂芥槸浣滀笟鏂瑰悜鐨勭浉鍙嶆柟鍚戯紝鍒欓噸缃笅涓�涓柟鍚戜负浣滀笟鏂瑰悜锛屾爣璁� reverse = true
if (nextDirection.equals((workDirection + 180) % 360)) {
nextDirection = workDirection;
@@ -1851,7 +1861,7 @@
log.info("{}鍙稟gv鍔ㄤ綔缁勮瀹屾垚锛屾寚浠ゆ暟閲忥細{}", agvNo, newActionList.size());
} catch (Exception e) {
- log.error("mainService.generateAction", e);
+ log.error("mainService.generateActionV2", e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
if (!Cools.isEmpty(pathList)) {
@@ -1860,7 +1870,7 @@
mapDataDispatcher.clearDynamicMatrixByCodeList(null, codeMatrixIdxList);
}
- throw new RuntimeException("generateAction method caught an exception, rolling back transaction.", e);
+ throw new RuntimeException("generateActionV2 method caught an exception, rolling back transaction.", e);
}
}
--
Gitblit v1.9.1