From 2ef99428f9be29ec299029782edb97baef88e126 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期三, 18 三月 2026 14:19:20 +0800
Subject: [PATCH] feat: 完成WCS/WMS任务链路与设备调度改造

---
 Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs |   28 ++++++++++++++++------------
 1 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs
index 6dc2ef3..048b49a 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs
@@ -17,7 +17,7 @@
 
 #endregion << 鐗� 鏈� 娉� 閲� >>
 
-using AutoMapper;
+using MapsterMapper;
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.Helper;
@@ -86,17 +86,14 @@
             {
                 return;
             }
-
-            _targetAddressSelector.HandleInboundNextAddress(conveyorLine, task.NextAddress, childDeviceCode);
-
-            Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
-            if (newTask != null)
+            if (task.TaskType != (int)TaskOutboundTypeEnum.OutEmpty)
             {
-                if (_taskService.UpdateTaskStatusToNext(newTask).Status && newTask.TaskState == (int)TaskInStatusEnum.Line_InFinish)
-                {
-                    conveyorLine.SetValue(ConveyorLineDBNameNew.WCS_STB, 1, childDeviceCode);
-                }
+                _targetAddressSelector.HandleInboundNextAddress(conveyorLine, task.NextAddress, childDeviceCode);
             }
+
+            _ = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
+
+            conveyorLine.SetValue(ConveyorLineDBNameNew.WCS_STB, 1, childDeviceCode);
         }
 
         /// <summary>
@@ -123,7 +120,7 @@
             {
                 conveyorLine.SetValue(ConveyorLineDBNameNew.TaskNo, task.TaskNum, childDeviceCode);
                 conveyorLine.SetValue(ConveyorLineDBNameNew.Barcode, task.PalletCode, childDeviceCode);
-                conveyorLine.SetValue(ConveyorLineDBNameNew.Target, task.TargetAddress, childDeviceCode);
+                conveyorLine.SetValue(ConveyorLineDBNameNew.Target, task.NextAddress, childDeviceCode);
                 conveyorLine.SetValue(ConveyorLineDBNameNew.WCS_ACK, 1, childDeviceCode);
 
                 _taskService.UpdateTaskStatusToNext(task);
@@ -141,9 +138,15 @@
                 return;
             }
 
-            _targetAddressSelector.HandleOutboundNextAddress(conveyorLine, task.NextAddress, childDeviceCode);
+            if (task.TaskType != (int)TaskOutboundTypeEnum.OutEmpty)
+            {
+                _targetAddressSelector.HandleOutboundNextAddress(conveyorLine, task.NextAddress, childDeviceCode);
+            }
 
             _ = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
+
+
+            conveyorLine.SetValue(ConveyorLineDBNameNew.WCS_ACK, 1, childDeviceCode);
         }
 
         /// <summary>
@@ -161,3 +164,4 @@
         }
     }
 }
+

--
Gitblit v1.9.3