From c135f22291c416fca9ffbfe1904a304835574d80 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-JIE70N9>
Date: 星期四, 18 九月 2025 15:11:14 +0800
Subject: [PATCH] 修改问题

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

diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index 4aba5fd..fd23922 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -165,6 +165,8 @@
                 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);
@@ -210,7 +212,19 @@
                             }
                             //鑾峰彇璺緞2鐨勪换鍔� 涓嬪彂
                             carTaskNext = _db.Queryable<WcsCarTasks>().Where(m => m.IsDelete == false && m.TaskNo == carTask.TaskNo && m.CarNo == modDevice.PlcIdIP && m.Status <= TaskStatusEnum.Doing).OrderBy(m => m.CreateTime).First();
-                            //carTaskNext = _db.Queryable<WcsCarTasks>().Where(m => m.IsDelete == false && m.TaskNo == carTask.TaskNo && m.CarNo == modDevice.PlcIdIP && m.CarTaskNo > valueTaskStr && m.Status <= TaskStatusEnum.Doing).OrderBy(m => m.CreateTime).First();
+                            //carTaskNext = _db.Queryable<WcsCarTasks>().Where(m => m.IsDelete == false && m.TaskNo == carTask.TaskNo && m.CarNo == modDevice.PlcIdIP && m.Status <= TaskStatusEnum.Doing && m.CarTaskNo != valueTaskStr).OrderBy(m => m.CreateTime).First();
+                            if (carTaskNext != null)
+                            {
+                                if (carTaskNext.CarTaskNo != null && carTaskNext.CarTaskNo < valueTaskStr)
+                                {
+                                    carTaskNext.Status = TaskStatusEnum.Complete;
+                                    carTaskNext.UpdateTime = DateTime.Now;
+                                    _db.Updateable(carTaskNext).ExecuteCommand();
+
+                                    carTaskNext = null;
+                                    Log.Error($"鍥涘悜杞︾涓�鏉″瓙浠诲姟娌¤嚜鍔ㄥ畬鎴�:{carTaskNext.TaskNo}");
+                                }
+                            }
                             //鎬讳换鍔′笅娌℃湁鍏朵粬鏈墽琛屽皬杞︾殑浠诲姟 鍙樻洿鎬讳换鍔′俊鎭�
                             if (carTaskNext == null && modFinshTask != null && modFinshTask.Status != TaskStatusEnum.Complete)
                             {

--
Gitblit v1.8.0