collectDeviceCode(如 C01)并启用 collectEnabled 后,数采报文才能自动关联到该设备。collectDeviceCode 是列表与各明细接口之间的唯一关联键,选中设备后需把该值作为 deviceCode 带入实时状态、工艺参数、周期数据、参数变更、报警查询。taskId / workOrderId 由后端按设备所在工作站自动解析当前运行任务,前端只读展示,不需要传参。deviceCode 与 status=0(未消除),保证用户先看到当前设备的待处理报警。| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /mes/collect/device/list |
数采设备状态列表 |
| GET | /mes/collect/realtime/get |
设备最新实时状态 |
| GET | /mes/collect/realtime/history-page |
实时状态历史分页 |
| GET | /mes/collect/cycle/page |
周期过程数据分页 |
| GET | /mes/collect/cycle/get |
周期过程数据明细 |
| GET | /mes/collect/tech/get |
设备最新工艺参数快照 |
| GET | /mes/collect/operate-log/page |
参数变更日志分页 |
| GET | /mes/collect/alarm/page |
报警记录分页 |
| PUT | /mes/collect/alarm/ack |
人工确认消除报警 |
新增/更新、分页查询、Excel 导入导出均需支持以下字段:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| collectDeviceCode | String | 否 | 数采设备编号(MQTT devId),全局唯一,如 C01 |
| collectEnabled | Boolean | 否 | 是否启用数采,默认否 |
collectDeviceCode、collectEnabled 过滤。GET /mes/collect/device/list
无请求参数,返回已配置 collectDeviceCode 的全部设备。
响应字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| machineryId | Long | 设备台账编号 |
| machineryCode | String | 设备编码 |
| machineryName | String | 设备名称 |
| workstationId | Long | 工作站编号 |
| workstationName | String | 工作站名称 |
| collectDeviceCode | String | 数采设备编号 |
| collectEnabled | Boolean | 是否启用数采 |
| lastCollectTime | DateTime | 最近采集时间 |
| online | Boolean | 是否在线(5 分钟内有数据) |
| sts / stsName | Integer / String | 运行状态:1 待机、2 生产 |
| opm / opmName | Integer / String | 运行模式:0 手动、1 半自动、2 电眼自动、3 时间自动、4 调模使用 |
| ot | Decimal | 油温 |
| temps | String | 各段温度 JSON 字符串 |
| taskId / taskCode / taskName | Long / String / String | 当前生产任务 |
| workOrderId / workOrderCode | Long / String | 当前生产工单 |
| activeAlarmCount | Long | 未消除报警数量 |
GET /mes/collect/realtime/get,参数 deviceCode(必填)。
响应字段:id、machineryId、deviceCode、taskId、workOrderId、collectTime、sts/stsName、opm/opmName、asts、ot、temps、dataJson。设备暂无数据时 data 为 null。
GET /mes/collect/realtime/history-page
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageNo / pageSize | Integer | 是 | 分页参数 |
| deviceCode | String | 否 | 数采设备编号 |
| machineryId | Long | 否 | 设备台账编号 |
| taskId | Long | 否 | 生产任务编号 |
| workOrderId | Long | 否 | 生产工单编号 |
| collectTime | DateTime[] | 否 | 采集时间范围,传开始、结束两个值 |
响应结构同实时状态,按采集时间倒序。
GET /mes/collect/cycle/page
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageNo / pageSize | Integer | 是 | 分页参数 |
| deviceCode | String | 否 | 数采设备编号 |
| machineryId | Long | 否 | 设备台账编号 |
| taskId | Long | 否 | 生产任务编号 |
| workOrderId | Long | 否 | 生产工单编号 |
| collectTime | DateTime[] | 否 | 采集时间范围 |
响应字段:id、machineryId、deviceCode、taskId、workOrderId、cycleNo、collectTime、ecyct、eiss、eivm、eipm、esipt、esipp、esips、eipt、eipse、eplst、eplsse、eplspm、etTemps(JSON 字符串,键为 ET1..ETn)、dataJson。
GET /mes/collect/cycle/get,参数 id(必填),返回单条明细,字段同上。
GET /mes/collect/tech/get,参数 deviceCode(必填)。
响应字段:id、machineryId、deviceCode、taskId、workOrderId、collectTime、dataJson。dataJson 为设备上报的完整工艺参数键值对,约 150 个变量;无数据时 data 为 null。
GET /mes/collect/operate-log/page
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageNo / pageSize | Integer | 是 | 分页参数 |
| deviceCode | String | 否 | 数采设备编号 |
| machineryId | Long | 否 | 设备台账编号 |
| workOrderId | Long | 否 | 生产工单编号 |
| varId | String | 否 | 变量编码,如 SIPS |
| modifyTime | DateTime[] | 否 | 参数修改时间范围 |
响应字段:id、machineryId、deviceCode、taskId、workOrderId、varId、oldValue、newValue、modifyTime、collectTime、dataJson。
GET /mes/collect/alarm/page
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageNo / pageSize | Integer | 是 | 分页参数 |
| deviceCode | String | 否 | 数采设备编号 |
| machineryId | Long | 否 | 设备台账编号 |
| workOrderId | Long | 否 | 生产工单编号 |
| status | Integer | 否 | 0 未消除、1 已消除 |
| wmTime | DateTime[] | 否 | 报警时间范围 |
响应字段:id、machineryId、deviceCode、taskId、workOrderId、wmId(2 产生、0 消失)、wmMsg、wmTime、status/statusName、clearTime、collectTime、dataJson。
PUT /mes/collect/alarm/ack,参数 id(必填),无请求体,成功返回 true。
| 字段 | 展示位置 | 说明 |
|---|---|---|
| collectDeviceCode | 台账列表、台账详情、数采监控列表 | 台账列表可直接展示,便于现场核对 |
| collectEnabled | 台账列表、台账表单 | 未启用的设备仍展示在监控列表,便于发现配置错误 |
| online | 监控列表 | 在线为绿色标识,离线为灰色;依据 5 分钟采集窗口 |
| sts/stsName | 监控列表、设备详情 | 生产/待机两态 |
| opm/opmName | 监控列表、设备详情 | 五态枚举,直接展示中文名称 |
| ot、temps | 监控列表、设备详情 | temps 为 JSON 字符串,前端解析后按 T1..Tn 展示 |
| taskCode/taskName、workOrderCode | 监控列表、设备详情 | 只读;无运行任务时显示为空 |
| activeAlarmCount | 监控列表 | 大于 0 时高亮,可点击跳转报警页签并带入设备 |
| status/statusName | 报警列表 | 未消除/已消除 |
| dataJson | 各详情抽屉 | 作为“原始数据”折叠展示,便于排障 |
| 场景 | 规则 |
|---|---|
| 设备未配置数采编号 | 不出现在 /device/list,但后端仍会接收并保存其报文,补绑台账后新数据自动关联 |
| 设备离线判定 | 最近采集时间早于当前时间 5 分钟即离线,与设备启停无关 |
| 工单带入 | 后端按设备工作站自动匹配生产中/部分完成/已停工任务,任务切换最长 30 秒生效 |
| 报警产生 | 设备上报 wmId=2 新增一条未消除记录,同一报警重复上报不重复生成 |
| 报警消失 | 设备上报 wmId=0 自动把该设备全部未消除记录置为已消除并写消除时间 |
| 人工确认 | 仅未消除记录可确认;已消除记录再次确认会提示“该报警已消除,无需重复确认” |
| 周期数据去重 | 同一设备、同一周期序号、同一采集时间只保留一条 |
| 数据保留 | 原始报文 7 天、实时历史 30 天,周期/工艺/参数变更/报警长期保留 |
mes:collect:query,人工确认报警需 mes:collect-alarm:ack。deviceCode 统一使用台账 collectDeviceCode,不要使用设备编码 machineryCode。collectTime、modifyTime、wmTime 时间范围为两个值:第一个为开始时间,第二个为结束时间。temps、etTemps、dataJson 均为 JSON 字符串,需要前端二次解析;解析失败时按原文本展示,避免页面报错。