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_MaterialVerify : XiaomiMESHttp_X5 { #region 变量 /// /// 接口地址 /// protected new static string MESUrl { set; get; } = GlobalContext.StationInMESUrl; /// /// 接口方法 /// protected new static string Method { set; get; } = "ConsumableMaterialVerify"; #endregion 变量 /// /// 小米MES - 进站 /// /// /// public static XmMES_MaterialVerifyResponse MaterialVerifyPostMES(XmMES_MaterialVerifyRequest_Body body) { XmMES_MaterialVerifyResponse MaterialVerifyResponse = new XmMES_MaterialVerifyResponse(); string bodyJson = JsonConvert.SerializeObject(body); XiaomiMES_X5RequestHeader header = new XiaomiMES_X5RequestHeader(); header.appid = Appid; // 系统分配的应⽤ID header.method = Method; // API接⼝名称 header.sign = GetSign_Up(Appid, bodyJson, Appkey); // md5签名 header.url = MESUrl; // 接⼝地址 //转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(MESUrl, base64EncodedBody); // ZS保存日志 MaterialVerifyResponse.header = response.header; string responseBody = response.body; MaterialVerifyResponse.body = JsonConvert.DeserializeObject(responseBody); return MaterialVerifyResponse; } #region 入参 /// /// 进站接⼝ - 入参 /// public class XmMES_MaterialVerifyRequest { /// /// 进站接⼝ - 入参 - header /// public XiaomiMES_X5RequestHeader header { get; set; } = new XiaomiMES_X5RequestHeader(); /// /// 进站接⼝ - 入参 - body /// public XmMES_MaterialVerifyRequest_Body body { get; set; } = new XmMES_MaterialVerifyRequest_Body(); } /// /// 进站接⼝ - 入参 - Body 实体 /// public class XmMES_MaterialVerifyRequest_Body { /// /// ⼯位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"); /// /// 物料sn /// public string sn { get; set; } = string.Empty; /// /// ⼯⼚id:1 /// public long factoryId { get; set; } = 1; /// /// 操作⼈ /// public string userId { get; set; } = string.Empty; } #endregion 入参 #region 出参 /// /// 进站接⼝ - 出参 /// public class XmMES_MaterialVerifyResponse { /// /// header字段描述 /// public XiaomiMES_X5ResponseHeader header { get; set; } = new XiaomiMES_X5ResponseHeader(); /// /// body字段描述 /// public XmMESMaterialVerify_Body body { get; set; } = new XmMESMaterialVerify_Body(); } /// /// 进站接⼝ - 出参 - Body /// public class XmMESMaterialVerify_Body { /// /// 响应时间戳 /// public string serverTime { get; set; } = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); /// /// 剩余寿命(次/克) /// public string remainLife { get; set; } = ""; } #endregion } }