huangxiaoqiang
2025-03-25 95e4c26be20829d7fe5e46e12b4d879ceb48c468
优化二封入料逻辑
已修改1个文件
30 ■■■■ 文件已修改
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
@@ -406,12 +406,27 @@
            var serialNosError = resultTrayCellsStatus.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList();
            if (serialNosError.Count > 0)
            {
                //空框逻辑
                //NG流程
                var platform = _platFormRepository.QueryFirst(x => x.ProductionLine == resultTrayCellsStatus.ProductionLine);
                ConveyorLineTaskCommand conveyorLineTaskCommand = new ConveyorLineTaskCommand()
                {
                    TaskNum = 1,
                    TargetAddress=Convert.ToInt32( platform.Capacity),
                    Barcode= resultTrayCellsStatus.TrayBarcode,
                };
                conveyorLine.SendCommand(conveyorLineTaskCommand, childDeviceCode);
                ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
                ConsoleHelper.WriteSuccessLine($"MOM数据异常,送至二封【{resultTrayCellsStatus.ProductionLine}】异常口【{Convert.ToInt32(platform.Capacity)}】");
                return;
            }
            if (resultTrayCellsStatus.SerialNos.Count < 0)
            {
                var Traycontent = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode);
                if (Traycontent.Status)
                {
                    ConsoleHelper.WriteSuccessLine("化成空框请求回流静置");
                    ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode);
                    return;
                }
            }
            else
@@ -440,20 +455,23 @@
                            {
                                ConsoleHelper.WriteSuccessLine("化成实托请求入静置");
                                ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode);
                                return;
                            }
                            else
                            {
                                ConsoleHelper.WriteWarningLine("出库任务未完成");
                                return;
                            }
                        }
                        else if (task != null && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
                        {
                            ConsoleHelper.WriteWarningLine("已存在静置出库任务");
                            return;
                        }
                        else
                        {
                            ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode);
                            return;
                        }
                    }
                    else
@@ -482,7 +500,7 @@
                            RoadWay = isTrue,
                            SourceAddress = childDeviceCode,
                            TargetAddress = isTrue,
                            TaskState = (int)TaskOutStatusEnum.OutNew,
                            TaskState = (int)TaskOutStatusEnum.SC_OutFinish,
                            Id = 2,
                            TaskType = (int)TaskOutboundTypeEnum.InToOut,
                            ProductionLine = resultTrayCellsStatus.ProductionLine,
@@ -491,14 +509,18 @@
                        if (Taskcontent.Status)
                        {
                            ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode);
                            return;
                        }
                        else
                        {
                            WriteInfo(conveyorLine.DeviceName, Taskcontent.Message);
                            return;
                        }
                    }
                    else
                    {
                        ConsoleHelper.WriteWarningLine("二封缓存位已满");
                        return;
                    }
                }