From a8bb23b90b99f1898c2a0d0335115c69a6db761d Mon Sep 17 00:00:00 2001
From: zyh <zyh@123>
Date: 星期六, 24 一月 2026 08:33:19 +0800
Subject: [PATCH] 添加了联结器库特殊站点时调用AGV特殊模板,添加人员入侵系统检测到有人时急停AGV的接口,修复AGV工作档没有任务号的漏洞

---
 src/main/java/com/zy/asrs/task/handler/AGVTaskReportHandler.java |   53 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 50 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/AGVTaskReportHandler.java b/src/main/java/com/zy/asrs/task/handler/AGVTaskReportHandler.java
index 2dd58e0..f9eb275 100644
--- a/src/main/java/com/zy/asrs/task/handler/AGVTaskReportHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AGVTaskReportHandler.java
@@ -7,7 +7,10 @@
 import com.zy.asrs.service.RcsService;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.common.properties.StationProperties;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -23,6 +26,8 @@
 
     @Resource
     private RcsService rcsService;
+    @Autowired
+    private StationProperties stationProperties;
 
 
     public ReturnT<String> start(Task task) {
@@ -37,21 +42,63 @@
         }else if(task.getIoType()==5){
             SourceStaNoType = "ZONE";
         }
+        String taskType = "PP";
+        Boolean flag1 = false;
+        Boolean flag2 = false;
+        Boolean cpFlag1 = false;
+        Boolean cpFlag2 = false;
+        if(stationProperties.getStation().contains(task.getStaNo())){
+            if (task.getStaNo().equals("Z-LVL18")){
+                taskType = "LJCPIN";
+                cpFlag1 = true;
+            }else {
+                taskType = "LJIN";
+                flag1 = true;
+            }
+        }
+        if (stationProperties.getStation().contains(task.getSourceStaNo())){
+            if (task.getSourceStaNo().equals("Z-LVL18")){
+                cpFlag2 = true;
+                taskType = "LJCPOUT";
+            }else{
+                taskType = "LJOUT";
+                flag2 = true;
+            }
+        }
+        if(flag1 && flag2){
+            taskType = "LJBOTH";
+        }
+        if (cpFlag1 && cpFlag2){
+            taskType = "LJCPBOTH";
+        }
+        //AGV鍖哄煙涓棤娉曠敤-
+        String StaNo = task.getStaNo();
+        String SourceStaNo = task.getSourceStaNo();
+        if (task.getStaNo().split("-")[0].equals("Q")) {
+            String[] split = task.getStaNo().split("-");
+            StaNo = split[0]+split[1];
+        }
+        if (task.getSourceStaNo().split("-")[0].equals("Q")) {
+            String[] split = task.getSourceStaNo().split("-");
+            SourceStaNo = split[0]+split[1];
+        }
+
         // 涓嬪彂缁橰CS
         RcsTaskSubmit rcsTaskSubmit = new RcsTaskSubmit();
-        rcsTaskSubmit.setRobotTaskCode(task.getTaskNo());
+        rcsTaskSubmit.setTaskType(taskType);
+        rcsTaskSubmit.setRobotTaskCode(task.getTaskNo()+"-"+task.getCtnType());
         rcsTaskSubmit.setInitPriority(10);  //榛樿10
         List<RcsTaskTargetRoute> targetRouteList = new ArrayList<>();
         RcsTaskTargetRoute startRoute = new RcsTaskTargetRoute();
         startRoute.setSeq(0);
         startRoute.setType(SourceStaNoType);
-        startRoute.setCode(task.getSourceStaNo());
+        startRoute.setCode(SourceStaNo);
         startRoute.setOperation("COLLECT");
         targetRouteList.add(startRoute);
         RcsTaskTargetRoute endRoute = new RcsTaskTargetRoute();
         endRoute.setSeq(1);
         endRoute.setType(TargetStaNoType);
-        endRoute.setCode(task.getStaNo());
+        endRoute.setCode(StaNo);
         endRoute.setOperation("DELIVERY");
         targetRouteList.add(endRoute);
         rcsTaskSubmit.setTargetRoute(targetRouteList);

--
Gitblit v1.9.1