From 33ef96c0b10aea2a5c9cee18dbc39cdf169ccf92 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期一, 13 十月 2025 15:32:41 +0800
Subject: [PATCH] 优化四向车任务反馈流程

---
 Admin.NET/WCS.Application/PLC/PLCService.cs |   17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index fd23922..f48c058 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -165,8 +165,6 @@
                 break;
             case "1":
                 {
-                    Thread.Sleep(500);
-
                     sysCacheService.HashAddOrUpdate("AlarmInfo_Car", plcConn.PlcIP, -1);
                     var modPosTaskStatus = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟鐘舵��");
                     var (resultTaskStatus, valueTaskStatus) = plcConn.GetDBValue(modPosTaskStatus.PosType, modPosTaskStatus.PlcPos);
@@ -194,6 +192,21 @@
                             } 
                             if (carTask != null && carTask.Status != TaskStatusEnum.Complete)
                             {
+                                //鏌ユ壘璇ヤ换鍔$殑涓婁竴鏉″瓙浠诲姟瀹屾垚鏃堕棿鍜屽綋鍓嶆椂闂撮棿闅旓紝濡傛灉闂撮殧鏃堕棿澶煭璇存槑鏈夐棶棰橈紝绛�3绉掑悗鍐嶆墽琛�
+                                var carTaskAfter = _db.Queryable<WcsCarTasks>().First(m => m.IsDelete == false && m.Status == TaskStatusEnum.Complete && m.CarTaskNo != valueTaskStr
+                                && m.CarNo == modDevice.PlcIdIP && m.TaskNo == carTask.TaskNo);
+                                if (carTaskAfter != null && carTaskAfter.UpdateTime != null)
+                                {
+                                    TimeSpan difference = DateTime.Now - Convert.ToDateTime(carTaskAfter.UpdateTime);
+                                    double seconds = difference.TotalSeconds;
+                                    if (seconds < 3)
+                                    {
+                                        Log.Error($"鍥涘悜杞︾浜屾潯瀛愪换鍔″弽棣堝畬鎴愭椂闂村紓甯�:{carTaskNext.TaskNo}");
+                                        Thread.Sleep(3000);
+                                        break;
+                                    }
+                                }
+
                                 carTask.Status = TaskStatusEnum.Complete;
                                 carTask.UpdateTime = DateTime.Now;
                                 _db.Updateable(carTask).ExecuteCommand();

--
Gitblit v1.8.0