From e61bb0e26530b2aa9055737fade9e77ccb1feebf Mon Sep 17 00:00:00 2001
From: 肖洋 <cathay_xy@163.com>
Date: 星期二, 07 一月 2025 10:06:16 +0800
Subject: [PATCH] 更新多个文件,优化逻辑与配置

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs |   62 ++++++++++++++++++++-----------
 1 files changed, 40 insertions(+), 22 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
index 422f58b..683b42b 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
@@ -1,6 +1,8 @@
 锘縰sing HslCommunication;
+using Mapster;
 using Newtonsoft.Json;
 using System.Text.RegularExpressions;
+using System.Threading.Tasks;
 using WIDESEAWCS_Common;
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
@@ -49,7 +51,7 @@
         /// <summary>
         /// 澶勭悊鏂颁换鍔�
         /// </summary>
-        private async void HandleNewTask(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
+        private async Task HandleNewTaskAsync(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
         {
             var stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == childDeviceCode && x.stationPLC == conveyorLine.DeviceCode);
 
@@ -78,19 +80,6 @@
                 default:
                     break;
             }
-
-            //if ((conveyorLine.DeviceCode == "1003" && childDeviceCode == "1016") || (conveyorLine.DeviceCode == "1005" && childDeviceCode == "1048"))
-            //{
-            //    await CreateAndSendEmptyTrayTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
-            //}
-            //else if ((conveyorLine.DeviceCode == "1001" && childDeviceCode == "1088") || (conveyorLine.DeviceCode == "1004" && childDeviceCode == "1339"))
-            //{
-            //    await RequestWmsTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
-            //}
-            //else if ((conveyorLine.DeviceCode == "1001" && childDeviceCode == "1068"))
-            //{
-            //    ConveyorLineOutFinish(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
-            //}
         }
 
         /// <summary>
@@ -100,6 +89,10 @@
         {
             // 浣跨敤姝e垯琛ㄨ揪寮忓尮閰嶇被浼� -鏁板瓧 鐨勬ā寮忥紝骞舵浛鎹负绌哄瓧绗︿覆
             task.NextAddress = Regex.Replace(task.NextAddress, @"-(\d+)", "");
+            if (Convert.ToInt32(task.NextAddress) > 1999)
+            {
+                task.NextAddress = (Convert.ToInt32(task.NextAddress) - 1000).ToString();
+            }
             var comm = _mapper.Map<ConveyorLineTaskCommand>(task);
             comm.InteractiveSignal = command.InteractiveSignal;
             return comm;
@@ -216,16 +209,41 @@
                 var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
                 if (task != null)
                 {
-                    //var taskCommand = MapTaskCommand(task, command);
-                    var next = task.NextAddress;
-                    var taskCommand = MapTaskCommand(task, command);
-                    task.NextAddress = next;
+                    var value = _sys_ConfigService.GetByConfigKey(CateGoryConst.CONFIG_SYS_InStation, SysConfigKeyConst.JZNGInBoundStation).ConfigValue;
+                    var valueList = value.Split(',').ToList();
+                    if (valueList.Contains(task.SourceAddress))
+                    {
+                        conveyorLine.SetValue(ConveyorLineDBName.WriteConveyorLineTargetAddress, "1000", childDeviceCode);
 
-                    ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�(鏄儢),涓嬩竴鐩爣鍦板潃銆恵taskCommand.TargetAddress}銆�");
+                        ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵task.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵task.PalletCode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�(瀹炵洏),涓嬩竴鐩爣鍦板潃銆恵1000}銆�");
+                        ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
+                    }
+                    else if (task.TargetAddress == "1020-1")
+                    {
+                        var next = task.NextAddress;
+                        var taskCommand = MapTaskCommand(task, command);
+                        task.NextAddress = next;
+                        ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�(瀹炵洏),涓嬩竴鐩爣鍦板潃銆恵taskCommand.TargetAddress}銆�");
 
-                    conveyorLine.SendCommand(taskCommand, childDeviceCode);
-                    ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
-                    _taskService.UpdateTaskStatusToNext(task);
+                        conveyorLine.SendCommand(taskCommand, childDeviceCode);
+                        ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
+
+                        var taskHty = task.Adapt<Dt_Task_Hty>();
+                        _task_HtyRepository.AddData(taskHty);
+                        _taskService.DeleteData(task);
+                    }
+                    else
+                    {
+                        var next = task.NextAddress;
+                        var taskCommand = MapTaskCommand(task, command);
+                        task.NextAddress = next;
+
+                        ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�(瀹炵洏),涓嬩竴鐩爣鍦板潃銆恵taskCommand.TargetAddress}銆�");
+
+                        conveyorLine.SendCommand(taskCommand, childDeviceCode);
+                        ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
+                        _taskService.UpdateTaskStatusToNext(task);
+                    }
                 }
             }
             else

--
Gitblit v1.9.3