From 8c0e2ca5bc6153ba0bd894523b8f6047941edab2 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期六, 11 十月 2025 16:21:47 +0800
Subject: [PATCH] 优化任务查询与信号处理逻辑,添加二进制文件在多个文件中优化任务查询与信号处理逻辑: - `TaskService.cs`:`QueryExecutingConveyorLineTask` 方法新增托盘码校验。 - `CommonConveyorLine_BZJob.cs`:新增信号读取与在途数据处理逻辑。 - `CommonConveyorLine_CWJob.cs`:新增站点查询与信号处理逻辑。 - `CommonConveyorLine_GWJob.cs` 和 `CommonConveyorLine_NewCWJob.cs`:   - 删除冗余注释代码。   - 增加站点查询与信号处理逻辑。 - 添加多个二进制文件:`CodeChunks.db`、`SemanticSymbols.db` 等。

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs              |    7 +++
 Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm |    0 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_NewCW/CommonConveyorLine_NewCWJob.cs        |   34 +++++++++++++++--
 Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal      |    0 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs                                    |    2 
 Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm      |    0 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs              |    3 -
 Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal |    0 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_CW/CommonConveyorLine_CWJob.cs              |   31 ++++++++++++++-
 Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db          |    0 
 Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db     |    0 
 11 files changed, 66 insertions(+), 11 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db
new file mode 100644
index 0000000..5cb2164
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm
new file mode 100644
index 0000000..c7ca75d
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal
new file mode 100644
index 0000000..e3cdff7
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db
new file mode 100644
index 0000000..585e858
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm
new file mode 100644
index 0000000..d330c44
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal
new file mode 100644
index 0000000..91c78e0
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index 94d21a5..14d13d7 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -348,7 +348,7 @@
         /// <returns></returns>
         public Dt_Task QueryExecutingConveyorLineTask(string nextAddress, string Barcode)
         {
-            return BaseDal.QueryFirst(x => (x.NextAddress == nextAddress || x.TargetAddress == nextAddress) && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy);
+            return BaseDal.QueryFirst(x => x.PalletCode == Barcode && (x.NextAddress == nextAddress || x.TargetAddress == nextAddress) && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy);
         }
 
         /// <summary>
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs
index 2c38342..cfc91c5 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs
@@ -186,6 +186,13 @@
         public void RequestOutbound(CommonConveyorLine_BZ conveyorLine, ConveyorLineTaskCommand_After command, Dt_StationManager station)
         {
             //鏌ヨ瀵瑰簲浜х嚎鐨勫湪閫旀暟鎹�
+            ConveyorLineTaskCommand_After readSignal = conveyorLine.ReadCustomer<ConveyorLineTaskCommand_After>(station.stationLocation);
+            if (readSignal.Reserved5 == 1)
+            {
+                ConsoleHelper.WriteErrorLine($"鍖呰{station.productLine}寮�濮嬫竻鏂�");
+                return;
+            }
+
             dt_needBarcode needBarcode = _needBarcodeRepository.QueryFirst(x => x.productLine == station.productLine && x.toArea == station.stationChildCode);
 
             needBarcode.inLineNum = _taskRepository.QueryData(x => x.TargetAddress == station.stationChildCode).Count();
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_CW/CommonConveyorLine_CWJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_CW/CommonConveyorLine_CWJob.cs
index 6ee670c..782dac9 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_CW/CommonConveyorLine_CWJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_CW/CommonConveyorLine_CWJob.cs
@@ -446,12 +446,25 @@
                     }
                 }
 
-                //conveyorLine.SendCommand(taskCommand, childDeviceCode);
                 bool sendFlag = SendCommand(taskCommand, conveyorLine, childDeviceCode);
                 if (sendFlag)
                 {
                     conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode);
                     content = _taskService.UpdateTaskStatusToNext(task);
+                }
+                var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == childDeviceCode && x.stationArea == "Call" && x.stationType == 12);
+                CommonConveyorLine_BZ? commonConveyorBZ=Storage.Devices.FirstOrDefault(x=>x.DeviceCode==station.stationPLC) as CommonConveyorLine_BZ;
+                if (commonConveyorBZ != null)
+                {
+                    ConveyorLineTaskCommand_After readSignal = conveyorLine.ReadCustomer<ConveyorLineTaskCommand_After>(station.stationLocation);
+                    if (readSignal.Reserved5 == 1)
+                    {
+                        var tasks = _taskRepository.QueryData(x => x.TargetAddress == childDeviceCode);
+                        if (tasks.Count == 0)
+                        {
+                            commonConveyorBZ.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), station.stationLocation);
+                        }
+                    }
                 }
             }
             else
@@ -483,8 +496,6 @@
                         }
                     }
 
