From 330481e48b742be6c465b543035c2424dd9b311d Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期三, 22 十月 2025 16:03:15 +0800
Subject: [PATCH] 调试

---
 Services/MesOrderStaManager.cs |   65 ++++++++++++++++----------------
 1 files changed, 32 insertions(+), 33 deletions(-)

diff --git a/Services/MesOrderStaManager.cs b/Services/MesOrderStaManager.cs
index 4040c7e..32de8b2 100644
--- a/Services/MesOrderStaManager.cs
+++ b/Services/MesOrderStaManager.cs
@@ -109,43 +109,48 @@
         var womdaa = Db.Queryable<Womdaa>().Where(s => s.Id == entity.OrderId).First();
         if (womdaa == null) throw new Exception("宸ュ崟涓嶅瓨鍦�");
 
-        // 褰撳墠鏁版嵁搴撶姸鎬侊紙鐢ㄤ簬瀵规瘮閫佹鏃堕棿鏄惁鍙樺寲锛�
         var dbSta = Db.Queryable<MesOrderSta>().Where(s => s.Id == entity.Id).First();
 
-        // 琛岀骇閿侀槻骞跺彂
+        // 琛岀骇閿�
         Db.Ado.ExecuteCommand("SELECT ID FROM WOMDAA WHERE DAA001 = :BILL_NO FOR UPDATE",
             new SugarParameter("BILL_NO", womdaa.Daa001));
 
-        // 鏈�鏂伴妫�鍗�
+        // 鏈�鏂伴妫�
         var latestFirst = Db.Queryable<MesQaItemsDetect02>()
             .Where(s => s.Aufnr == womdaa.Daa001 && s.Ftype == FirstCheckType && (s.Fcancel == null || s.Fcancel != "Y"))
             .OrderBy(s => s.CreateDate, OrderByType.Desc)
             .First();
-
         var latestResult = latestFirst?.FcheckResu?.Trim();
 
-        // 閫佹鏃堕棿鏄惁鍙樺寲锛堣〃绀虹敤鎴烽噸鏂扮偣鍑讳簡閫佹鍛煎彨锛�
-        var isShoutTimeChanged = !string.IsNullOrEmpty(entity.MaShoutTime)
-                                 && entity.MaShoutTime != dbSta?.MaShoutTime;
+        // ForceRebuild 鍙�夋墿灞�
+        var forceRebuild = (entity as dynamic)?.ForceRebuild == true;
 
