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 | 75 +++++++++++++++++++++----------------
1 files changed, 43 insertions(+), 32 deletions(-)
diff --git a/Services/MesOrderStaManager.cs b/Services/MesOrderStaManager.cs
index a5c8f89..2bd8b65 100644
--- a/Services/MesOrderStaManager.cs
+++ b/Services/MesOrderStaManager.cs
@@ -150,7 +150,15 @@
// ================== 涓嶅悎鏍煎悗閲嶆柊閫佹锛團lag == 2锛�==================
else if (entity.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 == "棣栨"
@@ -158,46 +166,49 @@
.OrderBy(s => s.CreateDate, OrderByType.Desc)
.First();
- if (latestFirst != null && latestFirst.FcheckResu == "涓嶅悎鏍�")
- {
- // 琛岀骇閿� + 浜屾纭闃插苟鍙戦噸澶嶇敓鎴�
- Db.Ado.ExecuteCommand("SELECT ID FROM WOMDAA WHERE DAA001 = :BILL_NO FOR UPDATE",
- new SugarParameter("BILL_NO", womdaa.Daa001));
+ var needCreate = false;
- latestFirst = Db.Queryable<MesQaItemsDetect02>()
+ 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 == "棣栨"
&& (s.Fcancel == null || s.Fcancel != "Y"))
.OrderBy(s => s.CreateDate, OrderByType.Desc)
.First();
-
- if (latestFirst != null && latestFirst.FcheckResu == "涓嶅悎鏍�")
+ if (newLatest != null)
{
- // 鐢熸垚鏂扮殑棣栨鍗曪紙閲嶆柊閫佹锛�
- 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 == "棣栨"
- && (s.Fcancel == null || s.Fcancel != "Y"))
- .OrderBy(s => s.CreateDate, OrderByType.Desc)
- .First();
-
- if (newLatest != null)
- {
- 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();
- }
+ 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();
}
}
- }
+ // 宸叉湁涓斿悎鏍� -> 涓嶆墽琛屽垱寤�
+ // 鑻ユ渶鏂板凡鍚堟牸鍒欎笉鐢熸垚鏂板崟锛岀洿鎺ョ户缁悗缁祦绋嬶紙涓嶈鐩栧叾澶囨敞锛�
+ }
// ========= 棣栨涓嶅悎鏍兼竻绌洪�佹鏃堕棿澶勭悊锛團lag != 2 鏃舵墠娓呯┖锛涘苟鐢熸垚缁熶竴 remark锛� =========
string remarkToSet = null; // 鏈�缁堣鍐欏叆 MES_ORDER_STA.remark 鐨勫唴瀹�
--
Gitblit v1.9.3