123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- using System;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Newtonsoft.Json;
- using MainForm.ClassFile.XiaomiAPI_MES;
- using static MainForm.ClassFile.XiaomiAPI_AGV.XiaomiAGVHttp_Response;
- namespace MainForm.ClassFile.XiaomiAPI_AGV
- {
- /// <summary>
- /// 小米AGV(x5协议)- 空容器补给请求接⼝
- /// SMT⽣产过程中呼叫空箱,AGV配送空容器到 SMT下料⼝
- /// 如:‘Tray盘下料装备’站 上料
- /// 接⼝地址:${HOST}/x5/task/callEmptyContainer/create
- /// 接口方法:callEmptyContainer
- /// </summary>
- public class XiaomiAGVHttp_CallEmptyContainerLoading : XiaomiMESHttp_X5
- {
- #region 变量
- /// <summary>
- /// 接口地址
- /// </summary>
- protected new static string MESUrl { set; get; } = string.Format($"Http://{0}/x5/task/callEmptyContainer/create",
- GlobalContext.AGVHttpHost);
- /// <summary>
- /// 接口方法
- /// </summary>
- protected new static string Method { set; get; } = "callEmptyContainer";
- #endregion 变量
- /// <summary>
- /// 请求空容器补给
- /// </summary>
- public XiaomiAGVHttp_Response Call(XmAGVCallEmptyContainerLoadingRequest_Body body)
- {
- XiaomiAGVHttp_Response agvResponse = new XiaomiAGVHttp_Response();
- 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; // 接⼝地址
- XmAGVCallEmptyContainerLoadingRequest request = new XmAGVCallEmptyContainerLoadingRequest();
- request.header = header;
- request.body = body;
- string data = JsonConvert.SerializeObject(request);
- XiaomiMES_X5Response response = Post(MESUrl, data);
- // ZS保存日志
- agvResponse.header = response.header;
- string responseBody = response.body;
- agvResponse.body = JsonConvert.DeserializeObject<XmAGVHttp_Body>(responseBody);
- return agvResponse;
- }
- #region 入参
- /// <summary>
- /// 空容器补给请求接⼝ - 入参
- /// </summary>
- public class XmAGVCallEmptyContainerLoadingRequest
- {
- /// <summary>
- /// 报文头(Header)
- /// </summary>
- public XiaomiMES_X5RequestHeader header { get; set; } = new XiaomiMES_X5RequestHeader();
- /// <summary>
- /// 报文内容(Body)
- /// </summary>
- public XmAGVCallEmptyContainerLoadingRequest_Body body { get; set; } = new XmAGVCallEmptyContainerLoadingRequest_Body();
- }
- /// <summary>
- /// 空容器补给请求接⼝ - 入参 - Body
- /// </summary>
- public class XmAGVCallEmptyContainerLoadingRequest_Body
- {
- /// <summary>
- /// 任务类型;非必填
- /// 默认:NG: NG料盘呼叫任务
- /// </summary>
- public string taskType { get; set; } = string.Empty;
- /// <summary>
- /// 容器类型;非必填
- /// </summary>
- public string containerType { get; set; } = string.Empty;
- /// <summary>
- /// 起始点;非必填
- /// </summary>
- public string startingContainerCode { get; set; } = string.Empty;
- /// <summary>
- /// 起始区域;非必填
- /// </summary>
- public string startingArea { get; set; } = string.Empty;
- /// <summary>
- /// ⽬标区域;非必填
- /// </summary>
- public string targetArea { get; set; } = string.Empty;
- /// <summary>
- /// ⽬标点:料站点(接驳⼝)
- /// </summary>
- public string targetContainerCode { get; set; } = string.Empty;
- }
- #endregion 入参
- }
- }
|