From 62922f98de63b19f54c12a6ad8b39d61b62011ed Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期二, 18 十一月 2025 16:44:42 +0800
Subject: [PATCH] 存储过程未生成 → 兜底 C# 自动生成

---
 Services/MesOrderStaManager.cs |   55 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 48 insertions(+), 7 deletions(-)

diff --git a/Services/MesOrderStaManager.cs b/Services/MesOrderStaManager.cs
index abd4faa..44213cb 100644
--- a/Services/MesOrderStaManager.cs
+++ b/Services/MesOrderStaManager.cs
@@ -130,6 +130,31 @@
                         "BEGIN AUTOMATIC_IPQC_FIRST_CHECK(:BILL_NO); END;",
                         new SugarParameter("BILL_NO", womdaa.Daa001, System.Data.DbType.String));
                 }
+
+                // 鍐嶆鏌ヨ鏂扮敓鎴愮殑棣栨鍗�
+                var newLatest = Db.Queryable<MesQaItemsDetect02>()
+                    .Where(s => s.Aufnr == womdaa.Daa001
+                                && s.Ftype == "棣栨"
+                                && (s.Fcancel == null || s.Fcancel != "Y"))
+                    .OrderBy(s => s.CreateDate, OrderByType.Desc)
+                    .First();
+
+                // 瀛樺偍杩囩▼鏈敓鎴� 鈫� 鍏滃簳 C# 鑷姩鐢熸垚
+                if (newLatest == null)
+                {
+                    Console.WriteLine("[閲嶉�佹] 瀛樺偍杩囩▼鏈敓鎴愶紝鎵ц C# 鍏滃簳閫昏緫");
+                    var fallback = mesQaItemsDetect02Manager.AutomaticIpqcFirstCheck(womdaa.Daa001);
+                    if (fallback)
+                    {
+                        newLatest = Db.Queryable<MesQaItemsDetect02>()
+                            .Where(s => s.Aufnr == womdaa.Daa001
+                                        && s.Ftype == "棣栨"
+                                        && (s.Fcancel == null || s.Fcancel != "Y"))
+                            .OrderBy(s => s.CreateDate, OrderByType.Desc)
+                            .First();
+                    }
+                }
+
             }
 
             // 缁熶竴鏇存柊鏈�鏂伴妫�澶囨敞
@@ -150,12 +175,12 @@
         // ================== 涓嶅悎鏍煎悗閲嶆柊閫佹锛團lag == 2锛�==================
         else if (entity.Flag == 2)
         {
-            // 鍔犻攣闃插苟鍙戯紙琛岀骇閿侊級
+            // 1.鍔犻攣闃插苟鍙戯紙琛岀骇閿侊級
             Db.Ado.ExecuteCommand(
                 "SELECT ID FROM WOMDAA WHERE DAA001 = :BILL_NO FOR UPDATE",
                 new SugarParameter("BILL_NO", womdaa.Daa001));
 
-            // 褰撳墠鏈�鏂版湭浣滃簾棣栨鍗�
+            // 2. 褰撳墠鏈�鏂版湭浣滃簾棣栨鍗�
             var latestFirst = Db.Queryable<MesQaItemsDetect02>()
                 .Where(s => s.Aufnr == womdaa.Daa001
                             && s.Ftype == "棣栨"
@@ -164,7 +189,11 @@
                 .First();
 
             bool needReCreate = false;
-
+            /*
+             3. 鍒ゆ柇鏄惁闇�瑕侀噸鏂扮敓鎴愰妫�鍗�
+鈥�	濡傛灉鏈�鏂伴妫�鍗曞瓨鍦ㄤ笖缁撴灉涓衡�滀笉鍚堟牸鈥濇垨鈥淣G鈥濓紝鍒欓渶瑕侀噸寤洪妫�鍗曘��
+鈥�	濡傛灉娌℃湁娲诲姩棣栨鍗曪紝浣嗗瓨鍦ㄥ凡浣滃簾鐨勪笉鍚堟牸棣栨璁板綍锛屼篃鍏佽閲嶅缓銆�
+             */
             if (latestFirst != null)
             {
                 var resu = latestFirst.FcheckResu?.Trim();
@@ -176,7 +205,7 @@
             }
             else
             {
-                // 娌℃湁娲诲姩棣栨鍗曪紝鍒ゆ柇鏄惁瀛樺湪宸蹭綔搴熺殑涓嶅悎鏍奸妫�璁板綍
+                // 4. 娌℃湁娲诲姩棣栨鍗曪紝鍒ゆ柇鏄惁瀛樺湪宸蹭綔搴熺殑涓嶅悎鏍奸妫�璁板綍
                 var existsCanceledNg = Db.Queryable<MesQaItemsDetect02>()
                     .Where(s => s.Aufnr == womdaa.Daa001
                                 && s.Ftype == "棣栨"
@@ -206,7 +235,7 @@
                 string procErr = "";
                 try
                 {
-                    // 璋冪敤瀛樺偍杩囩▼鐢熸垚鏂伴妫�鍗�
+                    // 5. 璋冪敤瀛樺偍杩囩▼鐢熸垚鏂伴妫�鍗�
                     Db.Ado.ExecuteCommand(
                         "BEGIN AUTOMATIC_IPQC_FIRST_CHECK(:BILL_NO); END;",
                         new SugarParameter("BILL_NO", womdaa.Daa001, System.Data.DbType.String));
@@ -242,9 +271,21 @@
                     }
                 }
 
-                if (newLatest != null)
+                //6. 鏂伴妫�鍗曠敓鎴愬悗锛屽啓鍏ュ娉�
+
+                var ts = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+                //鍙湁寮�宸ョ姸鎬佷笅鍙互鏆傚仠宸ュ崟
+                //褰撻妫�缁撴灉涓衡�樺悎鏍尖�欍�佲�樹笉鍚堟牸鈥欐椂锛屾洿鏂板娉�
+                if (newLatest != null && newLatest.FcheckResu == "鍚堟牸")
                 {
-                    var ts = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+                    var remark = $"宸ユ帶鏈轰簬{ts}鍙栨秷鏆傚仠閲嶆柊閫佹鐢熸垚鐨勯妫�鍗�";
+                    Db.Updateable<MesQaItemsDetect02>()
+                        .SetColumns(s => s.Remeke == remark)
+                        .Where(s => s.Id == newLatest.Id)
+                        .ExecuteCommand();
+                }
+                else if (newLatest != null && newLatest.FcheckResu == "涓嶅悎鏍�")
+                {
                     var remark = $"宸ユ帶鏈轰簬{ts}涓嶅悎鏍奸噸鏂伴�佹鐢熸垚鐨勯妫�鍗�";
                     Db.Updateable<MesQaItemsDetect02>()
                         .SetColumns(s => s.Remeke == remark)

--
Gitblit v1.9.3