From 2a2f094b447c604ca2884922586df32f0665b81c Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期三, 29 四月 2026 09:27:44 +0800
Subject: [PATCH] 双伸出库改成订单出库 完成转订单

---
 src/main/java/com/zy/asrs/service/impl/OrderDetlPakoutServiceImpl.java |   46 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 41 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlPakoutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlPakoutServiceImpl.java
index 9b8f484..ea45c58 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlPakoutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlPakoutServiceImpl.java
@@ -28,12 +28,16 @@
 
     @Override
     public OrderDetlPakout selectItem(Long orderId, String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3) {
-        return this.baseMapper.selectItem(orderId, matnr, batch,brand,standby1,standby2,standby3,boxType1,boxType2,boxType3);
+        // 寤惰繜鍑哄簱鍚庯紝man_order_detl_pakout 浼氭寜鎵樼洏鎷嗘槑缁嗐��
+        // 鏃х殑 orderId + 鐗╂枡缁村害鍙兘鍛戒腑澶氭潯璁板綍锛屼笉鑳藉啀鐢� mapper 杩斿洖鍗曞璞$殑 selectOne 璇箟銆�
+        // 杩欓噷缁熶竴鏀逛负鍒楄〃鏌ヨ骞舵寜 id 鍙栫涓�鏉★紝閬垮厤 TooManyResultsException锛涢渶瑕佺簿纭洖鍐欐椂璇蜂紭鍏堜娇鐢� pallet_id銆�
+        return selectFirst(buildItemWrapper(orderId, null, matnr, batch, brand, standby1, standby2, standby3, boxType1, boxType2, boxType3));
     }
 
     @Override
     public OrderDetlPakout selectItem(String orderNo, String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3) {
-        return this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch,brand,standby1,standby2,standby3,boxType1,boxType2,boxType3);
+        // 鍚屼笂锛宱rderNo + 鐗╂枡缁村害鍦ㄦ柊妯″瀷涓笉淇濊瘉鍞竴锛屽彧浣滀负鏃ф暟鎹殑鍏滃簳鍖归厤銆�
+        return selectFirst(buildItemWrapper(null, orderNo, matnr, batch, brand, standby1, standby2, standby3, boxType1, boxType2, boxType3));
     }
 
     @Override
@@ -41,9 +45,13 @@
         if (Cools.isEmpty(orderNo) || Cools.isEmpty(palletId)) {
             return null;
         }
-        return this.selectOne(new EntityWrapper<OrderDetlPakout>()
-                .eq("order_no", orderNo)
-                .eq("pallet_id", palletId));
+        // orderNo + palletId 鏄欢杩熷嚭搴撹鍗曟槑缁嗙殑绮剧‘鍖归厤閿��
+        // 浠嶇劧浣跨敤 selectList 鍙栫涓�鏉★紝闃叉鍘嗗彶鑴忔暟鎹噷鍚屼竴鎵樼洏閲嶅鏃� selectOne 鐩存帴涓柇瀹氭椂绾跨▼銆�
+        EntityWrapper<OrderDetlPakout> wrapper = new EntityWrapper<>();
+        wrapper.eq("order_no", orderNo)
+                .eq("pallet_id", palletId)
+                .orderBy("id", true);
+        return selectFirst(wrapper);
     }
 
     @Override
@@ -115,4 +123,32 @@
     public boolean increaseWorkQty(Long orderId, String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3, Double workQty) {
         return this.baseMapper.increaseWorkQty(orderId, matnr, batch,brand,standby1,standby2,standby3,boxType1,boxType2,boxType3, workQty) > 0;
     }
+
+    private EntityWrapper<OrderDetlPakout> buildItemWrapper(Long orderId, String orderNo, String matnr, String batch, String brand,
+                                                           String standby1, String standby2, String standby3,
+                                                           String boxType1, String boxType2, String boxType3) {
+        EntityWrapper<OrderDetlPakout> wrapper = new EntityWrapper<>();
+        wrapper.eq("matnr", matnr)
+                .eq("batch", batch)
+                .eq("brand", brand)
+                .eq("standby1", standby1)
+                .eq("standby2", standby2)
+                .eq("standby3", standby3)
+                .eq("box_type1", boxType1)
+                .eq("box_type2", boxType2)
+                .eq("box_type3", boxType3)
+                .orderBy("id", true);
+        if (!Cools.isEmpty(orderId)) {
+            wrapper.eq("order_id", orderId);
+        }
+        if (!Cools.isEmpty(orderNo)) {
+            wrapper.eq("order_no", orderNo);
+        }
+        return wrapper;
+    }
+
+    private OrderDetlPakout selectFirst(EntityWrapper<OrderDetlPakout> wrapper) {
+        List<OrderDetlPakout> rows = this.selectList(wrapper);
+        return Cools.isEmpty(rows) ? null : rows.get(0);
+    }
 }

--
Gitblit v1.9.1