From a69e77a76599e133961e9ff1921773a131577d17 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期一, 14 十月 2024 14:12:38 +0800
Subject: [PATCH] WCS

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs |   91 +++++++++++++++++----------------------------
 1 files changed, 34 insertions(+), 57 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
index 3d151de..d46c554 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
@@ -22,7 +22,6 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Reflection;
-using System.Reflection.Metadata;
 using System.Text;
 using System.Threading.Tasks;
 using WIDESEAWCS_Core;
@@ -30,10 +29,8 @@
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.ConveyorLine.Enum;
 using WIDESEAWCS_QuartzJob.DTO;
 using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_Tasks.ConveyorLineExtend;
 using WIDESEAWCS_Tasks.ConveyorLineJob;
 
 namespace WIDESEAWCS_Tasks
@@ -68,44 +65,23 @@
                     {
                         //Task task = Task.Run(() =>
                         //{
-                        ConveyorLineTaskCommandR command = conveyorLine.ReadCustomer<ConveyorLineTaskCommandR>(childDeviceCode);
-                        if (command != null && command.ConveyorLineStatus == (ushort)ConveyorLineStatus.Stored)
-                        {
-                            switch (childDeviceCode)
+                            ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
+                            if (command != null)
                             {
-                                case "102":
-                                    RequestInbound(conveyorLine, command, childDeviceCode);
-                                    break;
-                                case "104":
-                                    ConveyorLineInFinish(conveyorLine, command, childDeviceCode);
-                                    break;
-                                case "105":
-                                    RequestOutbound(conveyorLine, command, childDeviceCode);
-                                    break;
-                                case "108":
-                                    ConveyorLineOutFinish(conveyorLine, command, childDeviceCode);
-                                    break; 
-                                default:
-                                    RequestInNextAddress(conveyorLine, command, childDeviceCode);
-                                    RequestOutNextAddress(conveyorLine, command, childDeviceCode);
-                                    break;
+                                DeviceProtocolDetailDTO? deviceProtocolDetail = conveyorLine.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.ProtocalDetailValue == command.InteractiveSignal.ToString() && x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal));
+                                if (deviceProtocolDetail != null)
+                                {
+                                    MethodInfo? method = GetType().GetMethod(deviceProtocolDetail.ProtocolDetailType);
+                                    if (method != null)
+                                    {
+                                        method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode });
+                                    }
+                                    else
+                                    {
+                                        //todo 鏈壘鍒版柟娉曟椂
+                                    }
+                                }
                             }
-                            #region 鏍规嵁涓嶅悓鐨勫�艰皟鐢ㄥ搴旂殑鏂规硶
-                            //DeviceProtocolDetailDTO? deviceProtocolDetail = conveyorLine.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.ProtocalDetailValue == command.ConveyorLineStatus.ToString() && x.DeviceProParamName == nameof(ConveyorLineTaskCommandR.ConveyorLineStatus));
-                            //if (deviceProtocolDetail != null)
-                            //{
-                            //    MethodInfo? method = GetType().GetMethod(deviceProtocolDetail.ProtocolDetailType);
-                            //    if (method != null)
-                            //    {
-                            //        method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode });
-                            //    }
-                            //    else
-                            //    {
-                            //        //todo 鏈壘鍒版柟娉曟椂
-                            //    }
-                            //}
-                            #endregion
-                        }
                         //});
                         //tasks.Add(task);
                     }
@@ -131,14 +107,15 @@
         /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
         /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
         /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-        public void RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommandR command, string childDeviceCode)
+        public void RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command,string childDeviceCode)
         {
-            if (_taskService.RequestWMSTask(command.ConveyorLineBarcode, childDeviceCode).Status)
+            if (_taskService.RequestWMSTask(command.Barcode, childDeviceCode).Status)
             {
                 Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
                 if (task != null)
                 {
-                    ConveyorLineTaskCommandW taskCommand = _mapper.Map<ConveyorLineTaskCommandW>(task);
+                    ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task);
+                    taskCommand.InteractiveSignal = command.InteractiveSignal;
                     conveyorLine.SendCommand(taskCommand, childDeviceCode);
 
                     _taskService.UpdateTaskStatusToNext(task);
@@ -152,16 +129,16 @@
         /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
         /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
         /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-        public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommandR command, string childDeviceCode)
+        public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
         {
-            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.WriteConveyorLineTaskNum, childDeviceCode);
+            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
             if (task != null)
             {
                 Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
                 if (newTask != null)
                 {
-                    ConveyorLineTaskCommandW taskCommand = _mapper.Map<ConveyorLineTaskCommandW>(newTask);
-                    //taskCommand.ConveyorLineStatus = command.ConveyorLineStatus;
+                    ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
+                    taskCommand.InteractiveSignal = command.InteractiveSignal;
                     conveyorLine.SendCommand(taskCommand, childDeviceCode);
                 }
             }
@@ -173,9 +150,9 @@
         /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
         /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
         /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-        public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommandR command, string childDeviceCode)
+        public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
         {
-            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.WriteConveyorLineTaskNum, childDeviceCode);
+            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
             if (task != null)
             {
                 conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, 0, childDeviceCode);
@@ -190,13 +167,13 @@
         /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
         /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
         /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-        public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommandR command, string childDeviceCode)
+        public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
         {
             Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
             if (task != null)
             {
-                ConveyorLineTaskCommandW taskCommand = _mapper.Map<ConveyorLineTaskCommandW>(task);
-                //taskCommand.ConveyorLineStatus = command.ConveyorLineStatus;
+                ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task);
+                taskCommand.InteractiveSignal = command.InteractiveSignal;
                 conveyorLine.SendCommand(taskCommand, childDeviceCode);
 
                 _taskService.UpdateTaskStatusToNext(task);
@@ -209,16 +186,16 @@
         /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
         /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
         /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-        public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommandR command, string childDeviceCode)
+        public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
         {
-            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.WriteConveyorLineTaskNum, childDeviceCode);
+            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
             if (task != null)
             {
                 Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
                 if (newTask != null)
                 {
-                    ConveyorLineTaskCommandW taskCommand = _mapper.Map<ConveyorLineTaskCommandW>(newTask);
-                    //taskCommand.ConveyorLineStatus = command.ConveyorLineStatus;
+                    ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
+                    taskCommand.InteractiveSignal = command.InteractiveSignal;
                     conveyorLine.SendCommand(taskCommand, childDeviceCode);
                 }
             }
@@ -230,9 +207,9 @@
         /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
         /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
         /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-        public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommandR command, string childDeviceCode)
+        public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
         {
-            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.WriteConveyorLineTaskNum, childDeviceCode);
+            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
             if (task != null)
             {
                 conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, 0, childDeviceCode);

--
Gitblit v1.9.3