123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- using Newtonsoft.Json;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Security.Policy;
- using System.Text;
- namespace MainForm.ClassFile.XiaomiAPI_MES
- {
- /// <summary>
- /// 小米MES - 进站接⼝
- /// 接口地址:
- /// 接口方法:UnitConfirmDataSetIn
- /// </summary>
- public class XiaomiMESHttp_StationInbound : XiaomiMESHttp_X5
- {
- #region 变量
- /// <summary>
- /// 接口地址
- /// </summary>
- //protected new static string MESUrl { set; get; } = GlobalContext.StationInMESUrl;
- /// <summary>
- /// 接口方法
- /// </summary>
- protected new static string Method { set; get; } = "UnitConfirmDataSetIn";
- #endregion 变量
- /// <summary>
- /// 小米MES - 进站
- /// </summary>
- /// <param name="requestBody"></param>
- /// <returns></returns>
- public static XmMES_StationInResponse StationIn(XmMES_StationInRequest_Body body)
- {
- XmMES_StationInResponse stationInResponse = new XmMES_StationInResponse();
- 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; // 接⼝地址
- //XmMES_StationInRequest request = new XmMES_StationInRequest();
- //request.header = header;
- //request.body = body;
- //string data = JsonConvert.SerializeObject(request);
- //转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保存日志
- stationInResponse.header = response.header;
- string responseBody = response.body;
- stationInResponse.body = JsonConvert.DeserializeObject<XmMESStationIn_Body>(responseBody);
- return stationInResponse;
- }
- #region 入参
- /// <summary>
- /// 进站接⼝ - 入参
- /// </summary>
- public class XmMES_StationInRequest
- {
- /// <summary>
- /// 进站接⼝ - 入参 - header
- /// </summary>
- public XiaomiMES_X5RequestHeader header { get; set; } = new XiaomiMES_X5RequestHeader();
- /// <summary>
- /// 进站接⼝ - 入参 - body
- /// </summary>
- public XmMES_StationInRequest_Body body { get; set; } = new XmMES_StationInRequest_Body();
- }
- /// <summary>
- /// 进站接⼝ - 入参 - Body 实体
- /// </summary>
- public class XmMES_StationInRequest_Body
- {
- /// <summary>
- /// 装备id(可配置)
- /// </summary>
- public string machineId { get; set; } = string.Empty;
- /// <summary>
- /// ⼯位ID(可配置)
- /// </summary>
- public string stationId { get; set; } = string.Empty;
- /// <summary>
- /// 客⼾端本机MAC地址,格式:XX-XX-XX-XX-XX-XX
- /// </summary>
- public string clientMac { get; set; } = string.Empty;
- /// <summary>
- /// 客⼾端请求时间,格式yyyy-MM-dd HH:mm:ss.fff
- /// </summary>
- public string clientTime { get; set; } = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
- /// <summary>
- /// 产品SN
- /// </summary>
- public string unitSn { get; set; } = string.Empty;
- /// <summary>
- /// 过站明细唯⼀标识UUID
- /// </summary>
- public string uuidInspection { get; set; } = string.Empty;
- /// <summary>
- /// 过站条件,取值:PASS或FAIL
- /// </summary>
- public string state { get; set; } = string.Empty;
- /// <summary>
- /// ⽤⼾ID,如果接⼊了MES⽤⼾才需要传⼊;非必填
- /// </summary>
- public string userId { get; set; } = string.Empty;
- /// <summary>
- /// ⼯⼚id;非必填
- /// </summary>
- public string factoryId { get; set; } = string.Empty;
- }
- #endregion 入参
- #region 出参
- /// <summary>
- /// 进站接⼝ - 出参
- /// </summary>
- public class XmMES_StationInResponse
- {
- /// <summary>
- /// header字段描述
- /// </summary>
- public XiaomiMES_X5ResponseHeader header { get; set; } = new XiaomiMES_X5ResponseHeader();
- /// <summary>
- /// body字段描述
- /// </summary>
- public XmMESStationIn_Body body { get; set; } = new XmMESStationIn_Body();
- }
- /// <summary>
- /// 进站接⼝ - 出参 - Body
- /// </summary>
- public class XmMESStationIn_Body
- {
- /// <summary>
- /// 响应时间戳
- /// </summary>
- public string serverTime { get; set; } = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
- /// <summary>
- /// 关键参数列表
- /// </summary>
- public List<XmMESStationIn_KeyParam> keyParamList { get; set; } = new List<XmMESStationIn_KeyParam>();
- /// <summary>
- /// 过站回溯结果
- /// </summary>
- public XmMESStationIn_BackResult backResult { get; set; } = new XmMESStationIn_BackResult();
- //public string requestTime { get; set; } = "0";
- //public string processTime { get; set; } = "0";
- }
- /// <summary>
- /// 进站接⼝ - 出参 - Body - 关键参数
- /// </summary>
- public class XmMESStationIn_KeyParam
- {
- /// <summary>
- /// 关键参数代码
- /// </summary>
- public string paramCode { get; set; } = string.Empty;
- /// <summary>
- /// 关键参数Name【mitool读取】
- /// </summary>
- public string key { get; set; } = string.Empty;
- /// <summary>
- /// 关键参数值,如果是⽂件,这⾥是下载⽂件的url
- /// </summary>
- public string paramValue { get; set; } = string.Empty;
- }
- /// <summary>
- /// 进站接⼝ - 出参- Body - 过站回溯结果
- /// </summary>
- public class XmMESStationIn_BackResult
- {
- /// <summary>
- /// 回溯结果
- /// PASS/FAIL
- /// </summary>
- public string result { get; set; } = string.Empty;
- /// <summary>
- /// 不良点位信息说明
- /// </summary>
- public List<XmMESStationIn_InspPointData> inspectionPointDataList { get; set; } = new List<XmMESStationIn_InspPointData>();
- }
- /// <summary>
- /// 进站接⼝ - 出参- Body - 过站回溯结果 - 不良点位信息说明
- /// </summary>
- public class XmMESStationIn_InspPointData
- {
- /// <summary>
- /// 测试顺序号
- /// </summary>
- public string no { get; set; } = string.Empty;
- /// <summary>
- /// 回溯结果
- /// PASS/FAIL
- /// </summary>
- public string result { get; set; } = string.Empty;
- /// <summary>
- /// 不良项
- /// </summary>
- public string defectCode { get; set; } = string.Empty;
- /// <summary>
- /// 不良说明
- /// </summary>
- public string defectDesc { get; set; } = string.Empty;
- /// <summary>
- /// 不良位置
- /// </summary>
- public string location { get; set; } = string.Empty;
- /// <summary>
- /// ⼩板序号
- /// </summary>
- public string panelNo { get; set; } = string.Empty;
- }
- #endregion 出参
- }
- }
|