From 0267cc2886bbdce2c9a55755789c10e0dcaff9f0 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 02 二月 2026 14:46:24 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaServiceImpl.java |   27 ++++++++++++++++++++-------
 1 files changed, 20 insertions(+), 7 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 9498743..276355d 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
@@ -27,6 +27,8 @@
     private TravelService travelService;
     @Autowired
     private StaReserveService staReserveService;
+    @Autowired
+    private TaskService taskService;
 
     @Override
     public Sta selectByStaNo(String staNo) {
@@ -56,15 +58,18 @@
 
     @Override
     public Task checkoutTask(Long staId) {
-        List<StaReserve> list = staReserveService.list(new LambdaQueryWrapper<StaReserve>()
+        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::getType, StaReserveType.IN.toString())
                 .eq(StaReserve::getStatus, StatusType.ENABLE.val)
-                .orderByDesc(StaReserve::getCreateTime)
-//                .last("limit 1")
+                .orderByDesc(StaReserve::getConfirmedAt)
+                .last("limit 1")
         );
-        return null;
+        if (null == reserve) {
+            return null;
+        }
+        return taskService.getById(reserve.getTaskId());
     }
 
     @Override
@@ -108,7 +113,6 @@
                     .orderByDesc(Segment::getId).last("LIMIT 1"));
             if (null == lastSeg) {
                 return false;
-//                continue;
             }
             Travel travel = travelService.getById(lastSeg.getTravelId());
             if (travel.getState().equals(TravelStateType.FINISH.toString())) {
@@ -123,7 +127,16 @@
                         && (segment.getPosType().equals(TaskPosDto.PosType.ORI_STA.toString())
                             || segment.getPosType().equals(TaskPosDto.PosType.DEST_STA.toString()))
                 ) {
-                    return true;
+                    return 0 < staReserveService.count(new LambdaQueryWrapper<StaReserve>()
+                            .eq(StaReserve::getStaId, staId)
+                            .eq(StaReserve::getTaskId, segment.getTaskId())
+                            .eq(StaReserve::getSegmentId, segment.getId())
+                            .eq(StaReserve::getState, StaReserveStateType.WAITING.toString())
+//                            .eq(StaReserve::getType, StaReserveType.IN.toString())
+                            .eq(StaReserve::getStatus, StatusType.ENABLE.val)
+                            .orderByDesc(StaReserve::getUpdateTime)
+//                            .last("limit 1")
+                    );
                 }
             }
         }

--
Gitblit v1.9.1