From 5f2bb7dd02cce1696dcc37d9591830864509eb27 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 19 九月 2025 16:43:10 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OutController.java |   75 +++++++++++++++++++++----------------
 1 files changed, 43 insertions(+), 32 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index a40caf8..ad89948 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -189,14 +189,7 @@
                     }
                 }
 
-//                // 浣跨敤Stream API杩涜鎺掑簭骞跺垱寤烘柊鐨凪ap锛屽悓鏃朵繚鎸佹彃鍏ラ『搴忋��
-//                Map<String, Double> sortedMap = locAnfmeMap.entrySet().stream()
-//                        .sorted(Map.Entry.<String, Double>comparingByValue(Comparator.reverseOrder())) // 鏍规嵁鍊兼帓搴忔潯鐩��
-//                        .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new));
-
-
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-
                 // 浣跨敤 TreeMap锛堣嚜鍔ㄦ寜 key 鍗囧簭鎺掑簭锛�
                 Map<String, List<Map.Entry<String, Date>>> sortedByDayAsc = locTimeMap.entrySet()
                         .stream()
@@ -212,7 +205,48 @@
                 List<LocDetl> allLoc = new ArrayList<>();
                 List<LocDetl> lessLoc = new ArrayList<>();
 
-                //浼樺厛鎵炬暣鎵�
+//                //浼樺厛鎵炬暣鎵�
+//                for (Map.Entry<String, List<Map.Entry<String, Date>>> listEntry : sortedByDayAsc.entrySet()) {
+//                    for (Map.Entry<String, Date> dateEntry : listEntry.getValue()) {
+//                        if (issued <= 0) {
+//                            break;
+//                        }
+//                        String locNo = dateEntry.getKey();
+//                        Double anfme = locAnfmeMap.get(locNo);
+//                        if(anfme > orderDetl.getAnfme()) {
+//                            lessMap.put(locNo, anfme);
+//                            continue;
+//                        }
+//                        List<LocDetl> list = map.get(locNo);
+//                        allLoc.addAll(list);
+//
+//                        // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
+//                        issuedBigDecimal = issuedBigDecimal.subtract(BigDecimal.valueOf(anfme));
+//                        issued = issuedBigDecimal.doubleValue();
+//                    }
+//                }
+//
+//                if(issued > 0) {
+//                    //闆舵暎鎼滅储
+//                    for (Map.Entry<String, Double> entry : lessMap.entrySet()) {
+//                        if (issued <= 0) {
+//                            break;
+//                        }
+//
+//                        String locNo = entry.getKey();
+//                        Double anfme = entry.getValue();
+//                        if (anfme >= issued) {
+//                            List<LocDetl> list = map.get(locNo);
+//                            lessLoc.addAll(list);
+//                            // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
+//                            issuedBigDecimal = issuedBigDecimal.subtract(BigDecimal.valueOf(anfme));
+//                            issued = issuedBigDecimal.doubleValue();
+//                        }
+//                    }
+//                }
+//                allLoc.addAll(lessLoc);
+
+                //蹇呴』鎶婂綋澶╁簱瀛樼敤瀹�
                 for (Map.Entry<String, List<Map.Entry<String, Date>>> listEntry : sortedByDayAsc.entrySet()) {
                     for (Map.Entry<String, Date> dateEntry : listEntry.getValue()) {
                         if (issued <= 0) {
@@ -220,10 +254,7 @@
                         }
                         String locNo = dateEntry.getKey();
                         Double anfme = locAnfmeMap.get(locNo);
-                        if(anfme > orderDetl.getAnfme()) {
-                            lessMap.put(locNo, anfme);
-                            continue;
-                        }
+
                         List<LocDetl> list = map.get(locNo);
                         allLoc.addAll(list);
 
@@ -233,26 +264,6 @@
                     }
                 }
 
-                if(issued > 0) {
-                    //闆舵暎鎼滅储
-                    for (Map.Entry<String, Double> entry : lessMap.entrySet()) {
-                        if (issued <= 0) {
-                            break;
-                        }
-
-                        String locNo = entry.getKey();
-                        Double anfme = entry.getValue();
-                        if (anfme >= issued) {
-                            List<LocDetl> list = map.get(locNo);
-                            lessLoc.addAll(list);
-                            // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
-                            issuedBigDecimal = issuedBigDecimal.subtract(BigDecimal.valueOf(anfme));
-                            issued = issuedBigDecimal.doubleValue();
-                        }
-                    }
-                }
-
-                allLoc.addAll(lessLoc);
                 issuedBigDecimal = Optional.of(BigDecimal.valueOf(orderDetl.getAnfme()).subtract(BigDecimal.valueOf(orderDetl.getWorkQty()))).orElse(new BigDecimal(0));
                 issued = issuedBigDecimal.doubleValue();
                 for (LocDetl locDetl : allLoc) {

--
Gitblit v1.9.1