-        // 鍙�夛細濡傛灉鍓嶇浠ュ悗鍔� ForceRebuild锛屽彲鍦� DTO 涓鍔� bool? ForceRebuild
-        // var forceRebuild = (entity as dynamic)?.ForceRebuild == true;
-
-        // 閲嶅缓鏉′欢锛氶娆� / 涓嶅悎鏍间笖閫佹鏃堕棿鍙樺寲
-        var needRebuild = latestFirst == null ||
-                          (string.Equals(latestResult, FirstCheckResultNG, StringComparison.OrdinalIgnoreCase) && isShoutTimeChanged);
-        // || forceRebuild;
+        // 绔嬪嵆閲嶅缓鏉′欢锛氶娆℃棤鍗� 鎴� 鏈�鏂扮粨鏋� == 涓嶅悎鏍� 鎴� 寮哄埗
+        var needRebuild = latestFirst == null
+                          || string.Equals(latestResult, FirstCheckResultNG, StringComparison.OrdinalIgnoreCase)
+                          || forceRebuild;
 
         if (needRebuild)
         {
             var previousState = latestResult == null ? "棣栨鍒涘缓"
-                : (latestResult == FirstCheckResultNG ? "涓嶅悎鏍煎悗閲嶅缓" : "閲嶅缓");
+                : (latestResult == FirstCheckResultNG ? "涓嶅悎鏍煎悗绔嬪嵆閲嶅缓" : "閲嶅缓");
 
+            // 鍙�夛細淇濈暀鏃ц褰曪紝鎴栨爣璁版棫璁板綍浣滃簾锛堝鏋滈渶瑕侀伩鍏嶅鏉″緟妫�锛�
+            // 鑻ヨ浣滃簾涓婁竴鏉′笉鍚堟牸鍗曪細鍙栨秷鍗冲彲
+            if (latestFirst != null && string.Equals(latestResult, FirstCheckResultNG, StringComparison.OrdinalIgnoreCase))
+            {
+                Db.Updateable<MesQaItemsDetect02>()
+                  .SetColumns(s => s.Fcancel == "Y")
+                  .Where(s => s.Id == latestFirst.Id)
+                  .ExecuteCommand();
+            }
+
+            // 璋冪敤瀛樺偍杩囩▼鍒涘缓鏂伴妫�鍗�
             Db.Ado.ExecuteCommand(
                 "BEGIN AUTOMATIC_IPQC_FIRST_CHECK(:BILL_NO); END;",
                 new SugarParameter("BILL_NO", womdaa.Daa001, System.Data.DbType.String));
 
-            // 閲嶅彇鏈�鏂伴妫�鍗�
+            // 閲嶆柊鑾峰彇鏂板缓鐨勯妫�鍗�
             latestFirst = Db.Queryable<MesQaItemsDetect02>()
                 .Where(s => s.Aufnr == womdaa.Daa001 && s.Ftype == FirstCheckType && (s.Fcancel == null || s.Fcancel != "Y"))
                 .OrderBy(s => s.CreateDate, OrderByType.Desc)
@@ -155,9 +160,9 @@
             {
                 var ts = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                 Db.Updateable<MesQaItemsDetect02>()
-                    .SetColumns(s => s.Remeke == $"宸ユ帶鏈轰簬{ts}鑷姩鍒涘缓鐨勯妫�鍗�({previousState})")
-                    .Where(s => s.Id == latestFirst.Id)
-                    .ExecuteCommand();
+                  .SetColumns(s => s.Remeke == $"宸ユ帶鏈轰簬{ts}鑷姩鍒涘缓鐨勯妫�鍗�({previousState})")
+                  .Where(s => s.Id == latestFirst.Id)
+                  .ExecuteCommand();
             }
 
             if (previousState.Contains("涓嶅悎鏍�"))
@@ -165,24 +170,18 @@
         }
         else
         {
-            // 涓嶅悎鏍间絾閫佹鏃堕棿鏈彉鍖� => 鎻愮ず閲嶆柊閫佹
-            if (latestFirst != null
-                && string.Equals(latestResult, FirstCheckResultNG, StringComparison.OrdinalIgnoreCase)
-                && !isShoutTimeChanged)
-            {
-                entity.remark = "涓婁竴棣栨涓嶅悎鏍硷紝璇烽噸鏂扮偣鍑婚�佹鍛煎彨浠ョ敓鎴愭柊鐨勯妫�鍗�";
-            }
-            else if (latestFirst != null)
+            // 涓嶉渶瑕侀噸寤烘椂浠呭啓缁撴灉澶囨敞锛堣嫢宸叉湁棣栨锛�
+            if (latestFirst != null && !string.IsNullOrEmpty(latestResult))
             {
                 var ts = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                 Db.Updateable<MesQaItemsDetect02>()
-                    .SetColumns(s => s.Remeke == $"宸ユ帶鏈轰簬{ts}棣栨缁撴灉锛歿latestResult}")
-                    .Where(s => s.Id == latestFirst.Id)
-                    .ExecuteCommand();
+                  .SetColumns(s => s.Remeke == $"宸ユ帶鏈轰簬{ts}棣栨缁撴灉锛歿latestResult}")
+                  .Where(s => s.Id == latestFirst.Id)
+                  .ExecuteCommand();
             }
         }
 
-        // 鎶ュ伐閿氱偣閫昏緫
+        // 鎶ュ伐閿氱偣閫昏緫淇濇寔
         var mesReporting = Db.Queryable<MesReporting>()
             .Where(s => s.BillNo == womdaa.Daa001)
             .OrderByDescending(s => s.Id)
@@ -230,7 +229,7 @@
         };
         Db.Insertable<MesAnchors>(eAnchors).ExecuteCommand();
 
-        // 鍚堟牸涓旈�佹鏃堕棿 >= 璋冩満寮�濮嬫椂闂� => 鍐欒皟鏈哄畬鎴愪笌寮�宸ユ椂闂�
+        // 鍚堟牸鍐欏紑宸�/璋冩満瀹屾垚
         if (!string.IsNullOrEmpty(entity.MaShoutTime)
             && DateTime.TryParse(entity.MaShoutTime, out var sjTime)
             && DateTime.TryParse(entity.MaStartTime, out var startTime)
@@ -248,7 +247,6 @@
             entity.MaEndTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
         }
 
-        // 鏇存柊宸ュ崟鐘舵��
         return Db.Updateable<MesOrderSta>()
             .SetColumnsIF(entity.MaShoutTime != null, s => s.MaShoutTime == entity.MaShoutTime)
             .SetColumnsIF(entity.MaStartTime != null, s => s.MaStartTime == entity.MaStartTime)
@@ -259,6 +257,7 @@
             .ExecuteCommand() > 0;
     }
 
+
     /// <summary>
     ///     鍒濆鍖栧伐鍗曠姸鎬�
     /// </summary>

--
Gitblit v1.9.3