From abb914f4761cedcfc89eb3dcdd2cf377490d09bc Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期三, 14 五月 2025 14:41:40 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/RgvThread.java             |   18 +++++++++++++++++-
 src/main/java/com/zy/asrs/controller/RgvController.java     |    6 ++++++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |    4 ++++
 src/main/java/com/zy/core/model/protocol/TaskProtocol.java  |    1 +
 4 files changed, 28 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 759e453..edea0af 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -171,6 +171,8 @@
             //鎵ц
             issuedPut.setTaskNo(Long.valueOf(taskNo));
             issuedPut.setTaskStatus(3);
+            issuedPut.setTargetPositionStaNo(basDevpPosition.getDevNo());
+            issuedPut.setTargetPositionStaNoPlcId(basDevpPosition.getPlcId());
             issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus()));
             issuedPut.setTargetPosition(basDevpPosition.getPlcPosition());
             issuedPut.setIsRunning(1);
@@ -256,6 +258,8 @@
             //鎵ц
             issuedTake.setTaskNo(Long.valueOf(taskNo));
             issuedTake.setTaskStatus(2);
+            issuedTake.setTargetPositionStaNo(basDevpPositionTake.getDevNo());
+            issuedTake.setTargetPositionStaNoPlcId(basDevpPositionTake.getPlcId());
             issuedTake.setTaskNoDirection(issuedTake.gettaskNoDirection$(issuedTake.getTaskNo(), issuedTake.getTaskStatus()));
             issuedTake.setTargetPosition(basDevpPositionTake.getPlcPosition());
             issuedTake.setIsRunning(1);
@@ -265,6 +269,8 @@
             //鎵ц
             issuedPut.setTaskNo(Long.valueOf(taskNo));
             issuedPut.setTaskStatus(3);
+            issuedPut.setTargetPositionStaNo(basDevpPositionPut.getDevNo());
+            issuedPut.setTargetPositionStaNoPlcId(basDevpPositionPut.getPlcId());
             issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus()));
             issuedPut.setTargetPosition(basDevpPositionPut.getPlcPosition());
             issuedPut.setIsRunning(1);
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 df46146..aae0581 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1734,6 +1734,8 @@
                 //鎵ц
                 issuedTake.setTaskNo(Long.valueOf(taskWrk.getWrkNo()));
                 issuedTake.setTaskStatus(2);
+                issuedTake.setTargetPositionStaNo(basDevpPositionSou.getDevNo());
+                issuedTake.setTargetPositionStaNoPlcId(basDevpPositionSou.getPlcId());
                 issuedTake.setTaskNoDirection(issuedTake.gettaskNoDirection$(issuedTake.getTaskNo(), issuedTake.getTaskStatus()));
                 issuedTake.setTargetPosition(basDevpPositionSou.getPlcPosition());
                 issuedTake.setIsRunning(1);
@@ -1742,6 +1744,8 @@
 
                 issuedPut.setTaskNo(Long.valueOf(taskWrk.getWrkNo()));
                 issuedPut.setTaskStatus(3);
+                issuedPut.setTargetPositionStaNo(basDevpPositionEnd.getDevNo());
+                issuedPut.setTargetPositionStaNoPlcId(basDevpPositionEnd.getPlcId());
                 issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus()));
                 issuedPut.setTargetPosition(basDevpPositionEnd.getPlcPosition());
                 issuedPut.setIsRunning(1);
diff --git a/src/main/java/com/zy/core/model/protocol/TaskProtocol.java b/src/main/java/com/zy/core/model/protocol/TaskProtocol.java
index 5e8c732..ad8cc4d 100644
--- a/src/main/java/com/zy/core/model/protocol/TaskProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/TaskProtocol.java
@@ -11,6 +11,7 @@
     private volatile Long taskNo; // 浠诲姟鍙凤紙涓诲睘鎬э級
     private volatile Long targetPosition = 0L; // 鐩爣浣嶇疆
     private volatile Integer targetPositionStaNo = 0; // 鐩爣浣嶇疆
+    private volatile Integer targetPositionStaNoPlcId = 1; // 鐩爣浣嶇疆
 
     private volatile int isRunning = 0; // 杩愯鐘舵��  0锛氬垵濮�  1锛氱瓑寰呮墽琛�  2锛氭墽琛屼腑 3锛氭墽琛屼腑鏂� 4锛氬畬缁�
 
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index d0e09bd..5379142 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -14,6 +14,7 @@
 import com.zy.asrs.service.BasRgvService;
 import com.zy.asrs.utils.RouteUtils;
 import com.zy.asrs.utils.TrackRangeUtils;
+import com.zy.core.DevpThread;
 import com.zy.core.ThreadHandler;
 import com.zy.core.cache.*;
 import com.zy.core.enums.RgvModeType;
@@ -25,6 +26,7 @@
 import com.zy.core.model.command.RgvCommand;
 import com.zy.core.model.protocol.RgvProtocol;
 import com.zy.core.model.protocol.RgvTaskProtocol;
+import com.zy.core.model.protocol.StaProtocol;
 import com.zy.core.model.protocol.TaskProtocol;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
@@ -293,7 +295,21 @@
                         }
                         if (taskProtocol.getTargetPosition()<=rgvProtocol.getRgvPos()+50
                                 && taskProtocol.getTargetPosition()>=rgvProtocol.getRgvPos()-50){
-//                            Thread.sleep(100);
+                            Thread.sleep(100);
+                            if (taskProtocol.getTaskStatus()==3){
+                                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, taskProtocol.getTargetPositionStaNoPlcId());
+                                StaProtocol staProtocol = devpThread.getStation().get(taskProtocol.getTargetPositionStaNo());
+                                if (staProtocol == null ) {
+                                    continue;
+                                }
+                                // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+                                if (!staProtocol.isAutoing() || staProtocol.isLoading()
+                                        || staProtocol.getWorkNo() != 0
+                                ){
+                                    System.out.println("<鏀捐揣鐩爣绔�>" + taskProtocol.getTargetPositionStaNo() + "<闈炶嚜鍔ㄦ垨鑰呮湁鐗╂垨鑰呭瓨鍦ㄥ伐浣滃彿锛侊紒锛�>");
+                                    continue;
+                                }
+                            }
                             TaskProtocol issued = new TaskProtocol(taskProtocol);
                             write(issued);
                             taskProtocolCache.removeTaskProtocol(taskProtocol.getTaskNoDirection());

--
Gitblit v1.9.1