From e609c7adf42ef6eea053ff33a8e59abaf0767df6 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期五, 17 一月 2025 08:54:52 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java |   33 ++++++++++++++++++++++++++-------
 1 files changed, 26 insertions(+), 7 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 21e2a1d..2173736 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -4,6 +4,7 @@
 import com.core.common.BaseRes;
 import com.core.common.Cools;
 import com.core.exception.CoolException;
+import com.zy.asrs.constant.AsrsConstants;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.*;
 import com.zy.asrs.service.*;
@@ -179,6 +180,7 @@
             // 鏇存柊璁㈠崟
             OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", pick.getOrderNo()).eq("matnr", pick.getMatnr()).eq("three_code", pick.getThreeCode()));
             orderDetl.setQty(orderDetl.getQty() + pick.getCount());
+            orderDetl.setUpdateTime(new Date());
             if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", pick.getOrderNo()).eq("matnr", pick.getMatnr()).eq("three_code", pick.getThreeCode()))) {
                 throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�" + pick.getOrderNo() + pick.getMatnr());
             }
@@ -353,6 +355,10 @@
 
         AgvBasDevp agvBasDevp = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("dev_no", stationCode));
 
+        if (agvBasDevp == null) {
+            throw new CoolException(stationCode + "绔欑偣淇℃伅閿欒");
+        }
+
         if (Cools.eq(agvBasDevp.getBarcode(), barcode)) {
             return;
         }
@@ -367,9 +373,7 @@
             throw new CoolException(barcode + "宸茬粡缁戝畾鍦�" + agvBasDevp.getDevNo() + "绔欑偣");
         }
 
-        if (agvBasDevp == null) {
-            throw new CoolException(stationCode + "绔欑偣淇℃伅閿欒");
-        }
+
         if (!"O".equals(agvBasDevp.getLocSts())) {
             throw new CoolException(stationCode + "璇ョ珯鐐硅揣浣嶇姸鎬侀潪绌�");
         }
@@ -757,7 +761,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);
@@ -787,8 +791,23 @@
         agvWrkMastLogService.save(agvWrkMast);
         agvWrkDetlLogService.save(agvWrkMast.getWrkNo());
         String sourceLocNo = agvWrkMast.getSourceLocNo();
-        AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1, false, false);
-        if (newLocMast==null){
+
+        // TODO 鍥涙湡
+        List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", param.getBarcode()));
+        String factory = null;
+        if (agvWrkDetls != null && !Cools.isEmpty(agvWrkDetls)) {
+            String orderNo = agvWrkDetls.get(0).getOrderNo();
+            if (!Cools.isEmpty(orderNo)) {
+                if (orderNo.contains(AsrsConstants.ERCHANG)) {
+                    factory = AsrsConstants.ERCHANG;
+                } else if (orderNo.contains(AsrsConstants.SANCHANG)) {
+                    factory = AsrsConstants.SANCHANG;
+                }
+            }
+        }
+        AgvLocMast newLocMast = agvCommonService.getLocByLocRule(3, 1, factory);
+        //AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1, false, false);
+        if (newLocMast == null) {
             throw new CoolException("鏃犲彲鐢ㄥ簱浣�");
         }
         agvWrkMast.setSourceLocNo(agvWrkMast.getLocNo());
@@ -810,7 +829,7 @@
         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()));
+        //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