From 3dedd7d65f61d09a1117e2586dd71b9e433e6b8b Mon Sep 17 00:00:00 2001
From: 陈勇 <chenyong@hnkhzn.com>
Date: 星期一, 18 十一月 2024 18:49:00 +0800
Subject: [PATCH] 优化结构

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs |  343 ++++++++++++++++++++-------------------------------------
 1 files changed, 120 insertions(+), 223 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
index 16dccc6..246cca2 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
@@ -1,33 +1,16 @@
-锘�#region << 鐗� 鏈� 娉� 閲� >>
-
-/*----------------------------------------------------------------
- * 鍛藉悕绌洪棿锛歐IDESEAWCS_Tasks.ConveyorLineJob
- * 鍒涘缓鑰咃細鑳$搴�
- * 鍒涘缓鏃堕棿锛�2024/8/2 16:13:36
- * 鐗堟湰锛歏1.0.0
- * 鎻忚堪锛�
- *
- * ----------------------------------------------------------------
- * 淇敼浜猴細
- * 淇敼鏃堕棿锛�
- * 鐗堟湰锛歏1.0.1
- * 淇敼璇存槑锛�
- *
- *----------------------------------------------------------------*/
-
-#endregion << 鐗� 鏈� 娉� 閲� >>
-
-using AutoMapper;
+锘縰sing AutoMapper;
 using HslCommunication;
 using Newtonsoft.Json;
 using Quartz;
 using SqlSugar;
 using System.Reflection;
+using WIDESEAWCS_Common;
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_DTO.TaskInfo;
 using WIDESEAWCS_IProcessRepository;
+using WIDESEAWCS_ISystemServices;
 using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
@@ -47,9 +30,10 @@
         private readonly ITaskExecuteDetailService _taskExecuteDetailService;
         private readonly IRouterService _routerService;
         private readonly IPlatFormRepository _platFormRepository;
+        private readonly ISys_ConfigService _sys_ConfigService;
         private readonly IMapper _mapper;
 
-        public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository)
+        public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService)
         {
             _taskService = taskService;
             _taskExecuteDetailService = taskExecuteDetailService;
@@ -57,9 +41,10 @@
             _mapper = mapper;
             _taskRepository = taskRepository;
             _platFormRepository = platFormRepository;
+            _sys_ConfigService = sys_ConfigService;
         }
 
