From c2aaf06dab8a627948ee2e5574fe4598f8d1638f Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <1247017146@qq.com> Date: 星期日, 11 五月 2025 14:58:38 +0800 Subject: [PATCH] 1 --- CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs | 202 +++++++++++++++++++++++++++---------------------- 1 files changed, 111 insertions(+), 91 deletions(-) diff --git a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs index c70398c..940465d 100644 --- a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs +++ b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs @@ -100,11 +100,11 @@ private ConveyorLineTaskCommand MapTaskCommand(Dt_Task task, ConveyorLineTaskCommand command) { // 浣跨敤姝e垯琛ㄨ揪寮忓尮閰嶇被浼� -鏁板瓧 鐨勬ā寮忥紝骞舵浛鎹负绌哄瓧绗︿覆 - task.NextAddress = Regex.Replace(task.NextAddress, @"-(\d+)", ""); - if (Convert.ToInt32(task.NextAddress) > 1999) - { - task.NextAddress = (Convert.ToInt32(task.NextAddress) - 1000).ToString(); - } + //task.NextAddress = Regex.Replace(task.NextAddress, @"-(\d+)", ""); + //if (Convert.ToInt32(task.NextAddress) > 1999) + //{ + // task.NextAddress = (Convert.ToInt32(task.NextAddress) - 1000).ToString(); + //} var comm = _mapper.Map<ConveyorLineTaskCommand>(task); comm.InteractiveSignal = command.InteractiveSignal; return comm; @@ -200,7 +200,8 @@ var content = CreateAndSendTask(taskDTO); if (content.Status) { - var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode); + //var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode); + var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode, command.Barcode); if (task != null) { var next = task.NextAddress; @@ -285,59 +286,101 @@ /// </summary> private async Task RequestWmsTask(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, Dt_StationManager stationManager) { - string isTrue = string.Empty; - - ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); - ResultTrayCellsStatus result = GetResultTrayCellsStatus(command, stationManager); - if (result.SerialNos.Count == 0) + if (childDeviceCode == "1435") { - var Traycontent = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode); - if (Traycontent.Status) - { - ConsoleHelper.WriteSuccessLine("浜屽皝绌烘璇锋眰鍥炴祦"); - ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); - } - } + ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); - List<string> strings = stationManager.Roadway.Split(",").ToList(); - foreach (string item in strings) - { - isTrue = RequestInboundPlatform(item, result.ProductionLine, false); - if (isTrue != null) + var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList(); + + if (serialNosError.Count > 0 || !result.Success || result.SerialNos.Count == 0) { - break; + WMSTaskDTO taskDTO = new WMSTaskDTO + { + TaskNum = _taskRepository.GetTaskNo().Result, + Grade = 1, + PalletCode = command.Barcode, + RoadWay = "CHSC4", + SourceAddress = childDeviceCode, + TargetAddress = "CHSC4", + TaskState = (int)TaskInStatusEnum.InNew, + Id = 2, + TaskType = (int)TaskInboundTypeEnum.InNG, + ProductionLine = result.ProductionLine, + }; + var Taskcontent = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO }); + if (Taskcontent.Status) + { + ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); + } + ConsoleHelper.WriteSuccessLine($"銆恵stationManager.stationRemark}銆戙�恵stationManager.stationChildCode}銆憑result.MOMMessage}"); + return; } - } - if (isTrue != null && isTrue != string.Empty) - { - WMSTaskDTO taskDTO = new WMSTaskDTO + else { - TaskNum = _taskRepository.GetTaskNo().Result, - Grade = 1, - PalletCode = command.Barcode, - RoadWay = childDeviceCode, - SourceAddress = childDeviceCode, - TargetAddress = isTrue, - TaskState = (int)TaskOutStatusEnum.SC_OutFinish, - Id = 2, - TaskType = (int)TaskOutboundTypeEnum.OutTray, - ProductionLine = result.ProductionLine, - }; - var Taskcontent = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO }); - if (Taskcontent.Status) - { - ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); + var Taskcontent = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode); + if (Taskcontent.Status) + { + ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); + } } } else { - var Taskcontent = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode); - if (Taskcontent.Status) + string isTrue = string.Empty; + + ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); + + if (result.SerialNos.Count == 0) { - ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); + var Traycontent = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode); + if (Traycontent.Status) + { + ConsoleHelper.WriteSuccessLine("浜屽皝绌烘璇锋眰鍥炴祦"); + ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); + } + } + + List<string> strings = stationManager.Roadway.Split(",").ToList(); + foreach (string item in strings) + { + isTrue = RequestInboundPlatform(item, result.ProductionLine, false); + if (isTrue != null) + { + break; + } + } + if (isTrue != null && isTrue != string.Empty) + { + WMSTaskDTO taskDTO = new WMSTaskDTO + { + TaskNum = _taskRepository.GetTaskNo().Result, + Grade = 1, + PalletCode = command.Barcode, + RoadWay = childDeviceCode, + SourceAddress = childDeviceCode, + TargetAddress = isTrue, + TaskState = (int)TaskOutStatusEnum.SC_OutFinish, + Id = 2, + TaskType = (int)TaskOutboundTypeEnum.OutTray, + ProductionLine = result.ProductionLine, + }; + var Taskcontent = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO }); + if (Taskcontent.Status) + { + ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); + } + + } + else + { + var Taskcontent = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode); + if (Taskcontent.Status) + { + ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); + } } } } @@ -357,7 +400,7 @@ try { StaticVariable.isLineRun = false; - + if (StaticVariable.isStackerRun) { ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); @@ -384,6 +427,22 @@ LogAndSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, logMessage, conveyorLineTaskCommand.TargetAddress.ToString()); return; } + var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); + var wmsbase = configz.Where(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE).FirstOrDefault()?.ConfigValue; + var address = configz.Where(x => x.ConfigKey == SysConfigKeyConst.QueryLocationFreeJZ).FirstOrDefault()?.ConfigValue; + if (wmsbase == null || address == null) + { + throw new InvalidOperationException("WMS IP 鏈厤缃�"); + } + var wmsIpAddrss = wmsbase + address; + var x = await HttpHelper.PostAsync(wmsIpAddrss, new { RoadwayNo = "JZSC" }.ToJsonString()); + var LocationFree = JsonConvert.DeserializeObject<WebResponseContent>(x); + if (!LocationFree.Status) + { + ConsoleHelper.WriteErrorLine(LocationFree.Message); + return; + } + if (resultTrayCellsStatus.SerialNos.Count == 0) { var Traycontent = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode); @@ -399,14 +458,13 @@ } else { - var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); - var wmsbase = configz.Where(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE).FirstOrDefault()?.ConfigValue; - var address = configz.Where(x => x.ConfigKey == SysConfigKeyConst.QueryStockInfoForRealTrayJZAsync).FirstOrDefault()?.ConfigValue; - if (wmsbase == null || address == null) + + var QueryStockInfoForRealTrayJZ = configz.Where(x => x.ConfigKey == SysConfigKeyConst.QueryStockInfoForRealTrayJZAsync).FirstOrDefault()?.ConfigValue; + if (wmsbase == null || QueryStockInfoForRealTrayJZ == null) { throw new InvalidOperationException("WMS IP 鏈厤缃�"); } - var wmsIpAddrss = wmsbase + address; + wmsIpAddrss = wmsbase + QueryStockInfoForRealTrayJZ; var result = await HttpHelper.PostAsync(wmsIpAddrss, new { ProductLine = resultTrayCellsStatus.ProductionLine, PalletCode = command.Barcode }.ToJsonString()); var StockInfocontent = JsonConvert.DeserializeObject<WebResponseContent>(result); if (StockInfocontent.Status) @@ -419,44 +477,6 @@ { ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); } - #region - //if (task != null && task.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting && task.CurrentAddress == "1537") - //{ - // ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(stationManager.stationLocation); - - // if (command1.InteractiveSignal != 2) - // { - // ConsoleHelper.WriteSuccessLine("鍖栨垚瀹炴墭璇锋眰鍏ラ潤缃�"); - // if (StaticVariable.isStackerRun == true) - // { - // ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); - // } - // return; - // } - // else - // { - // ConsoleHelper.WriteWarningLine("鍑哄簱浠诲姟鏈畬鎴�"); - // return; - // } - //} - //else if (task != null && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting) - //{ - // ConsoleHelper.WriteWarningLine("宸插瓨鍦ㄩ潤缃嚭搴撲换鍔�"); - // return; - //} - //else - //{ - // var Task = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode); - // if (Task.Status) - // { - // if (StaticVariable.isStackerRun == true) - // { - // ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); - // } - // } - // return; - //} - #endregion } else { @@ -532,7 +552,7 @@ finally { StaticVariable.isLineRun = true; - } + } } /// <summary> -- Gitblit v1.9.3