From 8bc65cd3363d7148c356fe2eecca3590a9a3b4e0 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-JIE70N9>
Date: 星期二, 21 十月 2025 09:34:41 +0800
Subject: [PATCH] 修改问题

---
 Admin.NET/WCS.Application/PLC/PLCService.cs    |   20 +++++++++++++++-----
 Admin.NET/WCS.Application/PLC/PLCTaskAction.cs |    1 +
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index f48c058..b226ff9 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -8,6 +8,7 @@
 using Elastic.Clients.Elasticsearch.Snapshot;
 using Furion.Logging;
 using IoTClient;
+using MessagePack;
 using NewLife.Reflection;
 using Newtonsoft.Json;
 using Org.BouncyCastle.Ocsp;
@@ -193,18 +194,27 @@
                             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
+                                var carTaskAfter = _db.Queryable<WcsCarTasks>().First(m => m.IsDelete == false && m.Status == TaskStatusEnum.Complete && m.CarTaskNo == valueTaskStr - 1
                                 && m.CarNo == modDevice.PlcIdIP && m.TaskNo == carTask.TaskNo);
-                                if (carTaskAfter != null && carTaskAfter.UpdateTime != null)
+                                if (carTaskAfter != null)
                                 {
-                                    TimeSpan difference = DateTime.Now - Convert.ToDateTime(carTaskAfter.UpdateTime);
-                                    double seconds = difference.TotalSeconds;
-                                    if (seconds < 3)
+                                    if (carTaskAfter.Status != TaskStatusEnum.Complete || carTaskAfter.UpdateTime == null)
                                     {
                                         Log.Error($"鍥涘悜杞︾浜屾潯瀛愪换鍔″弽棣堝畬鎴愭椂闂村紓甯�:{carTaskNext.TaskNo}");
                                         Thread.Sleep(3000);
                                         break;
                                     }
+                                    else
+                                    {
+                                        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;
diff --git a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
index 003bd90..b06b4e0 100644
--- a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
@@ -431,6 +431,7 @@
                             var (plcResult, palletVal) = modConn.GetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.PlcPos);
                             if (!plcResult.IsSucceed || Convert.ToInt32(palletVal) != 720)
                             {
+                                //Log.Error($"鏀捐揣宸ヤ綅娌℃湁璇诲彇鎴愬姛鎴栦笉鏄┖闂�:{waitTask.TaskNo}");
                                 continue;//鏀捐揣宸ヤ綅娌℃湁璇诲彇鎴愬姛鎴栦笉鏄┖闂�
                             }
 

--
Gitblit v1.8.0