From afcc2e8cd7a3ef2c93c7affb771347413b89a598 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@gmail.com>
Date: 星期三, 07 一月 2026 08:15:46 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/SegmentServiceImpl.java |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

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 ee330e1..ce88ece 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
@@ -128,9 +128,10 @@
     public Boolean cancel(Long segmentId, Long userId) {
         Date now = new Date();
         Segment segment = this.getById(segmentId);
+        Long travelId = segment.getTravelId();
         String groupId = segment.getGroupId();
         // update segment list
-        List<Segment> segmentList = this.list(new LambdaQueryWrapper<Segment>().eq(Segment::getGroupId, groupId));
+        List<Segment> segmentList = this.list(new LambdaQueryWrapper<Segment>().eq(Segment::getTravelId, travelId));
         for (Segment seg : segmentList) {
             Task task = taskService.getById(segment.getTaskId());
             if (task != null &&
@@ -145,7 +146,9 @@
         }
         this.processNext(segmentList);
         // update action list
-        actionService.updateStsByGroupId(groupId, ActionStsType.EXPIRED.val());
+        if (!Cools.isEmpty(groupId)) {
+            actionService.updateStsByGroupId(groupId, ActionStsType.EXPIRED.val());
+        }
         return Boolean.TRUE;
     }
 
@@ -165,8 +168,8 @@
     }
 
     @Override
-    public int countRemainingBackpack(Long travelId, Long agvId) {
-        return this.baseMapper.countRemainingBackpack(agvId, travelId);
+    public List<Integer> selectUsedBackpacks(Long travelId, Long agvId) {
+        return this.baseMapper.selectUsedBackpacks(agvId, travelId);
     }
 
     @Override
@@ -185,4 +188,13 @@
         return segments.get(0);
     }
 
+    @Override
+    public Boolean isRollerWaiting(Long agvId) {
+        return 0 < this.count(new LambdaQueryWrapper<Segment>()
+                .eq(Segment::getAgvId, agvId)
+                .eq(Segment::getState, SegmentStateType.WAITING.toString())
+                .eq(Segment::getRollerWaiting, 1)
+        );
+    }
+
 }

--
Gitblit v1.9.1