From b17fe3091ae104984347622eb9db40765b5d025c Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期五, 20 十二月 2024 13:30:49 +0800
Subject: [PATCH] 优化订单查询逻辑

---
 src/main/resources/application-loc.yml                           |    8 ++--
 src/main/java/com/zy/asrs/controller/AgvMobileController.java    |    3 +
 src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java            |   10 ++--
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java |   48 +++++++++++++++++++----
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java   |    3 +
 src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java     |    3 +
 src/main/resources/application.yml                               |    2 
 7 files changed, 57 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 33fae25..668df57 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -512,6 +512,9 @@
             for (AgvLocDetl agvLocDetl : agvLocDetls) {
                 // 鏇存柊璁㈠崟
                 OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()));
+                if (orderDetl == null) {
+                    throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+                }
                 orderDetl.setQty(orderDetl.getQty() + agvLocDetl.getAnfme());
                 if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("order_no","DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){
                     throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+agvLocDetl.getOrderNo()+agvLocDetl.getMatnr());
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index 345b7ef..705cbc6 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -16,18 +16,18 @@
     /*
     濡傛灉batch銆乧socode銆乮socode涓虹┖锛屽垯鏌ヨ缁撴灉涓璪atch銆乧socode銆乮socode鐨勫�间负绌�
      */
