From a9cf56a7be8b5e27e2c3dcb416b734093e7a8dc3 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期三, 28 一月 2026 12:54:15 +0800
Subject: [PATCH] Merge branch 'rcs_master' into ctu_conveyor

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaServiceImpl.java |   25 +++++++++++++++++++++----
 1 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaServiceImpl.java
index c0871c6..8afdba0 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaServiceImpl.java
@@ -5,10 +5,7 @@
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.manager.core.domain.TaskPosDto;
 import com.zy.acs.manager.manager.entity.*;
-import com.zy.acs.manager.manager.enums.SegmentStateType;
-import com.zy.acs.manager.manager.enums.StaTypeType;
-import com.zy.acs.manager.manager.enums.StatusType;
-import com.zy.acs.manager.manager.enums.TravelStateType;
+import com.zy.acs.manager.manager.enums.*;
 import com.zy.acs.manager.manager.mapper.StaMapper;
 import com.zy.acs.manager.manager.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +25,10 @@
     private SegmentService segmentService;
     @Autowired
     private TravelService travelService;
+    @Autowired
+    private StaReserveService staReserveService;
+    @Autowired
+    private TaskService taskService;
 
     @Override
     public Sta selectByStaNo(String staNo) {
@@ -56,6 +57,22 @@
     }
 
     @Override
+    public Task checkoutTask(Long staId) {
+        StaReserve reserve = staReserveService.getOne(new LambdaQueryWrapper<StaReserve>()
+                .eq(StaReserve::getStaId, staId)
+                .eq(StaReserve::getState, StaReserveStateType.CONFIRMED.toString())
+                .eq(StaReserve::getType, StaReserveType.IN.toString())
+                .eq(StaReserve::getStatus, StatusType.ENABLE.val)
+                .orderByDesc(StaReserve::getConfirmedAt)
+                .last("limit 1")
+        );
+        if (null == reserve) {
+            return null;
+        }
+        return taskService.getById(reserve.getTaskId());
+    }
+
+    @Override
     public boolean isRoller(Long staId) {
         if (staId == null) {
             return false;

--
Gitblit v1.9.1