Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 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);
     }
 }