From e2ed35c5dbda6ff80fddf5f0ae1fe39ad407fb6b Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期日, 02 三月 2025 14:47:07 +0800
Subject: [PATCH] 四期

---
 src/main/java/com/zy/common/service/AgvCommonService.java      |   18 ++++++++++++++++++
 src/main/java/com/zy/asrs/controller/AgvLocDetlController.java |   14 ++++++++++++--
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java |    2 +-
 src/main/java/com/zy/asrs/task/AutoMoveScheduler.java          |    2 +-
 4 files changed, 32 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java b/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java
index c1a7f88..7d481cc 100644
--- a/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java
@@ -145,13 +145,23 @@
 //                        .eq("matnr", record.getMatnr())
 //                        .in("source", docIds));
 //            } else {
-            OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>()
+            List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>()
                     .eq("three_code", record.getThreeCode())
                     .eq("matnr", record.getMatnr())
                     .in("source", docIds)
-                    .orderBy("qty", false)
+                    .orderBy("qty", true)
                     .orderBy("anfme", false)
                     .orderBy("create_time", true));
+            OrderDetl orderDetl = null;
+            if (!orderDetls.isEmpty()) {
+                for (OrderDetl o : orderDetls) {
+                    if (o.getAnfme() - o.getQty() > 0) {
+                        orderDetl = o;
+                        break;
+                    }
+                }
+            }
+
             //   }
 //            if (orderDetl.getAnfme() - orderDetl.getQty() > 0) {
 //                record.setStock(orderDetl.getAnfme() - orderDetl.getQty());
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index 0aec48a..aa9a582 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -580,7 +580,7 @@
                 }
             } else {
                 if (station.endsWith("F4") && locType == 3) {
-                    agvLocMast = agvCommonService.getLocNo(locType, 1, false, false);
+                    agvLocMast = agvCommonService.getLocNoOnXiSuer(locType, 1);
                 } else {
                     List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().like("loc_no", "02F1").like("source_loc_no", "F1"));
                     if (Integer.parseInt(config.getValue()) <= agvWrkMasts.size()) {
diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
index 7f31374..ee16bee 100644
--- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
@@ -224,7 +224,7 @@
 
 
         for (AgvLocMast agvLocMast : agvLocMasts) {
-            if (agvLocMast.getLocNo().contains("F4")) {
+            if (agvLocMast.getLocNo().contains("02F1")) {
                 Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_3_TIME"));
                 boolean flag = false;
                 if (config != null && !Cools.isEmpty(config.getValue())) {
diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java
index e25c7ef..4765df5 100644
--- a/src/main/java/com/zy/common/service/AgvCommonService.java
+++ b/src/main/java/com/zy/common/service/AgvCommonService.java
@@ -303,6 +303,24 @@
         throw new CoolException("鎼滅储搴撲綅鏃讹紝妤煎眰鍑洪敊銆�");
     }
 
+    public AgvLocMast getLocNoOnXiSuer(int type, int floor) {
+        EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
+        wrapper.eq("loc_sts", "O").eq("loc_type1", type);
+        wrapper.eq("floor", floor).orderBy("lev1", false);
+        List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(wrapper);
+        if (Cools.isEmpty(agvLocMasts)) {
+            return null;
+        } else {
+            for (AgvLocMast agvLocMast : agvLocMasts) {
+                AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo()));
+                if (agvLocMast1.getLocSts().equals("O")) {
+                    return agvLocMast1;
+                }
+            }
+        }
+        return null;
+    }
+
 
     //闅忔満鍙栦竴涓揣浣�
     private AgvLocMast getLocNoRule(int type, int floor, boolean isEmpty, boolean isCurrLev) {

--
Gitblit v1.9.1