using AngleSharp.Io; using LogLibrary.Log; using Masuit.Tools; using Newtonsoft.Json; using WIDESEA_Common; using WIDESEA_Core; using WIDESEA_Core.Const; using WIDESEA_DTO; using WIDESEA_DTO.MOM; using WIDESEA_IServices; using WIDESEA_IStoragIntegrationServices; namespace WIDESEA_StoragIntegrationServices; public class AgingInOrOutInputService : IAgingInOrOutInputService { private readonly LogFactory LogFactory = new LogFactory(); private readonly ISys_ConfigService _configService; public AgingInOrOutInputService(ISys_ConfigService configRepository) { _configService = configRepository; } /// /// 静置\陈化入库(整托盘) /// /// 入库数据 /// public async Task GetOCVInputAsync(AgingInputDto input) { WebResponseContent content = new WebResponseContent(); try { input.SessionId = Guid.NewGuid().ToString(); input.EmployeeNo = "MITest"; input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ"); var inputJson = Masuit.Tools.ObjectExtensions.ToDictionary(input); // Specify the namespace explicitly 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.AgingInput)?.ConfigValue; if (wmsBase == null || ipAddress == null) { throw new InvalidOperationException("WMS IP 未配置"); } var wmsIpAddress = wmsBase + ipAddress; var result =await HttpsClient.PostAsync(wmsIpAddress, inputJson); content.OK(data: result); var respone = JsonConvert.DeserializeObject(result.ToString()); if (!respone.Success) { MoMErrorMsg.AddMoMErrorMsg(0, input.TrayBarcode, respone.MOMMessage, SysConfigConst.AgingInput); } else { MoMErrorMsg.DeleteMoMErrorMsg(0, input.TrayBarcode); } LogFactory.GetLog("静置陈化入库(整托盘)").Info(true, $"\r\r--------------------------------------"); LogFactory.GetLog("静置陈化入库(整托盘)").Info(true, input.TrayBarcode); LogFactory.GetLog("静置陈化入库(整托盘)").Info(true, result); } catch (Exception err) { //MoMErrorMsg.AddMoMErrorMsg(0, input.TrayBarcode, err.Message, SysConfigConst.AgingInput); //Console.WriteLine(err.Message.ToString()); LogFactory.GetLog("静置陈化入库(整托盘)").Error(true, $"\r\r--------------------------------------"); LogFactory.GetLog("静置陈化入库(整托盘)").Error(true, err.StackTrace); } return content; } /// /// 静置\陈化出库(整托盘) /// /// 出库数据 /// public async Task GetOCVOutputAsync(AgingOutputDto input) { WebResponseContent content = new WebResponseContent(); try { input.SessionId = Guid.NewGuid().ToString(); input.EmployeeNo = "MITest"; input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ"); var inputJson = Masuit.Tools.ObjectExtensions.ToDictionary(input); // Specify the namespace explicitly 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.AgingOutput)?.ConfigValue; if (wmsBase == null || ipAddress == null) { throw new InvalidOperationException("WMS IP 未配置"); } var wmsIpAddress = wmsBase + ipAddress; var result = HttpsClient.PostAsync(wmsIpAddress, inputJson).Result; var respone = JsonConvert.DeserializeObject(result.ToString()); if (!respone.Success) { MoMErrorMsg.AddMoMErrorMsg(0, input.TrayBarcode, respone.MOMMessage, SysConfigConst.AgingOutput); } else { MoMErrorMsg.DeleteMoMErrorMsg(0, input.TrayBarcode); } content.OK(data: result); LogFactory.GetLog("静置陈化出库(整托盘)").Info(true, $"\r\r--------------------------------------"); LogFactory.GetLog("静置陈化出库(整托盘)").Info(true, input.TrayBarcode); LogFactory.GetLog("静置陈化出库(整托盘)").Info(true, result); } catch (Exception err) { //MoMErrorMsg.AddMoMErrorMsg(0, input.TrayBarcode, err.Message, SysConfigConst.AgingOutput); //Console.WriteLine(err.Message.ToString()); LogFactory.GetLog("静置陈化出库(整托盘)").Error(true, $"\r\r--------------------------------------"); LogFactory.GetLog("静置陈化出库(整托盘)").Error(true, err.StackTrace); content.Error(err.Message); } return content; } }