From 7f1610d98fa352f17fc8a53597c4bb2a86f277ca Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期四, 22 一月 2026 11:26:58 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/dto/ConveyorQueryResult.java     |    8 ++++++++
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaServiceImpl.java        |   20 ++++++++++++++++----
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/StaService.java                 |    3 +++
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/conveyor/ConveyorController.java |   25 +++++++++++++++++++++----
 4 files changed, 48 insertions(+), 8 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/conveyor/ConveyorController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/conveyor/ConveyorController.java
index 835bdad..b4d9a7b 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/conveyor/ConveyorController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/conveyor/ConveyorController.java
@@ -6,6 +6,7 @@
 import com.zy.acs.manager.core.integrate.dto.ConveyorQueryParam;
 import com.zy.acs.manager.core.integrate.dto.ConveyorQueryResult;
 import com.zy.acs.manager.manager.entity.Sta;
+import com.zy.acs.manager.manager.entity.Task;
 import com.zy.acs.manager.manager.enums.StatusType;
 import com.zy.acs.manager.manager.service.StaService;
 import com.zy.acs.manager.system.controller.BaseController;
@@ -38,8 +39,16 @@
                     .orderByAsc(Sta::getStaNo)
             );
             for (Sta sta : list) {
-                resultList.add(new ConveyorQueryResult(sta.getStaNo()
-                        , !staService.hasWorkingAgv(sta.getId())));
+                Long staId = sta.getId();
+                boolean conveyable = !staService.hasWorkingAgv(staId);
+                String taskNo = null;
+                if (conveyable) {
+                    Task task = staService.checkoutTask(staId);
+                    if (null != task) {
+                        taskNo = task.getSeqNum();
+                    }
+                }
+                resultList.add(new ConveyorQueryResult(sta.getStaNo(), conveyable, taskNo));
             }
         } else {
             for (String staNo : staNos) {
@@ -48,8 +57,16 @@
                     resultList.add(new ConveyorQueryResult(staNo, Boolean.FALSE));
                     continue;
                 }
-                resultList.add(new ConveyorQueryResult(staNo
-                        , !staService.hasWorkingAgv(sta.getId())));
+                Long staId = sta.getId();
+                boolean conveyable = !staService.hasWorkingAgv(staId);
+                String taskNo = null;
+                if (conveyable) {
+                    Task task = staService.checkoutTask(staId);
+                    if (null != task) {
+                        taskNo = task.getSeqNum();
+                    }
+                }
+                resultList.add(new ConveyorQueryResult(staNo, conveyable, taskNo));
             }
         }
 
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/dto/ConveyorQueryResult.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/dto/ConveyorQueryResult.java
index f49be52..8b19a90 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/dto/ConveyorQueryResult.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/integrate/dto/ConveyorQueryResult.java
@@ -9,6 +9,8 @@
 
     private Boolean conveyable;
 
+    private String taskNo;
+
     public ConveyorQueryResult() {
     }
 
@@ -17,4 +19,10 @@
         this.conveyable = conveyable;
     }
 
+    public ConveyorQueryResult(String staNo, Boolean conveyable, String taskNo) {
+        this.staNo = staNo;
+        this.conveyable = conveyable;
+        this.taskNo = taskNo;
+    }
+
 }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/StaService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/StaService.java
index 3908f1b..c9fa9be 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/StaService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/StaService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zy.acs.manager.manager.entity.Sta;
+import com.zy.acs.manager.manager.entity.Task;
 import com.zy.acs.manager.manager.enums.StaTypeType;
 
 import java.util.List;
@@ -16,6 +17,8 @@
 
     List<Sta> queryAvailableInSta(Integer minAvailableQty);
 
+    Task checkoutTask(Long staId);
+
     boolean isRoller(Long staId);
 
     Boolean hasWorkingAgv(Long staId);
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..9498743 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,8 @@
     private SegmentService segmentService;
     @Autowired
     private TravelService travelService;
+    @Autowired
+    private StaReserveService staReserveService;
 
     @Override
     public Sta selectByStaNo(String staNo) {
@@ -56,6 +55,19 @@
     }
 
     @Override
+    public Task checkoutTask(Long staId) {
+        List<StaReserve> list = staReserveService.list(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::getCreateTime)
+//                .last("limit 1")
+        );
+        return null;
+    }
+
+    @Override
     public boolean isRoller(Long staId) {
         if (staId == null) {
             return false;

--
Gitblit v1.9.1