using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Security.Policy; using System.Text; namespace MainForm.ClassFile.XiaomiAPI_MES { /// /// 小米MES - 进站接⼝ /// 接口地址: /// 接口方法:UnitConfirmDataSetIn /// public class XiaomiMESHttp_ConfirmInfoVerify : XiaomiMESHttp_X5 { #region 变量 /// /// 接口地址 /// //protected new static string MESUrl { set; get; } = GlobalContext.StationInMESUrl; /// /// 接口方法 /// protected new static string Method { set; get; } = "MaterialConfirmDataVerify"; #endregion 变量 /// /// 小米MES - 校验接口 /// /// /// public static XmMES_ConfirmInfoVerifyResponse ConfirmInfoVerifyPostMES(XmMES_ConfirmInfoVerifyRequest_Body body) { XmMES_ConfirmInfoVerifyResponse ConfirmInfoVerifyResponse = new XmMES_ConfirmInfoVerifyResponse(); string bodyJson = JsonConvert.SerializeObject(body); XiaomiMES_X5RequestHeader header = new XiaomiMES_X5RequestHeader(); header.appid = GlobalContext.MESAppId; // 系统分配的应⽤ID header.method = Method; // API接⼝名称 header.sign = GetSign_Up(GlobalContext.MESAppId, bodyJson, GlobalContext.MESAppKey); // md5签名 header.url = GlobalContext.StationInMESUrl; // 接⼝地址 //转base64 dynamic requestData = new { header = header, body = bodyJson }; var serializedBody = JsonConvert.SerializeObject(requestData); var base64EncodedBody = Convert.ToBase64String(Encoding.UTF8.GetBytes(serializedBody)); XiaomiMES_X5Response response = Post(GlobalContext.StationInMESUrl, base64EncodedBody); // ZS保存日志 ConfirmInfoVerifyResponse.header = response.header; string responseBody = response.body; ConfirmInfoVerifyResponse.body = JsonConvert.DeserializeObject(responseBody); return ConfirmInfoVerifyResponse; } #region 入参 /// /// 进站接⼝ - 入参 /// public class XmMES_ConfirmInfoVerifyRequest { /// /// 进站接⼝ - 入参 - header /// public XiaomiMES_X5RequestHeader header { get; set; } = new XiaomiMES_X5RequestHeader(); /// /// 进站接⼝ - 入参 - body /// public XmMES_ConfirmInfoVerifyRequest_Body body { get; set; } = new XmMES_ConfirmInfoVerifyRequest_Body(); } /// /// 进站接⼝ - 入参 - Body 实体 /// public class XmMES_ConfirmInfoVerifyRequest_Body { /// /// 装备ID(可配置) /// public string machineId { get; set; } = string.Empty; /// /// ⼯位ID(可配置) /// public string stationId { get; set; } = string.Empty; /// /// 客⼾端本机MAC地址(格式:4C-52-62-39-CC-F0) /// public string clientMac { get; set; } = string.Empty; /// /// 客⼾端请求时间(格式:yyyy-MM-dd HH:mm:ss) /// public string clientTime { get; set; } = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); /// /// 产品sn /// public string unitSn { get; set; } = string.Empty; /// /// 物料sn /// public string materialSn { get; set; } = string.Empty; /// /// 操作⼈ /// public string userId { get; set; } = string.Empty; /// /// ⼯⼚id:1 /// public long factoryId { get; set; } = 1; } #endregion 入参 #region 出参 /// /// 进站接⼝ - 出参 /// public class XmMES_ConfirmInfoVerifyResponse { /// /// header字段描述 /// public XiaomiMES_X5ResponseHeader header { get; set; } = new XiaomiMES_X5ResponseHeader(); /// /// body字段描述 /// public XmMESConfirmInfoVerify_Body body { get; set; } = new XmMESConfirmInfoVerify_Body(); } /// /// 进站接⼝ - 出参 - Body /// public class XmMESConfirmInfoVerify_Body { /// /// 生产参数 /// public productionParams_body productionParams { get; set; }=new productionParams_body(); /// /// 服务处理完成时间 /// public string serverTime { get; set; } = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); /// /// 请求达到服务时间 /// public string requestTime { get; set; } = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); /// /// 处理时长(毫秒) /// public string processTime { get; set; } = ""; } public class productionParams_body { /// /// 生产参数名称 /// public string productionParam { get; set; } = string.Empty; /// /// 参数值 /// public string paramValue { get; set; } = string.Empty; } #endregion } }