From f043e6f1bd3d3967df569096f2adb67d0c8a5149 Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期六, 18 十月 2025 16:32:04 +0800
Subject: [PATCH] 使用QualifiedInspection方法更新工单状态

---
 Services/MesOrderStaManager.cs |   61 +++++++++++++++++++++++++-----
 1 files changed, 51 insertions(+), 10 deletions(-)

diff --git a/Services/MesOrderStaManager.cs b/Services/MesOrderStaManager.cs
index 95fab23..dd22c43 100644
--- a/Services/MesOrderStaManager.cs
+++ b/Services/MesOrderStaManager.cs
@@ -104,15 +104,18 @@
         // 濡傛灉鏍囪涓�1,闇�瑕佸鐞嗛妫�鐩稿叧閫昏緫
         if (entity.Flag == 1)
         {
-            // 璋冪敤瀛樺偍杩囩▼鎵ц鑷姩棣栨
-            // Db.Ado.ExecuteCommand(
-            //     "BEGIN AUTOMATIC_IPQC_FIRST_CHECK(:BILL_NO); END;",
-            //     new SugarParameter("BILL_NO", womdaa.Daa001,
-            //         DbType.String));
+            //璋冪敤瀛樺偍杩囩▼鎵ц鑷姩棣栨
+             Db.Ado.ExecuteCommand(
+                 "BEGIN AUTOMATIC_IPQC_FIRST_CHECK(:BILL_NO); END;",
+                 new SugarParameter("BILL_NO", womdaa.Daa001, System.Data.DbType.String));
             var automaticIpqcFirstCheck =
                 mesQaItemsDetect02Manager
                     .AutomaticIpqcFirstCheck(womdaa.Daa001);
-            if (!automaticIpqcFirstCheck) throw new Exception("棣栨鐢熸垚澶辫触");
+            if (!automaticIpqcFirstCheck)
+            {
+                Console.WriteLine($"鑷姩棣栨澶辫触锛屽伐鍗曞彿锛歿womdaa.Daa001}");
+                throw new Exception("棣栨鐢熸垚澶辫触");
+            }
 
             // 鑾峰彇褰撳墠鏃堕棿
             var s1 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
@@ -135,7 +138,7 @@
         var editDate = DateTime.Now.ToString("yyyy-MM-dd");
 
         // 鍙戦�丠TTP璇锋眰鍒版暟鎹埛鏂版帴鍙�
-        MesNumerical mesNumerical = null;
+        MesNumericalBycl mesNumerical = null;
         try
         {
             using (var httpClient = new HttpClient())
@@ -162,7 +165,7 @@
                     if (responseObj != null && responseObj.code == 200)
                     {
                         // 璇锋眰鎴愬姛锛岃幏鍙朚esNumerical鏁版嵁
-                        mesNumerical = Db.Queryable<MesNumerical>()
+                        mesNumerical = Db.Queryable<MesNumericalBycl>()
                             .Where(s => s.EditDate == editDate
                                         && s.MachineNo == entity.MachineNo)
                             .OrderByDescending(s => s.Id)
@@ -196,6 +199,38 @@
             .ExecuteCommand();
 
 
+
+        // 鏂板閫昏緫锛氶�佹鏃堕棿鏈夊�兼椂锛屽垽鏂渶鏂伴妫�鍗曟槸鍚﹀悎鏍硷紝鍚堟牸鍒欏啓鍏ヨ皟鏈哄畬鎴愭椂闂翠负褰撳墠鏃堕棿
+        if (!string.IsNullOrEmpty(entity.MaShoutTime))
+        {
+            //閫佹鍛煎彨鏃堕棿蹇呴』澶т簬鎴栫瓑浜庤皟鏈哄紑濮嬫椂闂达紝浠ユ鏉ョ瓫閫夐妫�鍗�
+            if (DateTime.TryParse(entity.MaShoutTime, out var sjTime) && DateTime.TryParse(entity.MaStartTime, out var startTime))
+            {
+                if (sjTime >= startTime)
+                {
+                    // 鏌ユ壘璇ュ伐鍗曞彿涓嬫渶鏂扮殑棣栨鍗�
+                    var sjRecord = Db.Queryable<MesQaItemsDetect02>()
+                        .Where(x => x.Aufnr == womdaa.Daa001 && x.Ftype == "棣栨")
+                        .OrderBy(x => x.CreateDate, OrderByType.Desc)
+                        .First();
+
+                    if (sjRecord != null && sjRecord.FcheckResu == "鍚堟牸")
+                    {
+                        // 浣跨敤QualifiedInspection鏂规硶鏇存柊宸ュ崟鐘舵��
+                        QualifiedInspection(new OrderMachineDto
+                        {
+                            OrderId = entity.OrderId,
+                            orderNo = entity.OrderNo,
+                            machineNo = entity.MachineNo
+                        });
+                        //灏嗛�佹鏃堕棿鍐欏叆寮�宸ユ椂闂�
+                        entity.StartTime = entity.MaShoutTime;
+                        entity.MaEndTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+                    }
+                }
+            }
+        }
+
         // 鏇存柊宸ュ崟鐘舵�佽〃
         return Db.Updateable<MesOrderSta>()
             // 濡傛灉鏈夐�佹鏃堕棿鍒欐洿鏂�
@@ -204,6 +239,12 @@
             // 濡傛灉鏈夎皟鏈哄紑濮嬫椂闂村垯鏇存柊
             .SetColumnsIF(entity.MaStartTime != null,
                 s => s.MaStartTime == entity.MaStartTime)
+            // 濡傛灉鏈夎皟鏈哄畬鎴愭椂闂村垯鏇存柊
+            .SetColumnsIF(entity.MaEndTime != null,
+                s => s.MaEndTime == entity.MaEndTime)
+            // 濡傛灉鏈夊紑宸ユ椂闂村垯鏇存柊
+            .SetColumnsIF(entity.StartTime != null,
+                s => s.StartTime == entity.StartTime)
             // 濡傛灉鏍囪涓�1鍒欐洿鏂板娉ㄤ俊鎭�
             .SetColumnsIF(entity.Flag == 1,
                 s => s.remark == "浜�" + entity.MaShoutTime + "鏃堕棿鏈変竴娆¢�佹")
@@ -449,7 +490,7 @@
                         // var reportingOkQty =
                         //     Convert.ToDecimal(vOrder.todayOutput) -
                         //     reporting.OkQty;
-                        var CjQty = Db.Queryable<MesNumerical>()
+                        var CjQty = Db.Queryable<MesNumericalBycl>()
                             .Where(s => s.MachineNo == entity.MachineNo && s.EditDate == date)
                             .OrderByDescending(s=>s.CjTiem)
                             .Select<long?>(s=>s.CjNum).First();
@@ -581,7 +622,7 @@
 
         if (binding)
             return Db.Updateable<MesOrderSta>()
-                .SetColumns(s => s.MaEndTime == endDate)
+                .SetColumns(s => s.MaEndTime == endDate) // 鑷姩鍐欏叆璋冩満瀹屾垚鏃堕棿
                 .SetColumns(s => s.StartTime == entity.MaShoutTime)
                 .Where(s => s.OrderId == query.OrderId).ExecuteCommand() > 0;
 

--
Gitblit v1.9.3