-                    //conveyorLine.SendCommand(taskCommand, childDeviceCode); 
-
                     bool sendFlag = SendCommand(taskCommand, conveyorLine, childDeviceCode);
                     if (sendFlag)
                     {
@@ -493,6 +504,20 @@
                         taskNext.ExceptionMessage = log;
                         content = _taskService.UpdateTaskStatusToNext(taskNext);
                     }
+                    var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == childDeviceCode && x.stationArea == "Call" && x.stationType == 12);
+                    CommonConveyorLine_BZ? commonConveyorBZ = Storage.Devices.FirstOrDefault(x => x.DeviceCode == station.stationPLC) as CommonConveyorLine_BZ;
+                    if (commonConveyorBZ != null)
+                    {
+                        ConveyorLineTaskCommand_After readSignal = conveyorLine.ReadCustomer<ConveyorLineTaskCommand_After>(station.stationLocation);
+                        if (readSignal.Reserved5 == 1)
+                        {
+                            var tasks = _taskRepository.QueryData(x => x.TargetAddress == childDeviceCode);
+                            if (tasks.Count == 0)
+                            {
+                                commonConveyorBZ.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), station.stationLocation);
+                            }
+                        }
+                    }
                 }
             }
         }
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs
index ad0243d..92786b6 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs
@@ -460,7 +460,6 @@
                     }
                 }
 
-                //conveyorLine.SendCommand(taskCommand, childDeviceCode);
                 bool sendFlag = SendCommand(taskCommand, conveyorLine, childDeviceCode);
                 if (sendFlag)
                 {
@@ -496,8 +495,6 @@
                             _needBarcodeRepository.UpdateData(needBarcode);
                         }
                     }
-
-                    //conveyorLine.SendCommand(taskCommand, childDeviceCode); 
 
                     bool sendFlag = SendCommand(taskCommand, conveyorLine, childDeviceCode);
                     if (sendFlag)
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_NewCW/CommonConveyorLine_NewCWJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_NewCW/CommonConveyorLine_NewCWJob.cs
index ba36c83..993d276 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_NewCW/CommonConveyorLine_NewCWJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_NewCW/CommonConveyorLine_NewCWJob.cs
@@ -147,7 +147,6 @@
                                     MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
                                     if (method != null)
                                     {
-                                        //var strings = platform.Location.Split(',').ToList();
                                         int count = 1;
                                         method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
                                     }
@@ -453,6 +452,21 @@
                     conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode);
                     content = _taskService.UpdateTaskStatusToNext(task);
                 }
+
+                var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == childDeviceCode && x.stationArea == "Call" && x.stationType == 12);
+                CommonConveyorLine_BZ? commonConveyorBZ = Storage.Devices.FirstOrDefault(x => x.DeviceCode == station.stationPLC) as CommonConveyorLine_BZ;
+                if (commonConveyorBZ != null)
+                {
+                    ConveyorLineTaskCommand_After readSignal = conveyorLine.ReadCustomer<ConveyorLineTaskCommand_After>(station.stationLocation);
+                    if (readSignal.Reserved5 == 1)
+                    {
+                        var tasks = _taskRepository.QueryData(x => x.TargetAddress == childDeviceCode);
+                        if (tasks.Count == 0)
+                        {
+                            commonConveyorBZ.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), station.stationLocation);
+                        }
+                    }
+                }
             }
             else
             {
@@ -482,9 +496,6 @@
                             _needBarcodeRepository.UpdateData(needBarcode);
                         }
                     }
-
-                    //conveyorLine.SendCommand(taskCommand, childDeviceCode); 
-
                     bool sendFlag = SendCommand(taskCommand, conveyorLine, childDeviceCode);
                     if (sendFlag)
                     {
@@ -493,6 +504,21 @@
                         taskNext.ExceptionMessage = log;
                         content = _taskService.UpdateTaskStatusToNext(taskNext);
                     }
+
+                    var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == childDeviceCode && x.stationArea == "Call" && x.stationType == 12);
+                    CommonConveyorLine_BZ? commonConveyorBZ = Storage.Devices.FirstOrDefault(x => x.DeviceCode == station.stationPLC) as CommonConveyorLine_BZ;
+                    if (commonConveyorBZ != null)
+                    {
+                        ConveyorLineTaskCommand_After readSignal = conveyorLine.ReadCustomer<ConveyorLineTaskCommand_After>(station.stationLocation);
+                        if (readSignal.Reserved5 == 1)
+                        {
+                            var tasks = _taskRepository.QueryData(x => x.TargetAddress == childDeviceCode);
+                            if (tasks.Count == 0)
+                            {
+                                commonConveyorBZ.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), station.stationLocation);
+                            }
+                        }
+                    }
                 }
             }
         }

--
Gitblit v1.9.3