From 499ee6d6eb0e0c38cdc23ebe3c320f46dd498d0a Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期一, 13 一月 2025 16:07:21 +0800
Subject: [PATCH] 添加isEmpty参数优化库位查找逻辑

---
 src/main/java/com/zy/asrs/utils/LocUtils.java |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/LocUtils.java b/src/main/java/com/zy/asrs/utils/LocUtils.java
index 53db48a..5471092 100644
--- a/src/main/java/com/zy/asrs/utils/LocUtils.java
+++ b/src/main/java/com/zy/asrs/utils/LocUtils.java
@@ -24,20 +24,24 @@
      * @param factory
      * @return
      */
-    public   AgvLocMast getLocNoRuleByFactory(int type, String factory) {
+    public   AgvLocMast getLocNoRuleByFactory(int type, boolean isEmpty, String factory) {
         if (Cools.isEmpty(factory)) {
             throw new CoolException("鎼滅储搴撲綅鏃讹紝璁㈠崟绫诲瀷閿欒");
         }
         try {
             EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
             wrapper.eq("loc_sts", "O").eq("loc_type1", type);
-            List<AgvLocMast> agvLocMasts = new ArrayList<>();
+
             if (factory.equalsIgnoreCase(AsrsConstants.ERCHANG)) {
-                wrapper.orderBy("lev1", false);
+                if (isEmpty) {
+                    wrapper.orderBy("lev1", true);
+                }else {
+                    wrapper.orderBy("lev1", false);
+                }
             } else if (factory.equalsIgnoreCase(AsrsConstants.SANCHANG)) {
                 wrapper.orderBy("lev1", true);
             }
-            agvLocMasts = agvLocMastService.selectList(wrapper);
+            List<AgvLocMast>   agvLocMasts = agvLocMastService.selectList(wrapper);
 
             for (AgvLocMast agvLocMast : agvLocMasts) {
                 AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo()));
@@ -57,7 +61,7 @@
      * @param floor
      * @return
      */
-    public AgvLocMast getLocNoRuleByFloor(int type, Integer floor, Integer lev1) {
+    public AgvLocMast getLocNoRuleByFloor(int type, Integer floor, boolean isEmpty, Integer lev1) {
         try {
             EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
             wrapper.eq("loc_sts", "O").eq("loc_type1", type).eq("floor", floor).eq("lev1", lev1);

--
Gitblit v1.9.1