From fa1d5f09f583d49e888d15066d74d47920663113 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期三, 14 一月 2026 13:07:46 +0800
Subject: [PATCH] 1
---
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/SegmentServiceImpl.java | 21 +++++++++++++++++----
1 files changed, 17 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..18fb10e 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
@@ -74,6 +74,7 @@
.eq(Segment::getSerial, serial - 1)
.eq(Segment::getState, SegmentStateType.FINISH.toString())
.orderByDesc(Segment::getId)
+ .last("limit 1")
);
}
@@ -128,9 +129,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 +147,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 +169,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 +189,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