From 04c4a9bdc5c4bccd05fb0092bdb4552af2d09bb1 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 29 十二月 2025 08:36:51 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java                |    4 ++++
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java             |    7 +++++--
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/SegmentServiceImpl.java |   18 ++++++++++++++++++
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/SegmentService.java          |    2 ++
 4 files changed, 29 insertions(+), 2 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 fbf9ac5..790ab43 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
@@ -1467,6 +1467,10 @@
 
             log.info("Agv [{}] 鍙栨斁璐ц姹傚寘 ===>> {}", protocol.getAgvNo(), JSON.toJSONString(agv_06_up));
 
+            // query current segment
+            Segment currSeg = segmentService.getCurrRunningSeg(agv.getId(), agv_06_up.getQrCode());
+
+
             // todo:vincent 鏍¢獙鏄惁鍙互鍙栨斁璐�
 
             AGV_06_DOWN agv_06_down = new AGV_06_DOWN();
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
index 8de616a..7dc6ff4 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
@@ -264,8 +264,11 @@
                         interrupt = true;
                     } else {
                         if (nextStep.getEndNode() == endNode) {
-
-                            segmentList.add(nextStep);
+                            // remove sta action seg
+                            if (!nextStep.getPosType().equals(TaskPosDto.PosType.ORI_STA.toString())
+                                    && !nextStep.getPosType().equals(TaskPosDto.PosType.DEST_STA.toString())) {
+                                segmentList.add(nextStep);
+                            }
                         } else {
                             interrupt = true;
                         }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/SegmentService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/SegmentService.java
index 85422ae..87dd9cf 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/SegmentService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/SegmentService.java
@@ -26,4 +26,6 @@
 
     Boolean cancel(Long segmentId, Long userId);
 
+    Segment getCurrRunningSeg(Long agvId, String qrCode);
+
 }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/SegmentServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/SegmentServiceImpl.java
index 603bea5..c3eaf34 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/SegmentServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/SegmentServiceImpl.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zy.acs.framework.exception.CoolException;
+import com.zy.acs.manager.manager.entity.Code;
 import com.zy.acs.manager.manager.entity.Segment;
 import com.zy.acs.manager.manager.entity.Task;
 import com.zy.acs.manager.manager.enums.ActionStsType;
@@ -33,6 +34,8 @@
     private TaskService taskService;
     @Autowired
     private ActionService actionService;
+    @Autowired
+    private CodeService codeService;
 
     @Override
     public void processNext(List<Segment> segmentList) {
@@ -146,4 +149,19 @@
         return Boolean.TRUE;
     }
 
+    @Override
+    public Segment getCurrRunningSeg(Long agvId, String qrCode) {
+        Code codeId = codeService.getCacheByData(qrCode);
+        List<Segment> segments = this.list(new LambdaQueryWrapper<Segment>()
+                .eq(Segment::getAgvId, agvId)
+                .eq(Segment::getState, SegmentStateType.RUNNING.toString())
+                .eq(Segment::getEndNode, codeId)
+        );
+
+        if (Cools.isEmpty(segments)) {
+
+        }
+        return segments.stream().findFirst().orElse(null);
+    }
+
 }

--
Gitblit v1.9.1