From da407d4525cd6ea211d952fc2fd96f5ba30510e8 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 27 十一月 2024 15:43:28 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java | 23 +++++++++++++++--------
1 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java
index 52eac9f..2097a81 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java
@@ -4,11 +4,13 @@
import com.zy.acs.common.enums.AgvDirectionType;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.manager.common.utils.MapDataUtils;
+import com.zy.acs.manager.core.constant.MapDataConstant;
import com.zy.acs.manager.core.service.astart.*;
import com.zy.acs.manager.core.service.astart.domain.DynamicNode;
import com.zy.acs.manager.core.service.floyd.FloydNavigateService;
import com.zy.acs.manager.manager.entity.Code;
import com.zy.acs.manager.manager.entity.Loc;
+import com.zy.acs.manager.manager.entity.Segment;
import com.zy.acs.manager.manager.service.ActionService;
import com.zy.acs.manager.manager.service.CodeService;
import com.zy.acs.manager.system.service.ConfigService;
@@ -17,7 +19,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
import java.util.stream.Collectors;
/**
@@ -40,15 +44,11 @@
@Autowired
private ActionService actionService;
- public List<String> checkoutPath(String agvNo, Code startCode, Code endCode, Boolean lock) {
- return this.checkoutPath(agvNo, startCode, endCode, lock, null);
- }
-
/**
* 瀵诲潃 ===>> A Star
*/
public synchronized List<String> checkoutPath(String agvNo, Code startCode, Code endCode
- , Boolean lock, List<String> blackList) {
+ , Boolean lock, List<String> blackList, Segment segment) {
int[] startMapIdx = mapDataDispatcher.getCodeMatrixIdx(null, startCode.getData());
int[] endMapIdx = mapDataDispatcher.getCodeMatrixIdx(null, endCode.getData());
@@ -56,7 +56,7 @@
NavigateNode startNode = new NavigateNode(startMapIdx[0], startMapIdx[1], startCode.getData());
NavigateNode endNode = new NavigateNode(endMapIdx[0], endMapIdx[1], endCode.getData());
- NavigateNode finishNode = aStarNavigateService.execute(agvNo, startNode, endNode, lock, blackList);
+ NavigateNode finishNode = aStarNavigateService.execute(agvNo, startNode, endNode, lock, blackList, segment);
if (null == finishNode) {
log.warn("{} 鍙稟GV妫�绱{}] ===>> [{}]璺緞澶辫触......", agvNo, startCode.getData(), endCode.getData());
@@ -80,7 +80,14 @@
// navigateNode.setParent(null);
// }
- return navigateNodes.stream().map(NavigateNode::getCodeData).collect(Collectors.toList());
+ List<String> navigatePath = navigateNodes.stream().map(NavigateNode::getCodeData).collect(Collectors.toList());
+
+ // max count of steps
+ if (navigatePath.size() > MapDataConstant.MAX_STEPS_SINGLE) {
+ navigatePath = navigatePath.subList(0, MapDataConstant.MAX_STEPS_SINGLE);
+ }
+
+ return navigatePath;
}
/**
--
Gitblit v1.9.1