public static bool RecordDeviceStatus(List <Oven> ovens) { try { if (!Current.mes.IsPingSuccess) { throw new Exception("无法连接到MES服务器:" + Current.mes.Host); } List <DeviceStatusRecordRequest._DeviceStatus> deviceStatusList = new List <DeviceStatusRecordRequest._DeviceStatus>(); ovens.ForEach(o => { o.Floors.ForEach(f => { deviceStatusList.Add(f.GetMesDeviceStatus()); }); }); var request = new DeviceStatusRecordRequest() { DeviceId = Current.mes.DeviceId, Operator = Current.mes.Username, ProcessCode = Current.mes.ProcessCode, StationCode = Current.mes.StationCode, ProductionTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), DeviceStatuses = deviceStatusList.ToArray() }; var xmlRequest = XmlHelper.Serialize(request).Replace("<?xml version=\"1.0\" encoding=\"utf-8\"?>", ""); var xmlResponse = DeviceStatusRecordProxy.RecordDeviceStatus(xmlRequest); var response = XmlHelper.Deserialize <DeviceStatusRecordResponse>(xmlResponse); if (response.Result) { //LogHelper.WriteInfo(string.Format("烤箱状态上传MES成功,xmlRequest:{0},xmlResponse:{1}", xmlRequest, xmlResponse)); //LogHelper.WriteInfo(string.Format("烤箱状态上传MES成功")); } else { LogHelper.WriteInfo(string.Format("烤箱状态上传MES失败,原因:{0}", response.Message)); } return(response.Result); } catch (Exception ex) { LogHelper.WriteError(ex); LogHelper.WriteInfo(string.Format("烤箱状态上传MES报错:{0}", ex.Message)); } return(false); }
public static string RecordDeviceStatus(string xmlParams) { try { if (!Current.mes.IsPingSuccess) { throw new Exception("无法连接到MES服务器:" + Current.mes.Host); } return(DeviceStatusRecordProxy.RecordDeviceStatus(xmlParams)); } catch (Exception ex) { return(ex.Message); } }