XiaomiMESHttp_ConfirmInfoVerify.cs 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. using Newtonsoft.Json;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Security.Policy;
  6. using System.Text;
  7. namespace MainForm.ClassFile.XiaomiAPI_MES
  8. {
  9. /// <summary>
  10. /// 小米MES - 进站接⼝
  11. /// 接口地址:
  12. /// 接口方法:UnitConfirmDataSetIn
  13. /// </summary>
  14. public class XiaomiMESHttp_ConfirmInfoVerify : XiaomiMESHttp_X5
  15. {
  16. #region 变量
  17. /// <summary>
  18. /// 接口地址
  19. /// </summary>
  20. //protected new static string MESUrl { set; get; } = GlobalContext.StationInMESUrl;
  21. /// <summary>
  22. /// 接口方法
  23. /// </summary>
  24. protected new static string Method { set; get; } = "MaterialConfirmDataVerify";
  25. #endregion 变量
  26. /// <summary>
  27. /// 小米MES - 校验接口
  28. /// </summary>
  29. /// <param name="requestBody"></param>
  30. /// <returns></returns>
  31. public static XmMES_ConfirmInfoVerifyResponse ConfirmInfoVerifyPostMES(XmMES_ConfirmInfoVerifyRequest_Body body)
  32. {
  33. XmMES_ConfirmInfoVerifyResponse ConfirmInfoVerifyResponse = new XmMES_ConfirmInfoVerifyResponse();
  34. string bodyJson = JsonConvert.SerializeObject(body);
  35. XiaomiMES_X5RequestHeader header = new XiaomiMES_X5RequestHeader();
  36. header.appid = GlobalContext.MESAppId; // 系统分配的应⽤ID
  37. header.method = Method; // API接⼝名称
  38. header.sign = GetSign_Up(GlobalContext.MESAppId, bodyJson, GlobalContext.MESAppKey); // md5签名
  39. header.url = GlobalContext.StationInMESUrl; // 接⼝地址
  40. //转base64
  41. dynamic requestData = new { header = header, body = bodyJson };
  42. var serializedBody = JsonConvert.SerializeObject(requestData);
  43. var base64EncodedBody = Convert.ToBase64String(Encoding.UTF8.GetBytes(serializedBody));
  44. XiaomiMES_X5Response response = Post(GlobalContext.StationInMESUrl, base64EncodedBody);
  45. // ZS保存日志
  46. ConfirmInfoVerifyResponse.header = response.header;
  47. string responseBody = response.body;
  48. ConfirmInfoVerifyResponse.body = JsonConvert.DeserializeObject<XmMESConfirmInfoVerify_Body>(responseBody);
  49. return ConfirmInfoVerifyResponse;
  50. }
  51. #region 入参
  52. /// <summary>
  53. /// 进站接⼝ - 入参
  54. /// </summary>
  55. public class XmMES_ConfirmInfoVerifyRequest
  56. {
  57. /// <summary>
  58. /// 进站接⼝ - 入参 - header
  59. /// </summary>
  60. public XiaomiMES_X5RequestHeader header { get; set; } = new XiaomiMES_X5RequestHeader();
  61. /// <summary>
  62. /// 进站接⼝ - 入参 - body
  63. /// </summary>
  64. public XmMES_ConfirmInfoVerifyRequest_Body body { get; set; } = new XmMES_ConfirmInfoVerifyRequest_Body();
  65. }
  66. /// <summary>
  67. /// 进站接⼝ - 入参 - Body 实体
  68. /// </summary>
  69. public class XmMES_ConfirmInfoVerifyRequest_Body
  70. {
  71. /// <summary>
  72. /// 装备ID(可配置)
  73. /// </summary>
  74. public string machineId { get; set; } = string.Empty;
  75. /// <summary>
  76. /// ⼯位ID(可配置)
  77. /// </summary>
  78. public string stationId { get; set; } = string.Empty;
  79. /// <summary>
  80. /// 客⼾端本机MAC地址(格式:4C-52-62-39-CC-F0)
  81. /// </summary>
  82. public string clientMac { get; set; } = string.Empty;
  83. /// <summary>
  84. /// 客⼾端请求时间(格式:yyyy-MM-dd HH:mm:ss)
  85. /// </summary>
  86. public string clientTime { get; set; } = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
  87. /// <summary>
  88. /// 产品sn
  89. /// </summary>
  90. public string unitSn { get; set; } = string.Empty;
  91. /// <summary>
  92. /// 物料sn
  93. /// </summary>
  94. public string materialSn { get; set; } = string.Empty;
  95. /// <summary>
  96. /// 操作⼈
  97. /// </summary>
  98. public string userId { get; set; } = string.Empty;
  99. /// <summary>
  100. /// ⼯⼚id:1
  101. /// </summary>
  102. public long factoryId { get; set; } = 1;
  103. }
  104. #endregion 入参
  105. #region 出参
  106. /// <summary>
  107. /// 进站接⼝ - 出参
  108. /// </summary>
  109. public class XmMES_ConfirmInfoVerifyResponse
  110. {
  111. /// <summary>
  112. /// header字段描述
  113. /// </summary>
  114. public XiaomiMES_X5ResponseHeader header { get; set; } = new XiaomiMES_X5ResponseHeader();
  115. /// <summary>
  116. /// body字段描述
  117. /// </summary>
  118. public XmMESConfirmInfoVerify_Body body { get; set; } = new XmMESConfirmInfoVerify_Body();
  119. }
  120. /// <summary>
  121. /// 进站接⼝ - 出参 - Body
  122. /// </summary>
  123. public class XmMESConfirmInfoVerify_Body
  124. {
  125. /// <summary>
  126. /// 生产参数
  127. /// </summary>
  128. public productionParams_body productionParams { get; set; }=new productionParams_body();
  129. /// <summary>
  130. /// 服务处理完成时间
  131. /// </summary>
  132. public string serverTime { get; set; } = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
  133. /// <summary>
  134. /// 请求达到服务时间
  135. /// </summary>
  136. public string requestTime { get; set; } = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
  137. /// <summary>
  138. /// 处理时长(毫秒)
  139. /// </summary>
  140. public string processTime { get; set; } = "";
  141. }
  142. public class productionParams_body {
  143. /// <summary>
  144. /// 生产参数名称
  145. /// </summary>
  146. public string productionParam { get; set; } = string.Empty;
  147. /// <summary>
  148. /// 参数值
  149. /// </summary>
  150. public string paramValue { get; set; } = string.Empty;
  151. }
  152. #endregion
  153. }
  154. }