|  |  | 
 |  |  | using Newtonsoft.Json; | 
 |  |  | using WIDESEA_Common; | 
 |  |  | using WIDESEA_Core; | 
 |  |  | using WIDESEA_Core.Const; | 
 |  |  | using WIDESEA_Core.Helper; | 
 |  |  | using WIDESEA_DTO; | 
 |  |  | using WIDESEA_IRepository; | 
 |  |  | using WIDESEA_IServices; | 
 |  |  | using WIDESEA_IStorageBasicService; | 
 |  |  | using WIDESEA_IStoragIntegrationServices; | 
 |  |  | using static Org.BouncyCastle.Math.EC.ECCurve; | 
 |  |  |  | 
 |  |  | namespace WIDESEA_StoragIntegrationServices; | 
 |  |  |  | 
 |  |  | 
 |  |  |     private readonly LogFactory LogFactory = new LogFactory(); | 
 |  |  |  | 
 |  |  |     private readonly IBoxingInfoService _boxingInfoService; | 
 |  |  |     private readonly ISys_ConfigService _configService; | 
 |  |  |  | 
 |  |  |     public CellStateService(IBoxingInfoService boxingInfoService) | 
 |  |  |     public CellStateService(IBoxingInfoService boxingInfoService, ISys_ConfigService configRepository) | 
 |  |  |     { | 
 |  |  |         _boxingInfoService = boxingInfoService; | 
 |  |  |         _configService = configRepository; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /// <summary> | 
 |  |  | 
 |  |  |             input.EmployeeNo = "MITest"; | 
 |  |  |             input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ"); | 
 |  |  |             var inputJson = input.ToDictionary(); | 
 |  |  |             var x = await HttpsClient.PostAsync("http://c24-cellmi3:12020/api/MachineIntegration/CellState", inputJson); | 
 |  |  |             var configs = _configService.GetConfigsByCategory(CateGoryConst.SYS_MOMIPAddress); | 
 |  |  |             var wmsBase = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.MOMBaseIP)?.ConfigValue; | 
 |  |  |             var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.CellState)?.ConfigValue;  | 
 |  |  |             if (wmsBase == null || ipAddress == null) | 
 |  |  |             { | 
 |  |  |                 throw new InvalidOperationException("WMS IP 未配置"); | 
 |  |  |             } | 
 |  |  |             var wmsIpAddress = wmsBase + ipAddress; | 
 |  |  |  | 
 |  |  |             var result = HttpsClient.PostAsync(wmsIpAddress, inputJson).Result; | 
 |  |  |             //var x = await HttpsClient.PostAsync("http://c24-cellmi3:12020/api/MachineIntegration/CellState", inputJson); | 
 |  |  |             #region | 
 |  |  |             //if (x != null) | 
 |  |  |             //{ | 
 |  |  | 
 |  |  |             #endregion | 
 |  |  |  | 
 |  |  |             LogFactory.GetLog("单电芯属性获取").Info(true, $"\r\r--------------------------------------"); | 
 |  |  |             LogFactory.GetLog("单电芯属性获取").Info(true, x); | 
 |  |  |             return x; | 
 |  |  |             LogFactory.GetLog("单电芯属性获取").Info(true, result); | 
 |  |  |             return result; | 
 |  |  |         } | 
 |  |  |         catch (Exception err) | 
 |  |  |         { | 
 |  |  | 
 |  |  |             input.EmployeeNo = "MITest"; | 
 |  |  |             input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ"); | 
 |  |  |             var inputJson = input.ToDictionary(); | 
 |  |  |             var x = await HttpsClient.PostAsync("http://c24-cellmi3:12020/api/MachineIntegration/TrayCellsStatus", inputJson); | 
 |  |  |             if (x != null) | 
 |  |  |             var configs = _configService.GetConfigsByCategory(CateGoryConst.SYS_MOMIPAddress); | 
 |  |  |             var wmsBase = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.MOMBaseIP)?.ConfigValue; | 
 |  |  |             var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.TrayCellsStatus)?.ConfigValue; | 
 |  |  |             if (wmsBase == null || ipAddress == null) | 
 |  |  |             { | 
 |  |  |                 // 反序列化ResultTrayCellsStatus对象 | 
 |  |  |                 //ResultTrayCellsStatus result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(x); | 
 |  |  |  | 
 |  |  |                 //// 创建DtBoxingInfo对象 | 
 |  |  |                 //DtBoxingInfo boxingInfo = new DtBoxingInfo | 
 |  |  |                 //{ | 
 |  |  |                 //    IsFull = true, | 
 |  |  |                 //    PalletCode = result.TrayBarcode, | 
 |  |  |                 //}; | 
 |  |  |  | 
 |  |  |                 //// 使用LINQ创建DtBoxingInfoDetail对象列表 | 
 |  |  |                 //var details = result.SerialNos.Select(item => new DtBoxingInfoDetail | 
 |  |  |                 //{ | 
 |  |  |                 //    SerialNumber = item.SerialNo, | 
 |  |  |                 //    OrderNo = item.PositionNo.ToString(), | 
 |  |  |                 //    Status = item.SerialNoStatus, | 
 |  |  |                 //    Remark = result.TrayBarcodePropertys.ToJsonString(), | 
 |  |  |                 //    MaterielCode = result.BindCode, | 
 |  |  |                 //}).ToList(); | 
 |  |  |  | 
 |  |  |                 //// 赋值DtBoxingInfoDetails | 
 |  |  |                 //boxingInfo.BoxingInfoDetails = details; | 
 |  |  |                 //var abc = await _boxingInfoService.AddBoxingInfoAsync(boxingInfo); | 
 |  |  |                 content.OK("组盘成功", x); | 
 |  |  |                 throw new InvalidOperationException("WMS IP 未配置"); | 
 |  |  |             } | 
 |  |  |             var wmsIpAddress = wmsBase + ipAddress; | 
 |  |  |  | 
 |  |  |             var result = HttpsClient.PostAsync(wmsIpAddress, inputJson).Result; | 
 |  |  |             //var x = await HttpsClient.PostAsync("http://c24-cellmi3:12020/api/MachineIntegration/TrayCellsStatus", inputJson); | 
 |  |  |  | 
 |  |  |             LogFactory.GetLog("整盘电芯属性获取").Info(true, $"\r\r--------------------------------------"); | 
 |  |  |             LogFactory.GetLog("整盘电芯属性获取").Info(true, x); | 
 |  |  |             LogFactory.GetLog("整盘电芯属性获取").Info(true, result); | 
 |  |  |             content.OK(data: result); | 
 |  |  |         } | 
 |  |  |         catch (Exception err) | 
 |  |  |         { |