-        public Task Execute(IJobExecutionContext context)
+        public async Task Execute(IJobExecutionContext context)
         {
             try
             {
@@ -67,89 +52,9 @@
                 if (conveyorLine != null)
                 {
                     List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
-                    List<Task> tasks = new List<Task>();
                     foreach (string childDeviceCode in childDeviceCodes)
                     {
-                        //Task task = Task.Run(() =>
-                        //{
-                        ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
-                        ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
-                        if (command != null && commandWrite != null)
-                        {
-                            var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
-
-                            List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
-
-                            if (deviceProtocolDetails != null)
-                            {
-                                foreach (var item in deviceProtocolDetails)
-                                {
-                                    var outDeviceCodes = _routerService.QueryOutDeviceCodes(conveyorLine.DeviceCode);
-                                    if (structs[item.ProtocalDetailValue.ObjToInt()] == true)
-                                    {
-                                        MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
-                                        if (method != null)
-                                        {
-                                            command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
-                                            method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, item.ProtocalDetailValue.ObjToInt() });
-                                        }
-                                    }
-                                    else
-                                    {
-                                        DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                                        string[] x = devicePro.DeviceProAddress.Split('.');
-                                        x[x.Length - 1] = (item.ProtocalDetailValue.ObjToInt() + 1).ToString();
-                                        string DeviceProAddress = string.Join(".", x);
-                                        var writeRead = conveyorLine.Communicator.Read<bool>(DeviceProAddress);
-                                        if (writeRead)
-                                        {
-                                            ConveyorLineSendFinish(conveyorLine, childDeviceCode, item.ProtocalDetailValue.ObjToInt(), false);
-                                        }
-                                    }
-                                }
-                            }
-
-                            Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
-                            if (platform != null)
-                            {
-                                if (command.InteractiveSignal != 2)
-                                {
-                                    MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
-                                    if (method != null)
-                                    {
-                                        command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
-                                        int count = string.IsNullOrEmpty(platform.Location) ? 0 + 1 : platform.Location.Split(',').Count() + 1;
-                                        method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
-                                    }
-                                }
-                                else
-                                {
-                                    if (!string.IsNullOrEmpty(platform.Location))
-                                    {
-                                        var strings = platform.Location.Split(',').ToList();
-                                        foreach (var ite in strings)
-                                        {
-                                            int index = strings.FindIndex(p => p == ite);
-                                            ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
-                                            if (command1.InteractiveSignal != 2)
-                                            {
-                                                MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
-                                                if (method != null)
-                                                {
-                                                    command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
-                                                    int count = strings.Count - index;
-                                                    method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
-                                                }
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                        //});
-
-                        //tasks.Add(task);
-                        Task.WaitAll(tasks.ToArray());
+                        await ProcessDeviceAsync(conveyorLine, childDeviceCode);
                     }
                 }
             }
@@ -157,13 +62,84 @@
             {
                 Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
             }
-            finally
-            {
-                //WriteDebug("CommonConveyorLineJob", "test");
-                //Console.Out.WriteLine(DateTime.Now);
-            }
+        }
 
-            return Task.CompletedTask;
+        private async Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
+        {
+            ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
+            ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
+            if (command != null && commandWrite != null)
+            {
+                var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
+
+                List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
+
+                if (deviceProtocolDetails != null)
+                {
+                    foreach (var item in deviceProtocolDetails)
+                    {
+                        var outDeviceCodes = _routerService.QueryOutDeviceCodes(conveyorLine.DeviceCode);
+                        if (structs[item.ProtocalDetailValue.ObjToInt()] == true)
+                        {
+                            MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
+                            if (method != null)
+                            {
+                                command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
+                                method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, item.ProtocalDetailValue.ObjToInt() });
+                            }
+                        }
+                        else
+                        {
+                            DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+                            string[] x = devicePro.DeviceProAddress.Split('.');
+                            x[x.Length - 1] = (item.ProtocalDetailValue.ObjToInt() + 1).ToString();
+                            string DeviceProAddress = string.Join(".", x);
+                            var writeRead = conveyorLine.Communicator.Read<bool>(DeviceProAddress);
+                            if (writeRead)
+                            {
+                                ConveyorLineSendFinish(conveyorLine, childDeviceCode, item.ProtocalDetailValue.ObjToInt(), false);
+                            }
+                        }
+                    }
+                }
+
+                Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
+                if (platform != null)
+                {
+                    if (command.InteractiveSignal != 2)
+                    {
+                        MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
+                        if (method != null)
+                        {
+                            command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
+                            int count = string.IsNullOrEmpty(platform.Location) ? 0 + 1 : platform.Location.Split(',').Count() + 1;
+                            method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
+                        }
+                    }
+                    else
+                    {
+                        if (!string.IsNullOrEmpty(platform.Location))
+                        {
+                            var strings = platform.Location.Split(',').ToList();
+                            foreach (var ite in strings)
+                            {
+                                int index = strings.FindIndex(p => p == ite);
+                                ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
+                                if (command1.InteractiveSignal != 2)
+                                {
+                                    MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
+                                    if (method != null)
+                                    {
+                                        command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
+                                        int count = strings.Count - index;
+                                        method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
         }
 
         /// <summary>
@@ -177,14 +153,9 @@
         {
             try
             {
-                // 鑾峰彇涓嬩竴涓换鍔�
                 var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
-                //var taskOut = _taskService.QueryNextConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
-                //return;
-                // 澶勭悊鍑哄簱浠诲姟
                 HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
 
-                // 濡傛灉娌℃湁鍑哄簱浠诲姟锛屽鐞嗘柊浠诲姟
                 if (task == null && command.Barcode != "NoRead")
                 {
                     HandleNewTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
@@ -192,28 +163,7 @@
             }
             catch (Exception ex)
             {
-                return;
-            }
-        }
-
-        /// <summary>
-        /// 杈撻�佺嚎璇锋眰鍏ュ簱涓嬩竴鍦板潃
-        /// </summary>
-        /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
-        /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
-        /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-        public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
-        {
-            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
-            if (task != null)
-            {
-                Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
-                if (newTask != null)
-                {
-                    ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
-                    taskCommand.InteractiveSignal = command.InteractiveSignal;
-                    conveyorLine.SendCommand(taskCommand, childDeviceCode);
-                }
+                Console.Out.WriteLine(ex.ToString());
             }
         }
 
@@ -226,12 +176,11 @@
         /// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
         public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
         {
-            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
+            var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
             if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
             {
                 ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
 
-                //conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, 0, childDeviceCode);
                 WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
 
                 Console.Out.WriteLine(content.Serialize());
@@ -247,7 +196,7 @@
         /// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
         public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
         {
-            Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
+            var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
             if (task != null)
             {
                 ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task);
@@ -258,28 +207,6 @@
                 _taskService.UpdateTaskStatusToNext(task);
             }
         }
-
-        /// <summary>
-        /// 杈撻�佺嚎璇锋眰鍑哄簱涓嬩竴鍦板潃
-        /// </summary>
-        /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
-        /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
-        /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-        public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
-        {
-            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
-            if (task != null)
-            {
-                Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
-                if (newTask != null)
-                {
-                    ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
-                    taskCommand.InteractiveSignal = command.InteractiveSignal;
-                    conveyorLine.SendCommand(taskCommand, childDeviceCode);
-                }
-            }
-        }
-
         /// <summary>
         /// 杈撻�佺嚎鍑哄簱瀹屾垚
         /// </summary>
@@ -288,7 +215,7 @@
         /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
         public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
         {
-            Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
+            var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
             if (task != null)
             {
                 WebResponseContent content = new WebResponseContent();
@@ -304,16 +231,30 @@
                     taskCommand.TargetAddress = 0;
                 }
 
-
                 conveyorLine.SendCommand(taskCommand, childDeviceCode);
                 ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
                 content = _taskService.UpdateTaskStatusToNext(task);
             }
         }
 
+        /// <summary>
+        /// 杈撻�佺嚎浜や簰瀹屾垚
+        /// </summary>
+        /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
+        /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
+        /// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
+        /// <param name="value">鍊�</param>
+        public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
+        {
+            DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+            string[] x = devicePro.DeviceProAddress.Split('.');
+            x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
+            string DeviceProAddress = string.Join(".", x);
+            conveyorLine.Communicator.Write(DeviceProAddress, value);
+        }
 
         /// <summary>
-        /// 闄堝寲绌烘墭鐩樺嚭搴�
+        /// 鐩戞祴绌烘墭鐩樺疄鐩樺嚭搴�
         /// </summary>
         /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
         /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
@@ -332,45 +273,8 @@
             }
             catch (Exception)
             {
-
             }
         }
-
-        #region
-        ///// <summary>
-        ///// 闄堝寲瀹炵洏鍑哄簱)
-        ///// </summary>
-        ///// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
-        ///// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
-        ///// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-        ///// <param name="index">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
-        //public void ChuanhuaOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
-        //{
-        //    CheckAndCreateTask(TaskOutboundTypeEnum.Outbound, childDeviceCode, "CHSC01", "001-001-001");
-        //}
-
-        ///// 闈欑疆绌烘墭鐩樺嚭搴�
-        ///// </summary>
-        ///// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
-        ///// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
-        ///// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-        ///// <param name="index">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
-        //public void EmptyTrayOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index)
-        //{
-        //    CheckAndCreateTask(TaskOutboundTypeEnum.OutTray, childDeviceCode, index, "JZSC01", "002-020-001");
-        //}
-        ///// <summary>
-        ///// 闈欑疆瀹炵洏鍑哄簱
-        ///// </summary>
-        ///// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
-        ///// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
-        ///// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-        ///// <param name="index">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
-        //public void JingzhiOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index)
-        //{
-        //    CheckAndCreateTask(TaskOutboundTypeEnum.Outbound, childDeviceCode, index, "JZSC01", "002-000-001");
-        //}
-        #endregion
 
         /// <summary>
         /// 妫�鏌ヤ换鍔″苟鍒涘缓鏂颁换鍔�
@@ -381,15 +285,22 @@
             if (tasks.Count < index)
             {
                 #region 璋冪敤WMS鑾峰彇鍑哄簱浠诲姟
+
                 WMSTaskDTO taskDTO = new WMSTaskDTO();
-                object dynamic = new
+
+                // 鑾峰彇WMSip鍦板潃
+                var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+                var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+                var requestTrayOutTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayOutTask)?.ConfigValue;
+                if (wmsBase == null || requestTrayOutTask == null)
                 {
-                    position = childDeviceCode,
-                    tag = (int)taskType,
-                    areaCdoe = roadWay,
-                    roadways = roadways
-                };
-                var result = await HttpHelper.PostAsync("http://localhost:5000/api/Task/RequestTrayOutTaskAsync", dynamic.ToJsonString());
+                    throw new InvalidOperationException("WMS IP 鏈厤缃�");
+                }
+                var wmsIpAddress = wmsBase + requestTrayOutTask;
+
+
+                var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, roadways = roadways }.ToJsonString());
+                //var result = await HttpHelper.PostAsync("http://localhost:5000/api/Task/RequestTrayOutTaskAsync", dynamic.ToJsonString());
 
                 WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
 
@@ -398,6 +309,7 @@
                     return;
 
                 taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
+
                 #endregion
 
                 CreateAndSendTask(taskDTO);
@@ -415,21 +327,6 @@
                 Console.WriteLine($"{taskDTO.TaskType}鍛煎彨鎴愬姛");
             }
             return content;
-        }
-        /// <summary>
-        /// 杈撻�佺嚎浜や簰瀹屾垚
-        /// </summary>
-        /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
-        /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-        /// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
-        /// <param name="value">鍊�</param>
-        public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
-        {
-            DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-            string[] x = devicePro.DeviceProAddress.Split('.');
-            x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
-            string DeviceProAddress = string.Join(".", x);
-            conveyorLine.Communicator.Write(DeviceProAddress, value);
         }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3