From c30bf257e682643e3c721b7329597b64a11581af Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期三, 21 八月 2024 10:46:04 +0800
Subject: [PATCH] 档查询出来有多条数据时,加上数量条件,进行匹配,如果数量也匹配不上,就默认返回第一个

---
 src/main/java/com/zy/asrs/service/OrderDetlService.java          |    2 ++
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java      |   12 ++++++------
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java |   19 ++++++++++++++++++-
 src/main/java/com/zy/common/web/WcsController.java               |    2 +-
 4 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index fb3aa97..27dfcbf 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -16,6 +16,8 @@
 
     OrderDetl selectItem(String orderNo, String matnr, String batch,Double qty);
 
+    OrderDetl selectQtyItem(String orderNo, String matnr, String batch, Double qty);
+
     OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch);
 
     boolean increase(Long orderId, String matnr, String batch, Double qty);
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 17f8723..9752268 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -50,7 +50,24 @@
         }
     }
 
-
+    @Override
+    public OrderDetl selectQtyItem(String orderNo, String matnr, String batch, Double qty) {
+        List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
+        if (detlList == null || detlList.isEmpty()) {
+            return null;
+        } else if (detlList.size() == 1) {
+            return detlList.get(0);
+        } else {
+            if (qty != null) {
+                for (OrderDetl orderDetl : detlList) {
+                    if (!orderDetl.getQty().equals(orderDetl.getWorkQty()) && qty.equals(orderDetl.getAnfme())) {
+                        return orderDetl;
+                    }
+                }
+            }
+            return detlList.get(0);
+        }
+    }
 
     @Override
     public OrderDetl selectItem(String orderNo, String matnr, String batch, Double qty) {
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 4b63a9c..6cba325 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -115,9 +115,9 @@
                         }
 
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getAnfme());
+                        OrderDetl orderDetl = orderDetlService.selectQtyItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getAnfme());
                         if (orderDetl==null){
-                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null,wrkDetl.getAnfme());
+                            orderDetl = orderDetlService.selectQtyItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null,wrkDetl.getAnfme());
                         }
                         try {
                             if(!Cools.isEmpty(orderDetl)){
@@ -166,9 +166,9 @@
                         }
 
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getAnfme());
+                        OrderDetl orderDetl = orderDetlService.selectQtyItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getAnfme());
                         if (orderDetl==null){
-                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null,wrkDetl.getAnfme());
+                            orderDetl = orderDetlService.selectQtyItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null,wrkDetl.getAnfme());
                         }
                         try {
                             if(!Cools.isEmpty(orderDetl)){
@@ -349,9 +349,9 @@
                     }
                     for (WrkDetl wrkDetl : wrkDetls101) {
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getAnfme());
+                        OrderDetl orderDetl = orderDetlService.selectQtyItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getAnfme());
                         if (orderDetl==null){
-                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null,wrkDetl.getAnfme());
+                            orderDetl = orderDetlService.selectQtyItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null,wrkDetl.getAnfme());
                         }
                         try {
                             if(!Cools.isEmpty(orderDetl)){
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index f7fee95..0bf1d61 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -363,7 +363,7 @@
             if (!Cools.isEmpty(waitPakin.getOrderNo())) {
                 Order order = orderService.selectByNo(waitPakin.getOrderNo());
                 if (order != null) {
-                    OrderDetl orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch(),waitPakin.getAnfme());
+                    OrderDetl orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch(), waitPakin.getAnfme());
                     if (orderDetl == null) {
                         orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), null,waitPakin.getAnfme());
                     }

--
Gitblit v1.9.1