From 787cc88bd5655c701299f24a5779a908e51eeb0d Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期日, 06 七月 2025 13:01:59 +0800 Subject: [PATCH] 1 --- Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs | 115 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 79 insertions(+), 36 deletions(-) diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs index b6b2846..8338a0c 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs @@ -133,7 +133,7 @@ } } - if (childDeviceCode == "1670"||childDeviceCode=="1666"||childDeviceCode=="1548"||childDeviceCode=="1448") + if (childDeviceCode == "1670" || childDeviceCode == "1666" || childDeviceCode == "1548" || childDeviceCode == "1448") { Platform platform = _platFormRepository.QueryFirst(x => x.DeviceCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active"); if (platform != null) @@ -212,7 +212,7 @@ else { var GWTask = _taskRepository.QueryData(x => x.Roadway.Contains("GWSC2") && x.SourceAddress == "1039" && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskInStatusEnum.Line_InFinish)).ToList(); - if (GWTask.Count >= 2 && childDeviceCode == "1039"&& task.Roadway.Contains("GWSC2")) + if (GWTask.Count >= 2 && childDeviceCode == "1039" && task.Roadway.Contains("GWSC2")) { ConsoleHelper.WriteErrorLine($"鎵樼洏鍙凤細銆恵command.ConveyorLineBarcode}銆戦珮娓╀簩宸插瓨鍦ㄣ�恵GWTask.Count}銆戜釜浠诲姟澶т簬2涓换鍔′笉鍙笅鍙�"); return; @@ -220,10 +220,12 @@ ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(task); //conveyorLine.SendCommand(taskCommand, childDeviceCode); - SendCommand(taskCommand, conveyorLine, childDeviceCode); - - conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode); - _taskService.UpdateTaskStatusToNext(task); + bool sendFlag = SendCommand(taskCommand, conveyorLine, childDeviceCode); + if (sendFlag) + { + conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode); + _taskService.UpdateTaskStatusToNext(task); + } } } catch (Exception ex) @@ -255,10 +257,12 @@ ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(newTask); //conveyorLine.SendCommand(taskCommand, childDeviceCode); - SendCommand(taskCommand, conveyorLine, childDeviceCode); - - conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode); - _taskService.UpdateData(newTask); + bool sendFlag = SendCommand(taskCommand, conveyorLine, childDeviceCode); + if (sendFlag) + { + conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode); + _taskService.UpdateData(newTask); + } } } } @@ -279,7 +283,7 @@ if (content.Status) { - conveyorLine.SetValue(ConveyorLineDBName_After.ResponState,Convert.ToInt16(1), childDeviceCode); + conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode); } Console.Out.WriteLine(content.Serialize()); @@ -301,14 +305,16 @@ ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(task); //conveyorLine.SendCommand(taskCommand, childDeviceCode); - SendCommand(taskCommand, conveyorLine, childDeviceCode); - - conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode); - - _taskService.UpdateTaskStatusToNext(task); - if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray) + bool sendFlag = SendCommand(taskCommand, conveyorLine, childDeviceCode); + if (sendFlag) { + conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode); + _taskService.UpdateTaskStatusToNext(task); + if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray) + { + _taskService.UpdateTaskStatusToNext(task); + } } } } @@ -358,10 +364,12 @@ ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(newTask); //conveyorLine.SendCommand(taskCommand, childDeviceCode); - SendCommand(taskCommand, conveyorLine, childDeviceCode); - - conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode); - _taskService.UpdateData(newTask); + bool sendFlag = SendCommand(taskCommand, conveyorLine, childDeviceCode); + if (sendFlag) + { + conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode); + _taskService.UpdateData(newTask); + } } } else @@ -370,10 +378,12 @@ taskCommand.ConveyorLineTargetAddress = Convert.ToInt16(stationManager.stationNGChildCode); //conveyorLine.SendCommand(taskCommand, childDeviceCode); - SendCommand(taskCommand, conveyorLine, childDeviceCode); - - conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode); - _taskService.UpdateTaskStatusToNext(task); + bool sendFlag = SendCommand(taskCommand, conveyorLine, childDeviceCode); + if (sendFlag) + { + conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode); + _taskService.UpdateTaskStatusToNext(task); + } } } } @@ -421,9 +431,12 @@ } //conveyorLine.SendCommand(taskCommand, childDeviceCode); - SendCommand(taskCommand, conveyorLine, childDeviceCode); - conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode); - content = _taskService.UpdateTaskStatusToNext(task); + bool sendFlag = SendCommand(taskCommand, conveyorLine, childDeviceCode); + if (sendFlag) + { + conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode); + content = _taskService.UpdateTaskStatusToNext(task); + } } else { @@ -455,11 +468,15 @@ } //conveyorLine.SendCommand(taskCommand, childDeviceCode); - SendCommand(taskCommand, conveyorLine, childDeviceCode); - conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode); - taskNext.ExceptionMessage = log; - content = _taskService.UpdateTaskStatusToNext(taskNext); + bool sendFlag = SendCommand(taskCommand, conveyorLine, childDeviceCode); + if (sendFlag) + { + conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, Convert.ToInt16(1), childDeviceCode); + + taskNext.ExceptionMessage = log; + content = _taskService.UpdateTaskStatusToNext(taskNext); + } } } } @@ -543,15 +560,41 @@ return content; } - public void SendCommand(ConveyorLineTaskCommand_After taskCommand, CommonConveyorLine_GW conveyorLine, string childDeviceCode) + public bool SendCommand(ConveyorLineTaskCommand_After taskCommand, CommonConveyorLine_GW conveyorLine, string childDeviceCode) { - conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, taskCommand.ConveyorLineTargetAddress, childDeviceCode); + conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, Convert.ToInt16(taskCommand.ConveyorLineTargetAddress), childDeviceCode); Thread.Sleep(100); - conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineBarcode, taskCommand.ConveyorLineBarcode, childDeviceCode); + conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineBarcode, taskCommand.ConveyorLineBarcode, childDeviceCode); Thread.Sleep(100); conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTaskNum, taskCommand.ConveyorLineTaskNum, childDeviceCode); + for (int i = 0; i < 6; i++) + { + ConveyorLineTaskCommand_After command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand_After>(childDeviceCode); + if (command != null) + { + if (command.ConveyorLineBarcode == taskCommand.ConveyorLineBarcode && command.ConveyorLineTaskNum == taskCommand.ConveyorLineTaskNum && command.ConveyorLineTargetAddress == taskCommand.ConveyorLineTargetAddress) + { + return true; + } + if (command.ConveyorLineTargetAddress != taskCommand.ConveyorLineTargetAddress) + { + conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, Convert.ToInt16(taskCommand.ConveyorLineTargetAddress), childDeviceCode); + Thread.Sleep(100); + } + if (command.ConveyorLineBarcode != taskCommand.ConveyorLineBarcode) + { + conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineBarcode, taskCommand.ConveyorLineBarcode, childDeviceCode); + Thread.Sleep(100); + } + if (command.ConveyorLineTaskNum != taskCommand.ConveyorLineTaskNum) + { + conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTaskNum, taskCommand.ConveyorLineTaskNum, childDeviceCode); Thread.Sleep(100); + } + + } + } + return false; } } } - #endregion \ No newline at end of file -- Gitblit v1.9.3