wanshenmean
2025-03-27 48fce55ab5d11a1821ab640742153425d594709c
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
@@ -1,6 +1,8 @@
using HslCommunication;
using Mapster;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using Microsoft.CodeAnalysis;
using Microsoft.VisualBasic;
using Newtonsoft.Json;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
@@ -171,7 +173,7 @@
                        RoadWay = childDeviceCode,
                        SourceAddress = childDeviceCode,
                        TargetAddress = isTrue,
                        TaskState = (int)TaskOutStatusEnum.OutNew,
                        TaskState = (int)TaskOutStatusEnum.SC_OutFinish,
                        Id = 0,
                        TaskType = (int)TaskOutboundTypeEnum.TrayInToOut,
                        ProductionLine = result.ProductionLine,
@@ -400,7 +402,6 @@
            #endregion
        }
        /// <summary>
        /// 成化入静置
        /// </summary>
@@ -413,7 +414,12 @@
        /// <exception cref="InvalidOperationException"></exception>
        private async Task JZRequestInBound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, Dt_StationManager stationManager)
        {
            ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode);
            ResultTrayCellsStatus resultTrayCellsStatus = GetResultTrayCellsStatus(command, stationManager);
            //todo判断是否为空框
            var serialNosError = resultTrayCellsStatus.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList();
            if (serialNosError.Count > 0)
@@ -431,7 +437,7 @@
                ConsoleHelper.WriteSuccessLine($"MOM数据异常,送至二封【{resultTrayCellsStatus.ProductionLine}】异常口【{Convert.ToInt32(platform.Capacity)}】");
                return;
            }
            if (resultTrayCellsStatus.SerialNos.Count < 0)
            if (resultTrayCellsStatus.SerialNos.Count == 0)
            {
                var Traycontent = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode);
                if (Traycontent.Status)
@@ -445,13 +451,13 @@
            {
                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.GetJZStockInfo).FirstOrDefault()?.ConfigValue;
                var address = configz.Where(x => x.ConfigKey == SysConfigKeyConst.QueryStockInfoForRealTrayJZAsync).FirstOrDefault()?.ConfigValue;
                if (wmsbase == null || address == null)
                {
                    throw new InvalidOperationException("WMS IP 未配置");
                }
                var wmsIpAddrss = wmsbase + address;
                var result = await HttpHelper.PostAsync(wmsIpAddrss);
                var result = await HttpHelper.PostAsync(wmsIpAddrss, new { ProductLine = resultTrayCellsStatus.ProductionLine }.ToJsonString());
                var StockInfocontent = JsonConvert.DeserializeObject<WebResponseContent>(result);
                if (StockInfocontent.Status)
                {
@@ -482,12 +488,19 @@
                        }
                        else
                        {
                            ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode);
                            var Task = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode);
                            if (Task.Status)
                            {
                                ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode);
                            }
                            return;
                        }
                    }
                    else
                    {
                        WriteInfo(conveyorLine.DeviceName, Taskcontent.Message);
                        return;
                    }
                }
                else
                {
@@ -531,6 +544,11 @@
                    }
                    else
                    {
                        var Task = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode);
                        if (Task.Status)
                        {
                            ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode);
                        }
                        ConsoleHelper.WriteWarningLine("二封缓存位已满");
                        return;
                    }