123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356 |
-
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Net.NetworkInformation;
- using System.Text;
- using System.Threading.Tasks;
- namespace MainForm.ClassFile.XiaomiClass
- {
- public class MesHelper
- {
- /// <summary>
- /// 过途程接口IN V2
- /// 请求返回code=200,产品可以正常进站进行作业;code!=200,设备报警,提示失败原因,产品不允许进站进行作业
- /// </summary>
- #region MES进站 过途程接⼝IN V2
- #region 输入字段描述
- public class Request_UnitPassIn_t
- {
- public string machineId; //必填:是 装备id(可配置)
- public string stationId; //必填:是 ⼯位ID(可配置)
- public string clientMac; //必填:是 客⼾端本机MAC地址,格式:XX-XX-XX-XX-XX-XX
- public string clientTime; //必填:是 客⼾端请求时间,格式yyyy-MM-dd HH:mm:ss.fff
- public string unitSn; //必填:是 产品SN
- public string userId; //必填:否 ⽤⼾ID,如果接⼊了MES⽤⼾才需要传⼊
- public long factoryId; //必填:否 ⼯⼚id
- }
- #endregion
- #region 输出字段描述
- public class Response_UnitPassIn_t
- {
- public ResponseHeaderPassIn_t header;
- public ResponseBodyPassIn_t body;
- }
- public class ResponseHeaderPassIn_t
- {
- public string code; //200表⽰成功,⾮200表⽰失败
- public string desc; //code为⾮200,这⾥表⽰具体的失败原因,如果code为200,这⾥成功的描述,可能是空
- }
- public class ResponseBodyPassIn_t
- {
- public string serverTime; //响应时间戳
- public KeyParamList_t[] keyParamList; //关键参数列表
- public BackResult_t backResult; //过站回溯结果
- }
- public class KeyParamList_t
- {
- public string paramCode; //关键参数代码
- public string key; //关键参数Name【mitool读取】
- public string paramValue; //关键参数值,如果是⽂件,这⾥是下载⽂件的url
- }
- public class BackResult_t
- {
- public string result; //回溯结果 PASS/FAIL
- public InspectionPointDataList_t[] inspectionPointDataList; //不良点位信息说明
- }
-
- public class InspectionPointDataList_t
- {
- public string no; //测试顺序号
- public string result; //回溯结果 PASS/FAIL //实际与文档不一致
- public string defectCode; //不良项
- public string defectDesc; //不良说明
- public string location; //不良位置
- public string panelNo; //⼩板序号
- }
- #endregion
- #endregion
- /// <summary>
- /// 过途程接口OUT V2
- /// 请求返回code=200,出站请求成功;code!=200,日志记录失败原因,产品可正常流出
- /// </summary>
- #region MES出站 过途程接⼝OUT V2
- #region 输入字段描述
- public class Request_UnitPassOut_t
- {
- public string machineId; //必填:是 装备id(可配置)
- public string stationId; //必填:是 ⼯位ID(可配置)
- public string clientMac; //必填:是 客⼾端本机MAC地址,格式:XX-XX-XX-XX-XX-XX
- public string clientTime; //必填:是 客⼾端请求时间,格式yyyy-MM-dd HH:mm:ss.fff
- public string unitSn; //必填:是 产品SN
- public string uuidInspection; //必填:是 过站明细唯⼀标识UUID(每次调⽤OUT⽣成⼀个全新得uuid进⾏赋值,使⽤UUID函数直接⽣成即可)
- public string state; //必填:是 过站条件,取值:PASS或FAIL
- public string userId; //必填:否 ⽤⼾ID,如果接⼊了MES⽤⼾才需要传⼊
- public long factoryId; //必填:否 ⼯⼚id
- public UnitData_t unitData; //必填:否 过途程需要上传的设备数据,都是JSON格式
- }
- public class UnitData_t
- {
- public InspectionItemData_t[] inspectionItemData; //必填:否 检测项数据
- public InspectionPointData_t[] inspectionPointData; //必填:否 不良点位检测数据
- public ProcessData_t[] processData; //必填:否 制程⼯艺参数
- public KeyParams_t[] keyParams; //必填:否 关键参数
- public VehicleData_t vehicleData; //必填:否 载具信息
- public FileData_t[] fileData; //必填:否 ⽂件信息
- public ConsumableData_t[] consumableData; //必填:否 辅耗材消耗信息
- public KeyMaterial_t[] keyMaterial; //必填:否 关键部件绑定sn信息
- }
- public class InspectionItemData_t
- {
- public string childUnitSn; //必填:是 ⼦件条码SN
- public string childUnitState; //必填:是 检测结果 PASS/FAIL
- public string toolVersion; //必填:是 ⼯具版本号
- public DataItem_t[] dataItem; //必填:是 检测明细数据
- }
- public class DataItem_t
- {
- public string functionName; //必填:是 测试项名称
- public string testItem; //必填:是 数据描述
- public string value; //必填:是 数值
- public string hiLimit; //必填:否 最⼤值
- public string lowLimit; //必填:否 最⼩值
- public string testTime; //必填:是 测试时间,单位s
- public string errorCode; //必填:否 错误代码
- public string status; //必填:是 项⽬的检验结果:PASS/FAIL
- public string description; //必填:是 描述信息
- }
- //不良点位信息,如果没有则不传
- public class InspectionPointData_t
- {
- public string no; //必填:是 检验数据项⽬名称1,2,3
- public string result; //必填:是 检测结果
- public string panelNo; //必填:是 ⼩板号
- public string defectCode; //必填:否 不良code
- public string defectDesc; //必填:否 不良描述
- public string location; //必填:是 不良位置
- }
- //制程⼯艺参数,如果没有则不传
- public class ProcessData_t
- {
- public string dataName; //必填:是 数据名字
- public string dataValue; //必填:是 数据值
- }
- //上传的关键参数,如果没有则不传
- public class KeyParams_t
- {
- public string paramCode; //必填:是 关键参数code
- public string paramValue; //必填:是 关键参数值
- }
- //载具信息,如果没有则不传
- public class VehicleData_t
- {
- public string vehicleSn; //必填:是 载具sn
- public string vehicleType; //必填:是 载具类型
- public string slot; //必填:是 槽位
- }
- //⽂件上传说明
- public class FileData_t
- {
- public string fileName; //必填:是 ⽂件名称
- public string fileId; //必填:是 ⽂件在⽂件服务器对应的uuid,
- public string bucket; //必填:是 ⽂件服务器bucket
- }
- //辅耗材消耗明细
- public class ConsumableData_t
- {
- public string consumableSn; //必填:是 辅耗材sn
- public string useQty; //必填:是 消耗数量
- public string componentLocation; //必填:否 辅耗材使⽤位置
- }
- //关键部件绑定SN信息
- public class KeyMaterial_t
- {
- public int bindSort; //必填:是 绑定顺序 1,2,3,...
- public string materialSn; //必填:是 绑定部件的SN
- }
- #endregion
- #region 输出字段描述 出站响应
- public class Response_UnitPassOut
- {
- public ResponseHeaderPassOut_t header;
- public ResponseBodyPassOut_t body;
- }
- public class ResponseHeaderPassOut_t
- {
- public string code; //200表⽰成功,⾮200表⽰失败
- public string desc; //code为⾮200,这⾥表⽰具体的失败原因,如果code为200,这⾥成功的描述,可能是空
- }
- public class ResponseBodyPassOut_t
- {
- public string serverTime; //必填:是 服务器响应时间,格式yyyy-MM-dd HH:mm:ss.fff
- public string lookBackResult; //必填:否 回溯结果:PASS 成功,可以下⼀站;FAIL 失败,需要进维修室
- }
- #endregion
- #endregion
- /// <summary>
- /// 辅耗材上料 header[method]=ConsumableMaterialVerify
- /// 请求返回code=200,上料成功;code!=200,上料失败,提示失败原因
- /// </summary>
- #region 辅耗材上料接口
- #region 输入字段描述
- public class Request_ConsumMaterialVerify_t
- {
- public string stationId; //必填:是 ⼯位ID(可配置)
- public string clientMac; //必填:是 客⼾端本机MAC地址,格式:XX-XX-XX-XX-XX-XX
- public string clientTime; //必填:是 客⼾端请求时间,格式yyyy-MM-dd HH:mm:ss.fff
- public string sn; //必填:是 物料sn
- public long factoryId; //必填:否 ⼯⼚id
- public string userId; //必填:否 ⽤⼾ID,如果接⼊了MES⽤⼾才需要传⼊
- }
- #endregion
- #region 输出字段描述
- public class Response_ConsumMaterialVerify_t
- {
- public ResponseHeaderConsumMaterialVerify_t header;
- public ResponseBodyConsumMaterialVerify_t body;
- }
- public class ResponseHeaderConsumMaterialVerify_t
- {
- public string code; //200表⽰成功,⾮200表⽰失败
- public string desc; //code为⾮200,这⾥表⽰具体的失败原因,如果code为200,这⾥成功的描述,可能是空
- }
- public class ResponseBodyConsumMaterialVerify_t
- {
- public string serverTime; //响应时间戳
- public string remainLife; //剩余寿命(次/克)
- public string processTime;
- public string requestTime;
- }
- #endregion
- #endregion
- /// <summary>
- /// 辅耗材下料:header[method]=ConsumableMaterialUnload
- /// 请求返回code=200,下料成功;code!=200,下料失败,提示失败原因
- /// </summary>
- #region 辅耗材下料接口
- #region 输入字段描述
- public class Request_ConsumMaterialUnload_t
- {
- public string stationId; //必填:是 ⼯位ID(可配置)
- public string clientMac; //必填:是 客⼾端本机MAC地址,格式:XX-XX-XX-XX-XX-XX
- public string clientTime; //必填:是 客⼾端请求时间,格式yyyy-MM-dd HH:mm:ss.fff
- public string sn; //必填:是 物料sn
- public long factoryId; //必填:否 ⼯⼚id
- public string userId; //必填:否 ⽤⼾ID,如果接⼊了MES⽤⼾才需要传⼊
- }
- #endregion
- #region 输出字段描述
- public class Response_ConsumMaterialUnload_t
- {
- public ResponseHeaderConsumMaterialUnload_t header;
- public ResponseBodyConsumMaterialUnload_t body;
- }
- public class ResponseHeaderConsumMaterialUnload_t
- {
- public string code; //200表⽰成功,⾮200表⽰失败
- public string desc; //code为⾮200,这⾥表⽰具体的失败原因,如果code为200,这⾥成功的描述,可能是空
- }
- public class ResponseBodyConsumMaterialUnload_t
- {
- public string requestTime;
- public string processTime;
- public string serverTime; //响应时间戳
- }
- #endregion
- #endregion
- //⽂件服务接⼝说明(X5版
- /// <summary>
- /// ⽂件上传:⼆进制流,增加MQTT通知(6.10) mthod:UploadMqtt topic: iiot_file_cloud_upload/file/cloud/upload/{server-name}
- /// </summary>
- #region ⽂件服务接⼝
- #region 请求参数
- public class Request_UploadFile_t
- {
- public string bucket; //必填:是 ⽂件所属包
- public string name; //必填:是 ⽂件名
- public string file; //必填:是 =====================MultipartFile==================
- public string uuid; //必填:是 ⽂件唯⼀标识
- public string md5; //必填:否 可选项,⽤于校验⽂件上传是否正确
- public bool uploadCloud; //必填:否 是否上云 默认不上
- public bool informMqtt; //必填:否 是否通知mqtt 默认不通知
- public string mqttPayload; //必填:否 可以为空
- }
- #endregion
- #region 返回参数
- public class Response_UploadFile_t
- {
- public int code; //响应状态码 200:成功 400:参数错误 500:服务器内部错误
- public string msg; //对当前响应结果做具体描述
- public UploadResult_t data; //上传结果,包含⽂件链接
- }
- public class UploadResult_t
- {
- public string uuid; //获取⽂件的唯⼀标识符
- }
- #endregion
- //⼼跳接⼝
- //类型:post
- //url:/x5/ping
- //mthod: Ping
- public class Response_Ping_t
- {
- public int code; //200:成功 400:参数错误 500:服务器内部错误
- public string msg; //对当前响应结果做具体描述
- public bool data; //响应数据
- }
- //⽂件上传:共享⽬录下⽂件(仅边缘端可⽤)
- //类型:post
- //url:/x5/file/upload
- //method:UploadByPath
- public class Request_UploadByPath_t
- {
- public string bucket; //必填:是 ⽂件所属包 格式为:/A/B,如/home/work/app
- public string name; //必填:是 ⽂件名
- public string filePath; //必填:是 ⽂件路径 仅⽀持绝对路径,需要保证上传⽅与边缘端共享硬盘
- public string uuid; //必填:是 ⽂件唯⼀标识
- }
- public class Response_UploadByPath_t
- {
- public int code; //200:成功 400:参数错误 500:服务器内部错误
- public string msg; //对当前响应结果做具体描述
- public UploadResult data; //响应数据
- }
- public class UploadResult
- {
- public string uuid; //获取⽂件的唯⼀标识符
- }
- #endregion
- }
- }
|