using Newtonsoft.Json; using System; namespace MainForm.ClassFile.XiaomiAPI { /// /// 小米 MqttClient类 - API拓展方法 /// 过站结果 /// public partial class XiaomiMqttClient_Extend : XiaomiMqttClient { /// /// 过站结果- 事件Id /// private static string PassStationResultId { get; set; } = "pass_station/pass_station_result"; /// /// 过站结果- 事件方法 /// /// 事件数据;Json /// 自定义事件Id;如:guid /// public static int Write_PassStationResult(PassStationResultRequest request, string dataId = "") { int result = 0; string msg = JsonConvert.SerializeObject(request); byte[] bytes = ToUTF8(msg); // 发送 if (string.IsNullOrEmpty(dataId)) result = Write(PassStationResultId, bytes); else result = WriteWithDataId(PassStationResultId, bytes, dataId); return result; } /// /// 过站结果- 参数 /// public class PassStationResultRequest { /// /// 过站唯⼀标识(36位) /// string[1,64] /// 要确保唯⼀性,每次过站时⽣成的ID必须唯⼀。 /// • 对于同⼀次过站⽽⾔,过站明细中的pass_station_id字段值与过站结果中的pass_station_id字段值是⼀样的。 /// • 与mes中的过站明细uuid字段uuidInspection要求⼀致(这两个值需确保是⼀致的,以MES为主,如果关闭MES⽣产,则此项传空字符串) /// public string pass_station_id { get; set; } = Guid.NewGuid().ToString(); /// /// 项⽬编码 /// string[1,32] /// public string project_code { get; set; } = string.Empty; /// /// ⼯⼚编码 /// string[1,64] /// public string factory_code { get; set; } = string.Empty; /// /// ⼯段编码 /// string[1,32] /// public string process_section_code { get; set; } = string.Empty; /// /// 线体编码 /// string[1,32] /// public string line_code { get; set; } = string.Empty; /// /// ⼯站 /// string[1,32] /// public string work_station { get; set; } = string.Empty; /// /// 装备编码 /// string[1,32] /// public string device_code { get; set; } = string.Empty; /// /// ⼯位编码 /// string[1,32] /// 与MES那边的stationId保持⼀致 /// public string station { get; set; } = string.Empty; /// /// 过站时间 /// string[1,32] /// 日期格式:2022-06-01 14:27:57.283 /// public string process_time { get; set; } = string.Empty; /// /// 槽位编码 /// string[1,32] /// public string slot { get; set; } = string.Empty; /// /// 产品SN /// string[1,32] /// public string sn { get; set; } = string.Empty; /// /// 进站状态:PASS/FAIL /// string[1,32] /// MES进站接⼝调⽤状态 /// public string enter_status { get; set; } = "PASS"; /// /// 过站结果 /// string[1,32] /// PASS/FAIL /// public string result { get; set; } = "PASS"; /// /// 作业类型 /// string[1,32] /// PRESSURE_TEST(压测) /// POINT_CHECK(点检) /// OUT_STATION(正常跑料数据) /// public string work_type { get; set; } = "OUT_STATION"; } } }