From 83b8b7cecfe8266a44bfce696d857b3be7149e3f Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期二, 31 十二月 2024 10:52:28 +0800
Subject: [PATCH] 优化MES调拨信息上报及库位查询逻辑

---
 src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java |   24 +++++++++++++++++++++---
 1 files changed, 21 insertions(+), 3 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 1983bb5..46ced6e 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -164,7 +164,7 @@
                 if (agvLocDetl.getAnfme() < agvWrkDetl.getAnfme()) {
                     throw new CoolException("鎷f枡鏁伴噺涓嶈兘澶т簬搴撳瓨鏁伴噺");
                 }
-            }else {
+            } else {
                 throw new CoolException("鎷f枡鏁伴噺涓嶈兘澶т簬搴撳瓨鏁伴噺,瀛樺簱涓嶅瓨鍦�");
             }
 
@@ -860,9 +860,27 @@
                 throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
             }
             // 鍚屾璁㈠崟鏁伴噺
-            OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("matnr", agvWrkDetl.getMatnr()).eq("three_code", agvWrkDetl.getThreeCode()).eq("order_no", agvWrkDetl.getOrderNo()).in("source", 18, 31, 34));
+            //OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("matnr", agvWrkDetl.getMatnr()).eq("three_code", agvWrkDetl.getThreeCode()).eq("order_no", agvWrkDetl.getOrderNo()).in("source", 18, 31, 34));
+            List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("matnr", agvWrkDetl.getMatnr()).eq("three_code", agvWrkDetl.getThreeCode()).eq("order_no", agvWrkDetl.getOrderNo()));
+            OrderDetl orderDetl = null;
+            if (orderDetls.isEmpty()) {
+                throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+            } else if (orderDetls.size() > 1) {
+                for (OrderDetl detl : orderDetls) {
+                    if (Cools.isEmpty(agvWrkDetl.getBatch()) && Cools.isEmpty(detl.getBatch())) {
+                        orderDetl = detl;
+                    } else if (!Cools.isEmpty(agvWrkDetl.getBatch()) && !Cools.isEmpty(detl.getBatch()) && agvWrkDetl.getBatch().equals(detl.getBatch())) {
+                        orderDetl = detl;
+                    }
+                }
+                if (orderDetl == null) {
+                    throw new CoolException("璁㈠崟鏄庣粏涓嶅尮閰�");
+                }
+            } else {
+                orderDetl = orderDetls.get(0);
+            }
             orderDetl.setQty(orderDetl.getQty() - agvWrkDetl.getAnfme());
-            if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", orderDetl.getOrderNo()).eq("matnr", orderDetl.getMatnr()).eq("three_code", orderDetl.getThreeCode()))) {
+            if (!orderDetlService.updateById(orderDetl)) {
                 throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�" + orderDetl.getOrderNo() + orderDetl.getMatnr());
             }
         }

--
Gitblit v1.9.1