From 103ca74d9b67ce4f766b5f77451741a76fa696b9 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期日, 22 三月 2026 09:50:10 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.java |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.java b/src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.java
index 19b3642..064b5cd 100644
--- a/src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.java
+++ b/src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.java
@@ -214,6 +214,16 @@
 
     @Override
     public StationCommand getCommand(StationCommandType commandType, Integer taskNo, Integer stationId, Integer targetStationId, Integer palletSize) {
+        return getCommand(commandType, taskNo, stationId, targetStationId, palletSize, null);
+    }
+
+    @Override
+    public StationCommand getCommand(StationCommandType commandType,
+                                     Integer taskNo,
+                                     Integer stationId,
+                                     Integer targetStationId,
+                                     Integer palletSize,
+                                     Double pathLenFactor) {
         StationCommand stationCommand = new StationCommand();
         stationCommand.setTaskNo(taskNo);
         stationCommand.setStationId(stationId);
@@ -223,7 +233,7 @@
 
         if (commandType == StationCommandType.MOVE) {
             if (!stationId.equals(targetStationId)) {
-                List<NavigateNode> nodes = calcPathNavigateNodes(stationId, targetStationId);
+                List<NavigateNode> nodes = calcPathNavigateNodes(taskNo, stationId, targetStationId, pathLenFactor);
                 List<Integer> path = new ArrayList<>();
                 List<Integer> liftTransferPath = new ArrayList<>();
                 for (NavigateNode n : nodes) {
@@ -303,12 +313,15 @@
         return zyStationConnectDriver.readOriginCommand(address, length);
     }
 
-    private List<NavigateNode> calcPathNavigateNodes(Integer startStationId, Integer targetStationId) {
+    private List<NavigateNode> calcPathNavigateNodes(Integer taskNo,
+                                                     Integer startStationId,
+                                                     Integer targetStationId,
+                                                     Double pathLenFactor) {
         NavigateUtils navigateUtils = SpringUtils.getBean(NavigateUtils.class);
         if (navigateUtils == null) {
             return new ArrayList<>();
         }
-        return navigateUtils.calcByStationId(startStationId, targetStationId);
+        return navigateUtils.calcByStationId(startStationId, targetStationId, taskNo, pathLenFactor);
     }
 
     private void executeMoveWithSeg(StationCommand original) {

--
Gitblit v1.9.1