From 8ca385d65454fb8e993970a768ed3ad5c3a095ab Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期六, 18 一月 2025 13:44:44 +0800
Subject: [PATCH] 优化库位检索逻辑,修复代码并添加新功能

---
 src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
index 49d9eee..f286e4d 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -8,6 +8,7 @@
 import com.zy.asrs.entity.param.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.CodeDetectionUtil;
+import com.zy.asrs.utils.OrderUtils;
 import com.zy.common.model.DetlDto;
 import com.zy.common.service.AgvCommonService;
 import lombok.Synchronized;
@@ -766,7 +767,7 @@
     public String handBack(AgvMobileStartPakin param, Long userId) {
         Date now = new Date();
         AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", param.getDevNo()));
-        if (agvWrkMast == null){
+        if (agvWrkMast == null) {
             throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�");
         }
         agvWrkMast.setIoType(113);
@@ -796,8 +797,15 @@
         agvWrkMastLogService.save(agvWrkMast);
         agvWrkDetlLogService.save(agvWrkMast.getWrkNo());
         String sourceLocNo = agvWrkMast.getSourceLocNo();
-        AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1, false, false);
-        if (newLocMast==null){
+        //AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1, false, false);
+        // TODO: 鍥涙湡
+        List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", param.getBarcode()));
+        String factory = null;
+        if (!Cools.isEmpty(agvWrkDetls)) {
+            factory = OrderUtils.getFactory(agvWrkDetls.get(0).getThreeCode());
+        }
+        AgvLocMast newLocMast = agvCommonService.getLocByLocRule(3, 1, factory);
+        if (newLocMast == null) {
             throw new CoolException("鏃犲彲鐢ㄥ簱浣�");
         }
         agvWrkMast.setSourceLocNo(agvWrkMast.getLocNo());
@@ -819,7 +827,6 @@
         agvLocMastService.updateLocStsByLocNo(sourceLocNo, "O", "", (short) 30);
         agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no", sourceLocNo));
 
-        List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", param.getBarcode()));
         agvWrkDetls.forEach(agvWrkDetl -> {
             for (AgvWrkDetl wrkDetl : param.getWrkDetls()) {
                 if (wrkDetl.getMatnr().equals(agvWrkDetl.getMatnr()) && wrkDetl.getThreeCode().equals(agvWrkDetl.getThreeCode())) {

--
Gitblit v1.9.1