| using LogLibrary.Log; | 
| using Masuit.Tools; | 
| using Newtonsoft.Json; | 
| using System; | 
| using System.Collections.Generic; | 
| using System.Linq; | 
| using System.Text; | 
| using System.Threading.Tasks; | 
| using WIDESEA_Common; | 
| using WIDESEA_Core.Const; | 
| using WIDESEA_DTO; | 
| using WIDESEA_IServices; | 
| using WIDESEA_IStoragIntegrationServices; | 
|   | 
| namespace WIDESEA_StoragIntegrationServices; | 
|   | 
| public class UnbindService : IUnbindService | 
| { | 
|     private readonly LogFactory LogFactory = new LogFactory(); | 
|     private readonly ISys_ConfigService _configService; | 
|   | 
|     public UnbindService(ISys_ConfigService configRepository) | 
|     { | 
|         _configService = configRepository; | 
|     } | 
|   | 
|     /// <summary> | 
|     /// 托盘单电芯解绑 | 
|     /// </summary> | 
|     /// <param name="input">电芯数据</param> | 
|     /// <returns></returns> | 
|     public async Task<dynamic> TrayCellUnbindAsync(TrayCellUnbindDto input) | 
|     { | 
|         try | 
|         { | 
|             input.SessionId = Guid.NewGuid().ToString(); | 
|             input.Software = "WMS"; | 
|             input.EquipmentCode = "24MEJQ08-1091"; | 
|             input.EmployeeNo = "MITest"; | 
|             input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ"); | 
|             var inputJson = Masuit.Tools.ObjectExtensions.ToDictionary(input); | 
|             LogFactory.GetLog("托盘单电芯解绑1").Info(true, JsonConvert.SerializeObject(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.TrayCellUnbind)?.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/TrayCellUnbind", inputJson); | 
|             LogFactory.GetLog("托盘单电芯解绑").Info(true, $"\r\r--------------------------------------"); | 
|             LogFactory.GetLog("托盘单电芯解绑").Info(true, result); | 
|         } | 
|         catch (Exception ex) | 
|         { | 
|             Console.WriteLine(ex.Message); | 
|             LogFactory.GetLog("托盘单电芯解绑").Error(true, $"\r\r--------------------------------------"); | 
|             LogFactory.GetLog("托盘单电芯解绑").Error(true, ex.StackTrace); | 
|         } | 
|         return Task.FromResult<dynamic>(null); | 
|     } | 
|   | 
|     /// <summary> | 
|     /// 整盘电芯解绑 | 
|     /// </summary> | 
|     /// <param name="input">电芯数据</param> | 
|     /// <returns></returns> | 
|     public async Task<dynamic> TrayUnbindAsync(TrayUnbindDto input) | 
|     { | 
|         try | 
|         { | 
|             input.SessionId = Guid.NewGuid().ToString(); | 
|             input.Software = "WMS"; | 
|             input.EquipmentCode = "24MEJQ08-1091"; | 
|             input.EmployeeNo = "MITest"; | 
|             input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ"); | 
|             var inputJson = Masuit.Tools.ObjectExtensions.ToDictionary(input); | 
|             Console.WriteLine(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.TrayUnbind)?.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/TrayUnbind", inputJson); | 
|             LogFactory.GetLog("整盘电芯解绑").Info(true, $"\r\r--------------------------------------"); | 
|             LogFactory.GetLog("整盘电芯解绑").Info(true, result); | 
|         } | 
|         catch (Exception ex) | 
|         { | 
|             Console.WriteLine(ex.Message); | 
|             LogFactory.GetLog("整盘电芯解绑").Error(true, $"\r\r--------------------------------------"); | 
|             LogFactory.GetLog("整盘电芯解绑").Error(true, $"{ex.StackTrace}\r\r{ex.Message}"); | 
|         } | 
|         return Task.FromResult<dynamic>(null); | 
|     } | 
| } |