From a52a9bd9365d22e430de95b60f2c3dd821457307 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 13 一月 2026 16:38:57 +0800
Subject: [PATCH] 1.完善订单出库自动勾选 2.完善组托删除

---
 src/main/webapp/views/order/outLocDetlQuery.html              |   56 ++++++++++++++++++++++++--------------------------------
 src/main/java/com/zy/asrs/controller/WaitPakinController.java |    4 ++--
 2 files changed, 26 insertions(+), 34 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/WaitPakinController.java b/src/main/java/com/zy/asrs/controller/WaitPakinController.java
index 950e771..8251da2 100644
--- a/src/main/java/com/zy/asrs/controller/WaitPakinController.java
+++ b/src/main/java/com/zy/asrs/controller/WaitPakinController.java
@@ -94,7 +94,7 @@
 
     @RequestMapping(value = "/waitPakin/delete/auth")
     @ManagerAuth
-    @Transactional
+//    @Transactional
     public R delete(@RequestParam String param){
         List<WaitPakin> list = JSONArray.parseArray(param, WaitPakin.class);
         if (Cools.isEmpty(list)){
@@ -105,7 +105,7 @@
             if(!Cools.isEmpty(wrkMasts) || wrkMasts.size() > 0){
                 return R.error("鏉$爜宸茬敓鎴愬叆搴撳伐浣滄。锛岀姝㈠垹闄�");
             }
-            waitPakinService.delete(new EntityWrapper<>(entity));
+            waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", entity.getZpallet()).eq("batch", entity.getBatch()));
             //璁㈠崟鍏宠仈锛屼慨鏀硅鍗曚綔涓氭暟閲�
             if (!Cools.isEmpty(entity.getOrderNo())) {
                 if (!orderDetlService.decrease(entity.getOrderNo(), entity.getMatnr(), entity.getBatch(), entity.getAnfme())) {
diff --git a/src/main/webapp/views/order/outLocDetlQuery.html b/src/main/webapp/views/order/outLocDetlQuery.html
index aca1225..e01e788 100644
--- a/src/main/webapp/views/order/outLocDetlQuery.html
+++ b/src/main/webapp/views/order/outLocDetlQuery.html
@@ -432,47 +432,39 @@
                 var remaining = orderTotal;
                 var selectedCount = 0;
 
-                // 瀵瑰簱浣嶆暟鎹繘琛屾帓搴忥紝浼樺厛閫夋嫨鐩稿悓搴撲綅鐨勫簱瀛�
-                // allData.sort(function(a, b) {
-                //     // 鍏堟寜搴撲綅鍙锋帓搴�
-                //     if (a.locNo !== b.locNo) {
-                //         return a.locNo.localeCompare(b.locNo);
-                //     }
-                //     // 鍐嶆寜鎵规鎺掑簭
-                //     return a.batch.localeCompare(b.batch);
-                // });
+                // 浣跨敤鍘熷椤哄簭鐨勫壇鏈紝浠庣涓�椤电涓�涓紑濮嬪嬀閫�
+                var sortedData = allData.slice();
 
-                for (var i = 0; i < allData.length; i++) {
-                    var item = allData[i];
+                // 閫夋嫨闆嗗悎锛堜娇鐢ㄥ敮涓�閿伩鍏嶇储寮曢敊涔憋級
+                var selectionKeys = {};
+                for (var i = 0; i < sortedData.length; i++) {
+                    var item = sortedData[i];
                     var itemAnfme = parseFloat(item.anfme || 0);
-
-                    if (itemAnfme <= 0) {
-                        continue; // 璺宠繃鏁伴噺涓�0鐨勮褰�
-                    }
-
-                    // 濡傛灉鍓╀綑鏁伴噺澶т簬绛変簬褰撳墠椤圭殑鏁伴噺锛屽叏閮ㄥ嬀閫�
+                    if (itemAnfme <= 0) continue;
+                    var key = (item.locNo || '') + '|' + (item.batch || '') + '|' + (item.matnr || '') + '|' + (item.anfme || 0);
                     if (remaining >= itemAnfme) {
-                        allData[i].LAY_CHECKED = true;
-                        selectedTotal += itemAnfme;
+                        selectionKeys[key] = true;
                         remaining -= itemAnfme;
                         selectedCount++;
                         window.autoSelectedData.push(item);
-                    }
-                    // 鍚﹀垯鍙嬀閫夊墿浣欓儴鍒嗭紙瀹為檯鎿嶄綔涓紝鏁翠釜璁板綍閮戒細琚嬀閫夛紝浣嗕細鍦ㄦ彁浜ゆ椂澶勭悊鏁伴噺锛�
-                    else if (remaining > 0) {
-                        allData[i].LAY_CHECKED = true;
-                        selectedTotal += itemAnfme;
-                        // 杩欓噷涓嶄慨鏀筰tem.anfme锛屽洜涓鸿繖鏄〃鏍兼樉绀虹殑鏁版嵁
+                    } else if (remaining > 0) {
+                        selectionKeys[key] = true;
                         remaining = 0;
                         selectedCount++;
                         window.autoSelectedData.push(item);
-                    } else {
-                        break; // 宸叉弧瓒宠鍗曟暟閲忥紝鍋滄鍕鹃��
-                    }
-
-                    // 濡傛灉宸茬粡婊¤冻璁㈠崟鏁伴噺锛屽仠姝㈠嬀閫�
-                    if (remaining <= 0) {
                         break;
+                    } else {
+                        break;
+                    }
+                }
+
+                // 鏍规嵁閫夋嫨闆嗗悎鍚屾鍘熷鏁版嵁鐨勫嬀閫夋爣璁帮紝骞堕噸鏂拌绠楅�変腑鏁伴噺
+                selectedTotal = 0;
+                for (var i = 0; i < allData.length; i++) {
+                    var k = (allData[i].locNo || '') + '|' + (allData[i].batch || '') + '|' + (allData[i].matnr || '') + '|' + (allData[i].anfme || 0);
+                    allData[i].LAY_CHECKED = !!selectionKeys[k];
+                    if (allData[i].LAY_CHECKED) {
+                        selectedTotal += parseFloat(allData[i].anfme || 0);
                     }
                 }
 
@@ -900,4 +892,4 @@
             window.autoSelectedData = null;
         })
 </script>
-</html>
\ No newline at end of file
+</html>

--
Gitblit v1.9.1