From 37f55514ad2f02397fd75c7d98cea25e371243c7 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期一, 20 一月 2025 16:54:29 +0800
Subject: [PATCH] 添加库位规则查找,优化自动移动逻辑

---
 src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
index 054bd68..344ef5b 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -9,6 +9,8 @@
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.common.service.AgvCommonService;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -34,6 +36,8 @@
     private AgvWrkDetlService agvWrkDetlService;
     @Autowired
     AgvBasDevpService agvBasDevpService;
+    @Autowired
+    private ConfigService configService;
 
 //    public ReturnT<String> start(AgvLocMast agvLocMast) {
 //        // locType 1. 鑷姩锛� 2. 鎵嬪姩
@@ -490,10 +494,15 @@
             floor = "F2";
         }
         List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("io_type", 109).like("source_loc_no", floor).or().eq("io_type", 113));
-        if (agvWrkMasts.size() >= 5) {
-            //log.error("鏆傚仠鍥炴祦");
-            return FAIL;
-            //throw new CoolException("鏆傚仠鍥炴祦");
+        Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_6_MAX"));
+        if (config == null && !Cools.isEmpty(config.getValue())) {
+            if (agvWrkMasts.size() >= Integer.parseInt(config.getValue())) {
+                return FAIL;
+            }
+        } else {
+            if (agvWrkMasts.size() >= 5) {
+                return FAIL;
+            }
         }
         //妫�绱㈢┖闂插彲鍏ユ帴椹充綅 娌℃湁绌洪棽鍙叆鎺ラ┏浣� 鐩存帴鎵惧簱浣�
         AgvBasDevp devpNo = agvCommonService.getDevpNo(6, agvLocMast.getFloor(), "Y", "Y");
@@ -503,12 +512,14 @@
             ioType = 109;
         } else {
             //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
-            locMast = agvCommonService.getLocNo(6, 1, true, true);
+            locMast = agvCommonService.getLocByFloorAndLev1(6, 1, 2);
             locNo = locMast.getLocNo();
             wrkSts = 201L;
             ioType = 109;
         }
-
+        if (locMast == null) {
+            throw new CoolException("娌℃湁鍙敤鐨勫簱浣�");
+        }
         //鐢熸垚宸ヤ綔妗�
         AgvWrkMast mast = new AgvWrkMast();
         //宸ヤ綔鐘舵��

--
Gitblit v1.9.1