From c84eb83d59f5d3057a6f3dbc375d3c98a6447c2f Mon Sep 17 00:00:00 2001
From: yangpeixing <yangpeixing@hnkhzn.com>
Date: 星期五, 13 三月 2026 17:00:56 +0800
Subject: [PATCH] 1

---
 WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/ConveyorLineJob_BC.cs |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

diff --git "a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs" "b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs"
index 7c15d14..4b35cfb 100644
--- "a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs"
+++ "b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs"
@@ -136,6 +136,7 @@
                                                         {
                                                             _taskService.UpdateTask(task, TaskStatusEnum.RGV_NEW, sourceAddress: rout.StartPosi);
                                                             device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+                                                            WriteDebug(device.DeviceName, $"鍏ュ簱杈撻�佺嚎ACK淇″彿{item.StationCode}宸插啓鍏�");
                                                         }
 
                                                     }
@@ -147,7 +148,7 @@
                                     }
                                     else
                                     {
-                                        Dt_Task task = _taskRepository.QueryFirst(x => x.SourceAddress == item.StationCode && x.DeviceCode == item.StationDeviceCode && x.TaskState == TaskStatusEnum.RGV_Finish.ObjToInt());
+                                        Dt_Task task = _taskRepository.QueryFirst(x => x.SourceAddress == item.StationCode && x.DeviceCode == item.StationDeviceCode && x.TaskState == TaskStatusEnum.RGV_Finish.ObjToInt() && x.TaskNum == conveyorLineInfoRead.TaskNo);
                                         if (task != null)
                                         {
                                             _taskService.UpdateTask(task, TaskStatusEnum.SC_Execute, deviceCode: task.Roadway, sourceAddress: item.StackerCraneStationCode);
@@ -211,12 +212,20 @@
 
                                             if (!conveyorLineSignalRead3.STB && !conveyorLineSignalRead3.ACK && conveyorLineStatus3.Online && conveyorLineStatus3.Free && !conveyorLineStatus3.Goods && !conveyorLineStatus3.Alarm && !STB && !ACK)//鍒ゆ柇鍑哄簱鍙f槸鍚︾┖闂�
                                             {
-                                                Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && x.DeviceCode == device.DeviceCode && x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt());
-                                                if (task != null)
+                                                Dt_Task outTask = _taskRepository.QueryFirst(x => x.TaskType >= TaskTypeEnum.Outbound.ObjToInt() && x.TaskType <= TaskTypeEnum.Inbound.ObjToInt() && (x.TaskState == TaskStatusEnum.RGV_Executing.ObjToInt()|| x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt()));
+                                                if (outTask == null)
                                                 {
-                                                    _taskService.UpdateTask(task, TaskStatusEnum.RGV_Execute, sourceAddress: item.StationCode, targetAddress: routers.NextPosi, nextAddress: routers.NextPosi);
-                                                    Thread.Sleep(100);
-                                                    device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+                                                    Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && x.DeviceCode == device.DeviceCode && x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt());
+                                                    if (task != null)
+                                                    {
+                                                        _taskService.UpdateTask(task, TaskStatusEnum.RGV_Execute, sourceAddress: item.StationCode, targetAddress: routers.NextPosi, nextAddress: routers.NextPosi);
+                                                        Thread.Sleep(100);
+                                                        for (int i = 0; i < 3; i++)
+                                                        {
+                                                            device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+                                                        }
+                                                        WriteDebug("鏉挎潗杈撻�佸嚭搴撳彛", $"鍑哄簱杈撻�佺嚎ACK淇″彿{item.StationCode}宸插啓鍏ワ紝浠诲姟鍙穥task.TaskNum}");
+                                                    }
                                                 }
                                             }
                                         }

--
Gitblit v1.9.3