From 7e0aad095dc9ed744f1f7ecd8a0ca56b674a8f26 Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期三, 22 十月 2025 10:00:09 +0800
Subject: [PATCH] RefreshDevBycl

---
 Services/MesOrderStaManager.cs |   76 ++++++++++++++++++++++++++++++--------
 1 files changed, 60 insertions(+), 16 deletions(-)

diff --git a/Services/MesOrderStaManager.cs b/Services/MesOrderStaManager.cs
index 71fe399..17923ba 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())
@@ -149,7 +152,7 @@
                     "application/json");
 
                 var response = httpClient
-                    .PostAsync("http://192.168.0.94:9095/Numerical/RefreshDev",
+                    .PostAsync("http://192.168.0.94:9095/Numerical/RefreshDevBycl",
                         content).GetAwaiter().GetResult();
 
                 if (response.IsSuccessStatusCode)
@@ -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)
@@ -189,18 +192,59 @@
             OrderId = womdaa.Id,
             OrderNo = womdaa.Daa001,
             EditDate = editDate,
-            Qty = mesReporting == null ? 0 : Int64.Parse(mesReporting.DyQty),
+            Qty = mesReporting == null ? 0 : (long?)(mesReporting.DyQty ?? 0),
             InitialValue = mesNumerical == null ? 0 : mesNumerical.CjNum
         };
         Db.Insertable<MesAnchors>(eAnchors)
             .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>()
             // 濡傛灉鏈夐�佹鏃堕棿鍒欐洿鏂�
             .SetColumnsIF(entity.MaShoutTime != null,
                 s => s.MaShoutTime == entity.MaShoutTime)
+            // 濡傛灉鏈夎皟鏈哄紑濮嬫椂闂村垯鏇存柊
+            .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 + "鏃堕棿鏈変竴娆¢�佹")
@@ -446,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();
@@ -464,12 +508,12 @@
                             MachineNo = womdaa.MachineNo,
                             // BfQty = reportingOkQty,
                             BfQty = 0,
-                            BlQty = reportingOkQty.ToString(),
+                            BlQty = reportingOkQty,
                             OkQty = 0,
                             ItemNo = womdaa.Daa002,
                             BillNo = womdaa.Daa001,
-                            CjQty = CjQty.ToString(),
-                            DyQty = reporting.OkQty.ToString()
+                            CjQty = CjQty,
+                            DyQty = reporting.OkQty
                         };
                         
                         // 鎻掑叆鎶ュ伐璁板綍
@@ -499,7 +543,7 @@
     public bool StateCheck(OrderMachineDto query)
     {
         // 鏌ヨ宸ュ崟瑙嗗浘淇℃伅
-        var vOrder = Db.Queryable<VOrder>()
+        var vOrder = Db.Queryable<VOrderBycl>()
             .Where(s => s.ID == query.OrderId).First();
 
         // 鏍规嵁涓嶅悓鎿嶄綔鏍囪瘑杩涜妫�鏌�
@@ -578,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