From 810818b52ac65bd701c9582571be23ded5aea776 Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期四, 23 十月 2025 14:30:06 +0800
Subject: [PATCH] 不合格后重送检逻辑_2

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

diff --git a/Services/MesOrderStaManager.cs b/Services/MesOrderStaManager.cs
index 8e1af31..2bd8b65 100644
--- a/Services/MesOrderStaManager.cs
+++ b/Services/MesOrderStaManager.cs
@@ -150,11 +150,15 @@
         // ================== 涓嶅悎鏍煎悗閲嶆柊閫佹锛團lag == 2锛�==================
         else if (entity.Flag == 2)
         {
-            // 绗竴鍗曢妫�涓轰笉鍚堟牸鍚庯紝鍥炰紶 Flag=2 鏃跺簲鈥滅洿鎺モ�濈敓鎴愪竴寮犳柊鐨勯妫�鍗�
-            // 骞傜瓑绛栫暐锛氳嫢鏈�鏂伴妫�宸插悎鏍煎垯涓嶇敓鎴愶紱鑻ュ皻鏃犻妫�鎴栨渶鏂颁负涓嶅悎鏍煎垯绔嬪嵆鐢熸垚鏂扮殑
+            // 棣栨涓嶅悎鏍煎悗鐩存帴鐢熸垚鏂扮殑棣栨鍗曪細
+            // 1. 鍔犻攣闃插苟鍙�
+            // 2. 鑻ヤ笉瀛樺湪棣栨 -> 鐩存帴鐢熸垚
+            // 3. 鑻ュ瓨鍦ㄤ笖涓衡�滀笉鍚堟牸鈥� -> 鍏堜綔搴熸棫鍗�(Fcancel='Y')鍐嶇敓鎴愭柊鍗曪紙缁曡繃瀛樺偍杩囩▼鍐呴儴鍙厑璁镐竴鍗曠殑闄愬埗锛�
+            // 4. 鑻ュ凡鍚堟牸 -> 涓嶇敓鎴�
             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 == "棣栨"
@@ -162,14 +166,30 @@
                 .OrderBy(s => s.CreateDate, OrderByType.Desc)
                 .First();
 
-            // 鏈�鏂版棤璁板綍 鎴� 鏈�鏂颁笉鍚堟牸 -> 鐢熸垚鏂伴妫�鍗�
-            if (latestFirst == null || latestFirst.FcheckResu == "涓嶅悎鏍�")
+            var needCreate = false;
+
+            if (latestFirst == null)
+            {
+                // 娌℃湁浠讳綍鏈夋晥棣栨鍗曪紝闇�瑕佸垱寤�
+                needCreate = true;
+            }
+            else if (latestFirst.FcheckResu == "涓嶅悎鏍�")
+            {
+                // 鏃у崟涓嶅悎鏍硷紝鍏堜綔搴熷啀鍒涘缓鏂板崟
+                Db.Updateable<MesQaItemsDetect02>()
+                    .SetColumns(s => s.Fcancel == "Y")
+                    .Where(s => s.Id == latestFirst.Id && (s.Fcancel == null || s.Fcancel != "Y"))
+                    .ExecuteCommand();
+                needCreate = true;
+            }
+
+            if (needCreate)
             {
                 Db.Ado.ExecuteCommand(
                     "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 == "棣栨"
@@ -186,8 +206,9 @@
                         .ExecuteCommand();
                 }
             }
-            // 鑻ユ渶鏂板凡鍚堟牸鍒欎笉鐢熸垚鏂板崟锛岀洿鎺ョ户缁悗缁祦绋嬶紙涓嶈鐩栧叾澶囨敞锛�
-        }
+        // 宸叉湁涓斿悎鏍� -> 涓嶆墽琛屽垱寤�
+        // 鑻ユ渶鏂板凡鍚堟牸鍒欎笉鐢熸垚鏂板崟锛岀洿鎺ョ户缁悗缁祦绋嬶紙涓嶈鐩栧叾澶囨敞锛�
+    }
 
         // ========= 棣栨涓嶅悎鏍兼竻绌洪�佹鏃堕棿澶勭悊锛團lag != 2 鏃舵墠娓呯┖锛涘苟鐢熸垚缁熶竴 remark锛� =========
         string remarkToSet = null;      // 鏈�缁堣鍐欏叆 MES_ORDER_STA.remark 鐨勫唴瀹�

--
Gitblit v1.9.3