-    OrderDetl selectItem(@Param("orderId") Long orderId, @Param("matnr") String matnr, @Param("batch") String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
+    List<OrderDetl> selectItem(@Param("orderId") Long orderId, @Param("matnr") String matnr, @Param("batch") String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
 
     /*
     濡傛灉batch銆乧socode銆乮socode涓虹┖锛屽垯鏌ヨ缁撴灉涓笉鑰冭檻batch銆乧socode銆乮socode鐨勫��
      */
-    OrderDetl selectItemByOrderNo(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
+    List<OrderDetl> selectItemByOrderNo(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
 
-    OrderDetl selectItemByOrderNo2(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch, @Param("threeCode") String threeCode);
+    List<OrderDetl> selectItemByOrderNo2(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch, @Param("threeCode") String threeCode);
 
-    OrderDetl selectItemNoneOfBatch(@Param("orderNo")String orderNo, @Param("matnr")String matnr);
+    List<OrderDetl> selectItemNoneOfBatch(@Param("orderNo")String orderNo, @Param("matnr")String matnr);
 
-    OrderDetl selectItemOfBatch(@Param("matnr")String matnr, @Param("batch")String batch);
+    List<OrderDetl> selectItemOfBatch(@Param("matnr")String matnr, @Param("batch")String batch);
 
     List<OrderDetl> selectWorkingDetls(Long orderId);
 
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index eecfc9d..c5ff91e 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -1242,6 +1242,9 @@
             throw new CoolException(matnr + "鍟嗗搧缁存姢澶辫触");
         }
         OrderDetl orderDetl = orderDetlService.selectItem(orderNo, mat.getMatnr(), batch, csocode);
+        if (orderDetl == null) {
+            throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+        }
         AgvWrkDetl wrkDetl = new AgvWrkDetl();
         wrkDetl.sync(mat);
         if (orderDetl != null) {
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
index 4695d23..395972f 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.core.common.Cools;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.mapper.OrderDetlMapper;
 import com.zy.asrs.service.OrderDetlService;
@@ -39,29 +40,58 @@
 
     @Override
     public OrderDetl selectItem(Long orderId, String matnr, String batch, String csocode, String isoCode) {
-        return this.baseMapper.selectItem(orderId,matnr,batch,csocode,isoCode);
+        List<OrderDetl> orderDetls = this.baseMapper.selectItem(orderId, matnr, batch, csocode, isoCode);
+        if (orderDetls.isEmpty()) {
+            return null;
+        } else if (orderDetls.size() > 1) {
+            throw new CoolException("璁㈠崟鏄庣粏鏌ヨ鍒板鏉¤褰�");
+        }
+        return orderDetls.get(0);
     }
 
     @Override
     public OrderDetl selectItem(String orderNo, String matnr, String batch, String csocode, String isoCode) {
-        return this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch,csocode,isoCode);
+        List<OrderDetl> orderDetls = this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch, csocode, isoCode);
+        if (orderDetls.isEmpty()) {
+            return null;
+        } else if (orderDetls.size() > 1) {
+            throw new CoolException("璁㈠崟鏄庣粏鏌ヨ鍒板鏉¤褰�");
+        }
+        return orderDetls.get(0);
     }
 
     @Override
-    public OrderDetl selectItem(String orderNo, String matnr,String batch, String threeCode) {
-        return this.baseMapper.selectItemByOrderNo2(orderNo, matnr, batch, threeCode);
+    public OrderDetl selectItem(String orderNo, String matnr, String batch, String threeCode) {
+        List<OrderDetl> orderDetls = this.baseMapper.selectItemByOrderNo2(orderNo, matnr, batch, threeCode);
+        if (orderDetls.isEmpty()) {
+            return null;
+        } else if (orderDetls.size() > 1) {
+            throw new CoolException("璁㈠崟鏄庣粏鏌ヨ鍒板鏉¤褰�");
+        }
+        return orderDetls.get(0);
     }
-
 
 
     @Override
     public OrderDetl selectItemNoneOfBatch(String orderNo, String matnr) {
-        return this.baseMapper.selectItemNoneOfBatch(orderNo, matnr);
+        List<OrderDetl> orderDetls = this.baseMapper.selectItemNoneOfBatch(orderNo, matnr);
+        if (orderDetls.isEmpty()) {
+            return null;
+        } else if (orderDetls.size() > 1) {
+            throw new CoolException("璁㈠崟鏄庣粏鏌ヨ鍒板鏉¤褰�");
+        }
+        return orderDetls.get(0);
     }
 
     @Override
     public OrderDetl selectItemOfBatch(String matnr, String batch) {
-        return this.baseMapper.selectItemOfBatch(matnr, batch);
+        List<OrderDetl> orderDetls = this.baseMapper.selectItemOfBatch(matnr, batch);
+        if (orderDetls.isEmpty()) {
+            return null;
+        } else if (orderDetls.size() > 1) {
+            throw new CoolException("璁㈠崟鏄庣粏鏌ヨ鍒板鏉¤褰�");
+        }
+        return orderDetls.get(0);
     }
 
     @Override
@@ -123,8 +153,8 @@
     @Override
     public OrderDetl selectByOrderNoAndMatnr(String orderNo, String matnr, String csocode, String isoseq) {
         Wrapper<OrderDetl> wrapper = new EntityWrapper<OrderDetl>().eq("order_no", orderNo).eq("matnr", matnr);
-        Utils.wapperSetCondition(wrapper,"three_code",csocode);
-        Utils.wapperSetCondition(wrapper,"dead_time",isoseq);
+        Utils.wapperSetCondition(wrapper, "three_code", csocode);
+        Utils.wapperSetCondition(wrapper, "dead_time", isoseq);
 
         return this.selectOne(wrapper);
     }
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
index 71cc66c..1ee74bd 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -91,7 +91,8 @@
             return;
         }
 
-        List<String> docNames = new ArrayList<>(Arrays.asList("閾跺骇閲囪喘鍏ュ簱鍗�", "閾跺骇濮斿鏉愭枡鍑哄簱鍗�", "閾跺骇鐢熶骇鏉愭枡鍑哄簱鍗�"));
+        List<String> docNames = new ArrayList<>(Arrays.asList("閾跺骇閲囪喘鍏ュ簱鍗�"));
+        //List<String> docNames = new ArrayList<>(Arrays.asList("閾跺骇閲囪喘鍏ュ簱鍗�", "閾跺骇濮斿鏉愭枡鍑哄簱鍗�", "閾跺骇鐢熶骇鏉愭枡鍑哄簱鍗�"));
 
         DocType docType = docTypeService.selectById(order.getDocType());
         if (docNames.contains(docType.getDocName())) {
diff --git a/src/main/resources/application-loc.yml b/src/main/resources/application-loc.yml
index 78a126a..c9dbc7b 100644
--- a/src/main/resources/application-loc.yml
+++ b/src/main/resources/application-loc.yml
@@ -16,10 +16,10 @@
     password: sa@123
   mvc:
     static-path-pattern: /**
-#  redis:
-#    host: 127.0.0.1
-#    port: 6379
-#    database: 0
+  redis:
+    host: 127.0.0.1
+    port: 6379
+    database: 0
   #    password: xltys1995
   servlet:
     multipart:
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 0e0e3f2..f2026f2 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,4 +1,4 @@
 spring:
   profiles:
     #dev loc prod
-    active: dev
\ No newline at end of file
+    active: prod
\ No newline at end of file

--
Gitblit v1.9.1