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