From 9f815134b902d19605c753616765cedb598e323f Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期六, 18 十月 2025 14:30:33 +0800
Subject: [PATCH] 逻辑回调

---
 Services/WomdaaManager.cs |   43 ++++++++++++++-----------------------------
 1 files changed, 14 insertions(+), 29 deletions(-)

diff --git a/Services/WomdaaManager.cs b/Services/WomdaaManager.cs
index 1c3d6c6..b2a50e0 100644
--- a/Services/WomdaaManager.cs
+++ b/Services/WomdaaManager.cs
@@ -137,7 +137,8 @@
 
         // 鏌ヨ鎶ュ伐璁板綍锛岃幏鍙栨渶鍚庝竴鏉℃姤宸ヨ褰�
         var lastReport = Db.Queryable<MesReporting>()
-            .Where(r => r.BillNo == query.orderNo)
+            .AS("MES_REPORTING") // 寮哄埗琛ㄥ悕
+            .Where(r => r.BillNo == "MSD01-2507140001-g1-1")
             .OrderBy(r => r.BgDate, OrderByType.Desc)
             .First();
 
@@ -148,31 +149,15 @@
         }
         else
         {
-            // 鏈夋姤宸ヨ褰曪紝鍒濆閲囬泦鏁颁负涓婁竴娆℃姤宸ユ椂闂村悗鏈�杩戜竴鏉¢娇杞暟閲囪〃鐨勯噰闆嗘暟閲�
-            // 1. 绮剧‘鍖归厤鎶ュ伐鏃堕棿
-            var exactMatch = numericalList
+            // 鏈夋姤宸ヨ褰曪紝鍒濆閲囬泦鏁颁负鎶ュ伐鏃堕棿鐐瑰墠锛堝惈锛夋渶杩戜竴鏉¢娇杞暟閲囪〃鐨勯噰闆嗘暟閲�
+            var beforeOrEqualReportNum = numericalList
                 .Select(x => new { Item = x, ParsedTime = DateTime.TryParse(x.CjTiem, out var dt) ? dt : (DateTime?)null })
-                .Where(x => x.ParsedTime.HasValue && x.ParsedTime.Value == lastReport.BgDate.Value)
-                .OrderBy(x => x.ParsedTime)
+                .Where(x => x.ParsedTime.HasValue && x.ParsedTime.Value <= lastReport.BgDate.Value)
+                .OrderByDescending(x => x.ParsedTime) // 闄嶅簭锛屽彇绗竴鏉�
                 .Select(x => x.Item)
                 .FirstOrDefault();
 
-            if (exactMatch != null)
-            {
-                vOrderBycl.InitCjNum = exactMatch.CjNum ?? vOrderBycl.StartCjNum;
-            }
-            else
-            {
-                // 2. 鎵炬姤宸ユ椂闂翠箣鍚庣殑绗竴鏉★紙閲囬泦鏃堕棿闄嶅簭锛屽彇鏈�鏂颁竴鏉★級
-                var afterReportNum = numericalList
-                    .Select(x => new { Item = x, ParsedTime = DateTime.TryParse(x.CjTiem, out var dt) ? dt : (DateTime?)null })
-                    .Where(x => x.ParsedTime.HasValue && x.ParsedTime.Value > lastReport.BgDate.Value)
-                    .OrderByDescending(x => x.ParsedTime)
-                    .Select(x => x.Item)
-                    .FirstOrDefault();
-
-                vOrderBycl.InitCjNum = afterReportNum?.CjNum ?? vOrderBycl.StartCjNum;
-            }
+            vOrderBycl.InitCjNum = beforeOrEqualReportNum?.CjNum ?? vOrderBycl.StartCjNum;
         }
 
         var startCjNum = vOrderBycl.StartCjNum;
@@ -283,9 +268,9 @@
 
         Console.WriteLine($"orderNo: [{query.orderNo}]");
 
-        // 鏌ヨ鏈�鍚庝竴鏉℃姤宸ヨ褰�
+        // 鏌ヨ鎶ュ伐璁板綍锛岃幏鍙栨渶鍚庝竴鏉℃姤宸ヨ褰�
         var lastReport = Db.Queryable<MesReporting>()
-            .Where(r => r.BillNo == query.orderNo)
+            .Where(r => r.BillNo.Trim().ToUpper() == query.orderNo.Trim().ToUpper())
             .OrderBy(r => r.BgDate, OrderByType.Desc)
             .First();
 
@@ -296,15 +281,15 @@
         }
         else
         {
-            // 鏈夋姤宸ヨ褰曪紝鍒濆閲囬泦鏁颁负涓婁竴娆℃姤宸ユ椂闂村悗鏈�杩戜竴鏉¢娇杞暟閲囪〃鐨勯噰闆嗘暟閲�
-            var afterReportNum = numericalList
+            // 鏈夋姤宸ヨ褰曪紝鍒濆閲囬泦鏁颁负鎶ュ伐鏃堕棿鐐瑰墠锛堝惈锛夋渶杩戜竴鏉¢娇杞暟閲囪〃鐨勯噰闆嗘暟閲�
+            var beforeOrEqualReportNum = numericalList
                 .Select(x => new { Item = x, ParsedTime = DateTime.TryParse(x.CjTiem, out var dt) ? dt : (DateTime?)null })
-                .Where(x => x.ParsedTime.HasValue && x.ParsedTime.Value > lastReport.BgDate.Value)
-                .OrderByDescending(x => x.ParsedTime)
+                .Where(x => x.ParsedTime.HasValue && x.ParsedTime.Value <= lastReport.BgDate.Value)
+                .OrderByDescending(x => x.ParsedTime) // 闄嶅簭锛屽彇绗竴鏉�
                 .Select(x => x.Item)
                 .FirstOrDefault();
 
-            VOrdrerBycl.InitCjNum = afterReportNum?.CjNum ?? VOrdrerBycl.StartCjNum;
+            VOrdrerBycl.InitCjNum = beforeOrEqualReportNum?.CjNum ?? VOrdrerBycl.StartCjNum;
         }
 
         // 鎶ュ伐鏃堕噰闆嗘暟灏辨槸涓荤晫闈㈢殑褰撳墠閲囨暟

--
Gitblit v1.9.3