From 2a69f1a4365fb7daa8d00c07ac859a0d45780eb7 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 09 九月 2026 17:31:10 +0800
Subject: [PATCH] docs(mes): 添加设备数采API调试文档
---
docs/dv_telemetry_api_debug.md | 403 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 403 insertions(+), 0 deletions(-)
diff --git a/docs/dv_telemetry_api_debug.md b/docs/dv_telemetry_api_debug.md
new file mode 100644
index 0000000..4d6d1ca
--- /dev/null
+++ b/docs/dv_telemetry_api_debug.md
@@ -0,0 +1,403 @@
+# 璁惧鏁伴噰 路 API 璋冭瘯璁板綍
+
+> 璇存槑锛氭湰鏂囨。鍩轰簬鍚庣浠g爜锛坄yudao-module-mes` 鐨� `controller/admin/dv/telemetry`锛夐潤鎬佹暣鐞嗭紝渚涜仈璋冦�佸洖褰掋�佹帓鏌ヤ娇鐢ㄣ�傜ず渚嬫姤鏂囧瓧娈靛榻愬綋鍓嶆暟鎹簱鐪熷疄鏍锋湰锛堟埅鑷� 2026-09-09锛夈��
+
+## 涓�銆佹ā鍧椾笌鏁版嵁娴佹杩�
+
+- 鎵�灞炴ā鍧楋細**MES 璁惧绠$悊 鈫� 璁惧鏁伴噰**锛堝墠绔� `views/mes/dv/telemetry/`锛夈��
+- 涓氬姟鏁版嵁鍏ㄩ儴鏉ヨ嚜**澶栭儴鏁伴噰鏈嶅姟**锛堣繎 5 鍒嗛挓绐楀彛锛夛紝鐢卞悗绔媺鍙栧悗钀藉簱鍒版湰鍦� `mes_dv_telemetry`锛岄〉闈㈠彧璇绘煡璇€��
+- 鏁伴噰鎺ュ彛鍧囨棤鏂板/淇敼/鍒犻櫎/瀵煎嚭鎿嶄綔锛屼粎鏈� **1 涓媺鍙�** + **5 涓煡璇�** 鎺ュ彛锛岀粺涓�鏉冮檺 `mes:dv-telemetry:query`銆�
+- 钀藉簱琛� `mes_dv_telemetry` 鐜扮姸锛�**296 鏉� / 4 鍙拌澶�**銆�
+
+| 璁惧鍚嶇О | tbDeviceId | 璁板綍鏁� | 閬ユ祴鏃堕棿鑼冨洿 |
+|----------|------------|-------|--------------|
+| 鍗曡酱楂樹綆鍘�-3 | 773544054188146757 | 64 | 2026-08-28 10:59:10 |
+| 鍗曡酱楂樹綆鍘�-4 | 773543983287631941 | 128 | 2026-08-28 10:59:09 ~ 2026-09-09 10:59:20 |
+| 鍗曡酱楂樹綆鍘�-5-鏀归�� | 773543911229489221 | 64 | 2026-08-28 11:00:02 |
+| 鐪熺┖娴囩瓚鏈� | 773543828480065605 | 40 | 2026-08-28 10:59:53 ~ 2026-09-09 10:59:38 |
+
+> 娉細鍗曡酱楂樹綆鍘�-3銆�-5-鏀归�� 鏁版嵁鍋滅暀鍦� 08-28锛岃鏄庤繎鍑犲ぉ鏁伴噰鏈嶅姟浠呭閮ㄥ垎璁惧鎸佺画浜у嚭鏁版嵁锛屽睘澶栭儴鏁版嵁渚х幇鐘躲��
+
+### 鏁版嵁娴�
+
+```
+[澶栭儴鏁伴噰鏈嶅姟] --GET 杩�5鍒嗛挓--> MesDvTelemetryPullJob(瀹氭椂/鎵嬪姩) --convert+insertBatch--> mes_dv_telemetry
+ |
+ 椤甸潰 latest / page / check / check-summary <----鈹� (鍙)
+```
+
+## 浜屻�佽皟璇曞墠缃潯浠�
+
+| 椤� | 鍊� | 璇存槑 |
+|----|----|------|
+| 鎺ュ彛鍓嶇紑 | `http://<鏈嶅姟鍣↖P>:<绔彛>/admin-api` | 鍚庣鏈嶅姟鍦板潃 |
+| 閴存潈 | `Authorization: Bearer <token>` | 鍏堢櫥褰曡幏鍙� token |
+| 鐧诲綍鎺ュ彛 | `POST /admin-api/system/auth/login` | Body `{ "username": "鈥�", "password": "鈥�" }`锛屽搷搴� `data.accessToken` |
+| 鏉冮檺 | `mes:dv-telemetry:query` | 褰撳墠鐢ㄦ埛闇�鎷ユ湁璇ユ潈闄愶紝鍚﹀垯杩斿洖 403 |
+| 鏁版嵁琛� | `mes_dv_telemetry`锛堝簱 `mom-xgdl`锛� | 鏃犲啓搴撳満鏅紝浠呮媺鍙栧啓鍏� |
+
+**閫氱敤璇锋眰澶寸ず渚�**
+
+```http
+GET /admin-api/mes/dv/telemetry/latest HTTP/1.1
+Host: <鏈嶅姟鍣↖P>:<绔彛>
+Authorization: Bearer <token>
+```
+
+**閫氱敤鍝嶅簲澹�**锛堟墍鏈夋帴鍙o級锛�
+
+```json
+{ "code": 0, "msg": "", "data": 鈥� }
+```
+
+`code = 0` 鎴愬姛锛涢潪 0 涓轰笟鍔�/绯荤粺閿欒锛岃 `msg`銆�
+
+### 鏁伴噰鏈嶅姟鍦板潃閰嶇疆锛堟媺鍙� /pull 渚濊禆锛�
+
+閰嶇疆椤� `yudao.mes.telemetry`锛坄MesTelemetryProperties`锛夛細
+
+| 椤� | 褰撳墠鍊�(application-local.yaml) | 璇存槑 |
+|----|-------------------------------|------|
+| `base-url` | `http://106.227.91.252:3100` | 鏁伴噰鏈嶅姟鍩虹鍦板潃锛屾湭閰嶇疆鏃� /pull 鎶ラ敊 |
+| `path` | `/api/jxjs/mesTb/getDeviceDetails` | 杩斿洖杩� 5 鍒嗛挓璁惧鏁版嵁 |
+
+> 鑻ュ垏鎹㈠叾瀹冭繍琛� profile锛岃鍚屾瀵瑰簲 yaml锛坙ocal / test 绛夊 profile 淇濇寔涓�鑷达級銆�
+
+## 涓夈�佸閮ㄦ暟閲囨帴鍙g害瀹氾紙/pull 鍚庣浠h皟锛�
+
+鍚庣 `/pull` 浼氫互 HTTP GET 璋冪敤锛�
+
+```
+GET {base-url}{path} (鏃犲弬锛岃繑鍥炶繎 5 鍒嗛挓璁惧鏁版嵁)
+```
+
+**鏈熸湜鍝嶅簲缁撴瀯锛�**
+
+```json
+{
+ "code": "200",
+ "data": [
+ {
+ "tbDeviceId": "773543983287631941",
+ "deviceName": "鍗曡酱楂樹綆鍘�-4",
+ "paramName": "Slave1@娌瑰彉_鎬诲対鏁拌瀹�",
+ "paramKeyName": "Slave1@娌瑰彉_鎬诲対鏁拌瀹�",
+ "standardValue": null,
+ "timelyValue": "500",
+ "avgValue": "500.00",
+ "maxValue": "500",
+ "minValue": "500",
+ "whetherAnomaly": false,
+ "telemetryDataTime": "2026-09-09 10:59:20",
+ "billNo": null,
+ "shiftName": "鏃╃彮"
+ }
+ ]
+}
+```
+
+**瀛楁 鈫� 琛ㄥ垪鏄犲皠锛�**
+
+| 澶栭儴瀛楁 | 琛ㄥ垪 | 绫诲瀷(搴�) | 璇存槑 |
+|----------|------|----------|------|
+| tbDeviceId | tb_device_id | varchar(100) | 鏁伴噰璁惧ID锛屼笌璁惧鍙拌处 `tb_device_id` 瀵瑰簲 |
+| deviceName | device_name | varchar(100) | 璁惧鍚嶇О |
+| paramName | param_name | varchar(100) | 淇″彿鍚嶇О锛堝睍绀哄悕锛� |
+| paramKeyName | param_key_name | varchar(100) | 璁惧 KEY 鍚嶇О锛堝幓閲嶉敭锛� |
+| standardValue | standard_value | varchar(64) | 鏍囧噯鍊� |
+| timelyValue | timely_value | varchar(64) | 淇″彿鍊硷紙瀹炴椂锛� |
+| avgValue | avg_value | varchar(64) | 鍧囧�� |
+| maxValue | max_value | varchar(64) | 鏈�澶у�� |
+| minValue | min_value | varchar(64) | 鏈�灏忓�� |
+| whetherAnomaly | whether_anomaly | bit(1) | 鏄惁寮傚父锛涙帴鍙� `1/0/true/false/Y/N` 瀛楃涓� |
+| telemetryDataTime | telemetry_data_time | datetime | 閬ユ祴鏃堕棿锛屽悗绔寜閫氱敤鏃ユ湡鏍煎紡瑙f瀽 |
+| billNo | bill_no | varchar(64) | 鍗曟嵁鍙� |
+| shiftName | shift_name | varchar(64) | 鐝 |
+
+**瀹归敊瑙勫垯锛�/pull 渚э級锛�**
+- 澶栭儴 `code != "200"` 鈫� 鎶ラ敊銆屾暟閲囨暟鎹媺鍙栧け璐ワ細鏁伴噰鎺ュ彛杩斿洖寮傚父銆嶃��
+- 澶栭儴杩斿洖 `data` 涓虹┖鏁扮粍 鈫� 姝e父杩斿洖 `recordCount=0, deviceCount=0`锛堜笉鎶ラ敊锛夈��
+- `data` 鍐呮煇琛屼笉鏄� JSON 瀵硅薄 鈫� 璇ヨ璺宠繃銆�
+
+## 鍥涖�佹帴鍙f槑缁�
+
+> 缁熶竴璺緞鍓嶇紑 `/admin-api/mes/dv/telemetry`锛屼笅鍚岋紱浠ヤ笅鍧囬渶 `Authorization: Bearer`锛屾潈闄愬潎 `mes:dv-telemetry:query`銆�
+
+### 1. 鎷夊彇鏁伴噰鏁版嵁 `GET /pull`
+
+鏃犺姹傚弬鏁般�傚悗绔皟鐢ㄥ閮ㄦ暟閲囨帴鍙e苟鎵归噺鍏ュ簱锛岃繑鍥炴湰娆$粺璁°��
+
+**璇锋眰锛�**
+
+```bash
+curl "http://<鏈嶅姟鍣↖P>:<绔彛>/admin-api/mes/dv/telemetry/pull" -H "Authorization: Bearer <token>"
+```
+
+**姝e父鍝嶅簲锛堟湁鏁版嵁锛夛細**
+
+```json
+{
+ "code": 0,
+ "data": {
+ "recordCount": 40,
+ "deviceCount": 2,
+ "pullTime": "2026-09-09 11:02:29"
+ }
+}
+```
+
+**姝e父鍝嶅簲锛堣繎 5 鍒嗛挓鏃犳暟鎹級锛�**
+
+```json
+{ "code": 0, "data": { "recordCount": 0, "deviceCount": 0, "pullTime": "2026-09-09 11:02:29" } }
+```
+
+| data 瀛楁 | 绫诲瀷 | 璇存槑 |
+|----------|------|------|
+| recordCount | Integer | 鏈鍏ュ簱鏉℃暟 |
+| deviceCount | Integer | 鏈娑夊強璁惧鏁帮紙鎸� tbDeviceId 鍘婚噸锛� |
+| pullTime | LocalDateTime | 鎷夊彇鏃堕棿锛堝叆搴撴壒閲忓叡鐢級 |
+
+**寮傚父鍦烘櫙锛�**
+
+| code | 瑙﹀彂鏉′欢 |
+|------|----------|
+| 1_040_308_001锛堟暟閲囨暟鎹媺鍙栧け璐ワ細xxx锛� | 鏈厤缃� base-url / 澶栭儴璋冪敤寮傚父 / 杩斿洖涓虹┖ / code鈮�200 |
+
+> 鎺掓煡锛氬閮ㄦ湇鍔″湴鍧�鏄惁鍙揪锛堝綋鍓� base-url 涓哄叕缃�/鍐呯綉鍦板潃锛岀綉缁滀笉閫氭椂鍗虫姤閿欙級锛涘閮� `code` 鏄惁瀛楃涓� `"200"`銆�
+
+### 2. 鍘嗗彶璁板綍鍒嗛〉 `GET /page`
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| pageNo | Integer | 鏄� | 椤电爜锛屼粠 1 寮�濮� |
+| pageSize | Integer | 鏄� | 姣忛〉鏉℃暟 |
+| tbDeviceId | String | 鍚� | 鏁伴噰璁惧ID锛堢簿纭級 |
+| deviceName | String | 鍚� | 璁惧鍚嶇О锛堟ā绯� like锛� |
+| paramName | String | 鍚� | 淇″彿鍚嶇О锛堟ā绯� like锛� |
+| whetherAnomaly | Boolean | 鍚� | true=寮傚父 / false=姝e父 |
+| shiftName | String | 鍚� | 鐝锛堢簿纭級 |
+| telemetryDataTime | String[] | 鍚� | 閬ユ祴鏃堕棿鍖洪棿 `[璧�,姝`锛屾牸寮� `yyyy-MM-dd HH:mm:ss` |
+
+**璇锋眰锛�**
+
+```bash
+curl "http://<鏈嶅姟鍣↖P>:<绔彛>/admin-api/mes/dv/telemetry/page?pageNo=1&pageSize=10&shiftName=%E6%97%A9%E7%8F%AD&whetherAnomaly=false" -H "Authorization: Bearer <token>"
+```
+
+**姝e父鍝嶅簲锛�**
+
+```json
+{
+ "code": 0,
+ "data": {
+ "total": 128,
+ "list": [
+ {
+ "id": 410,
+ "tbDeviceId": "773543983287631941",
+ "deviceName": "鍗曡酱楂樹綆鍘�-4",
+ "paramName": "Slave1@鍏鍑哄ご涓�璁惧畾",
+ "paramKeyName": "Slave1@鍏鍑哄ご涓�璁惧畾",
+ "standardValue": null,
+ "timelyValue": "0",
+ "avgValue": "0",
+ "maxValue": "0",
+ "minValue": "0",
+ "whetherAnomaly": false,
+ "telemetryDataTime": "2026-09-09 10:59:20",
+ "billNo": null,
+ "shiftName": "鏃╃彮",
+ "pullTime": "2026-09-09 11:02:29",
+ "createTime": "2026-09-09 11:02:29"
+ }
+ ]
+ }
+}
+```
+
+**鍒嗛〉杩斿洖缁撴瀯锛�** 椤跺眰 `data.total`锛圠ong锛�+ `data.list`锛堟暟缁勶級鈥斺�旀敞鎰忔槸 **`list`**锛屼笉鏄� `records`锛屽墠绔寜 `{ total, list }` 瑙f瀽銆�
+
+> 鎺掑簭锛歚telemetry_data_time` 鍊掑簭锛屽啀鎸� `id` 鍊掑簭銆傚巻鍙茶〃涓衡�滄瘡娆℃媺鍙栧叏閲忚拷鍔犫�濓紝鍚屼俊鍙蜂細閲嶅澶氳锛岃仈璋冩敞鎰忕敤鏃堕棿鍖洪棿杩囨护銆�
+
+### 3. 鍚勮澶囨渶鏂伴仴娴嬶紙瀹炴椂鐩戞帶锛塦GET /latest`
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| tbDeviceId | String | 鍚� | 绮剧‘杩囨护鍗曞彴璁惧锛堣澶囧彴璐︺�屾暟閲囨暟鎹�峊ab 鐢級 |
+| deviceName | String | 鍚� | 璁惧鍚嶇О妯$硦杩囨护 |
+
+**瀹炵幇瑕佺偣锛�** 鍙� `mes_dv_telemetry` 鏈�杩� **5000 鏉�**锛堟寜閬ユ祴鏃堕棿鍊掑簭锛夛紝鍐呭瓨鎸� `tbDeviceId + paramKeyName` 鍘婚噸淇濈暀鏈�鏂帮紝杩斿洖**瑁告暟缁�**銆�
+
+**璇锋眰锛�**
+
+```bash
+curl "http://<鏈嶅姟鍣↖P>:<绔彛>/admin-api/mes/dv/telemetry/latest" -H "Authorization: Bearer <token>"
+curl "http://<鏈嶅姟鍣↖P>:<绔彛>/admin-api/mes/dv/telemetry/latest?tbDeviceId=773543828480065605" -H "Authorization: Bearer <token>"
+```
+
+**姝e父鍝嶅簲锛堣8鏁扮粍锛夛細**
+
+```json
+{
+ "code": 0,
+ "data": [
+ {
+ "id": 380,
+ "tbDeviceId": "773543828480065605",
+ "deviceName": "鐪熺┖娴囩瓚鏈�",
+ "paramName": "淇″彿鍚嶇О绀轰緥",
+ "paramKeyName": "key@绀轰緥",
+ "standardValue": null,
+ "timelyValue": "0",
+ "avgValue": "0",
+ "maxValue": "0",
+ "minValue": "0",
+ "whetherAnomaly": false,
+ "telemetryDataTime": "2026-09-09 10:59:38",
+ "billNo": null,
+ "shiftName": "鏃╃彮",
+ "pullTime": "2026-09-09 11:02:29",
+ "createTime": "2026-09-09 11:02:29"
+ }
+ ]
+}
+```
+
+**杈圭晫鎻愰啋锛�**
+- 杩斿洖鏄暟缁勶紝涓嶆槸鍒嗛〉瀵硅薄锛屽墠绔渶鍏抽棴鍒嗛〉缁勪欢瑙f瀽锛屽惁鍒欑┖灞曠ず銆�
+- 鏃犳暟鎹椂杩斿洖 `[]`锛坈ode 浠嶄负 0锛夈��
+- 鍘婚噸涓婇檺 5000 鏉★紝鑻ュ巻鍙叉暟鎹噺宸ㄥぇ瀵艰嚧涓�鎵瑰唴鏌愯澶囨棭浜� 5000 鏉′箣澶栵紝璇ヨ澶囧彲鑳界己椤广��
+
+### 4. 鏁伴噰璁惧涓嬫媺 `GET /device-list`
+
+鏃犲弬鏁般�備粠閬ユ祴琛ㄦ寜 `tb_device_id + device_name` 鍒嗙粍鍘婚噸杩斿洖銆�
+
+```bash
+curl "http://<鏈嶅姟鍣↖P>:<绔彛>/admin-api/mes/dv/telemetry/device-list" -H "Authorization: Bearer <token>"
+```
+
+**姝e父鍝嶅簲锛�**
+
+```json
+{
+ "code": 0,
+ "data": [
+ { "tbDeviceId": "773543911229489221", "deviceName": "鍗曡酱楂樹綆鍘�-5-鏀归��" },
+ { "tbDeviceId": "773543828480065605", "deviceName": "鐪熺┖娴囩瓚鏈�" },
+ { "tbDeviceId": "773544054188146757", "deviceName": "鍗曡酱楂樹綆鍘�-3" },
+ { "tbDeviceId": "773543983287631941", "deviceName": "鍗曡酱楂樹綆鍘�-4" }
+ ]
+}
+```
+
+> 璇ヤ笅鎷変粎鍒楀嚭**宸插嚭鐜板湪閬ユ祴琛�**鐨勮澶囷紱鑻ユ煇鍙拌处璁惧浠庢湭琚媺鍙栬繃锛屼笉浼氬嚭鐜板湪姝ゃ��
+
+### 5. 渚涚數鍙傛暟姣斿鏍¢獙鏄庣粏 `GET /check`
+
+**褰撳墠瀹炵幇涓� `/latest` 瀹屽叏涓�鑷�**锛堝悓涓� service 鏂规硶锛夛紝浠呭墠绔睍绀哄彛寰勪笉鍚岋紙鏄庣粏閫愯瀵规瘮 `timelyValue` 涓� `standardValue`锛夈��
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| tbDeviceId | String | 鍚� | 璁惧杩囨护 |
+| deviceName | String | 鍚� | 璁惧鍚嶇О妯$硦杩囨护 |
+
+璇锋眰/鍝嶅簲缁撴瀯涓� `/latest` 鐩稿悓锛堣繑鍥炶8鏁扮粍锛夈��
+
+**鍝嶅簲瀛楁姣斿鍚箟锛�**
+
+| 瀛楁 | 鍦ㄦ瘮瀵归〉鐨勭敤閫� |
+|------|----------------|
+| timelyValue | 瀹炴椂閲囬泦鍊� |
+| standardValue | 渚涚數鏍囧噯鍊� |
+| whetherAnomaly | true=鍋忕鏍囧噯锛堝紓甯革級 |
+
+> 娉ㄦ剰锛氬綋鍓嶅悗绔粎**閫忎紶**澶栭儴鏁版嵁鐨� `standardValue` / `whetherAnomaly`锛屾湭鍦ㄥ唴閮ㄥ仛闃堝�艰绠椼�傝嫢澶栭儴鏈笂鎶ユ爣鍑嗗�硷紙鐜板簱涓� `standard_value` 涓虹┖锛夛紝姣斿缁撹涓昏渚濊禆 `whetherAnomaly`銆�
+
+### 6. 渚涚數鍙傛暟姣斿鏍¢獙缁熻 `GET /check-summary`
+
+鍩轰簬 `/latest`锛堝悓涓婂幓閲嶅悗鐨勬瘡璁惧鏈�鏂板弬鏁拌锛夋寜璁惧鑱氬悎缁熻銆�
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| tbDeviceId | String | 鍚� | 鎸囧畾璁惧锛涗笉浼犲垯姹囨�诲叏閮ㄨ澶� |
+| deviceName | String | 鍚� | 璁惧鍚嶇О妯$硦杩囨护 |
+
+```bash
+curl "http://<鏈嶅姟鍣↖P>:<绔彛>/admin-api/mes/dv/telemetry/check-summary?tbDeviceId=773543983287631941" -H "Authorization: Bearer <token>"
+```
+
+**姝e父鍝嶅簲锛�**
+
+```json
+{
+ "code": 0,
+ "data": [
+ {
+ "tbDeviceId": "773543983287631941",
+ "deviceName": "鍗曡酱楂樹綆鍘�-4",
+ "totalCount": 64,
+ "normalCount": 64,
+ "anomalyCount": 0,
+ "anomalyRate": 0.0
+ }
+ ]
+}
+```
+
+| data 瀛楁 | 绫诲瀷 | 璇存槑 |
+|----------|------|------|
+| tbDeviceId / deviceName | String | 璁惧 |
+| totalCount | Integer | 璇ヨ澶囨渶鏂板弬鏁拌鏁� |
+| normalCount | Integer | 姝e父锛坵hetherAnomaly=false锛夋暟 |
+| anomalyCount | Integer | 寮傚父锛坵hetherAnomaly=true锛夋暟 |
+| anomalyRate | BigDecimal | 寮傚父鐜�%锛屼繚鐣� 1 浣嶅皬鏁帮紙鍥涜垗浜斿叆锛夛紱鏃犲弬鏁版椂涓� 0 |
+
+**缁熻鍙e緞锛�** totalCount = 璁惧鍦ㄢ�滄渶杩� 5000 鏉″幓閲嶅悗鈥濈殑淇″彿鏁帮紱`anomalyRate = anomalyCount * 100.0 / totalCount`锛堝紓甯哥巼鐧惧垎姣旓級銆傚綋鍓嶅簱涓� 4 鍙拌澶囧紓甯哥巼鍧囦负 0锛堟棤寮傚父琛岋級銆�
+
+## 浜斻�侀仴娴嬭褰曞叕鍏卞瓧娈碉紙page / latest / check 閫氱敤锛�
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| id | Long | 缂栧彿 |
+| tbDeviceId | String | 鏁伴噰璁惧ID |
+| deviceName | String | 璁惧鍚嶇О |
+| paramName | String | 淇″彿鍚嶇О |
+| paramKeyName | String | 璁惧KEY鍚嶇О锛堝幓閲嶉敭锛� |
+| standardValue | String | 鏍囧噯鍊硷紙鍙兘涓虹┖锛� |
+| timelyValue | String | 淇″彿鍊硷紙瀹炴椂锛� |
+| avgValue / maxValue / minValue | String | 鍧囧��/鏈�澶�/鏈�灏� |
+| whetherAnomaly | Boolean | true=寮傚父锛宖alse=姝e父 |
+| telemetryDataTime | LocalDateTime | 閬ユ祴鏁版嵁鏃堕棿 |
+| billNo | String | 鍗曟嵁鍙凤紙鍙兘涓虹┖锛� |
+| shiftName | String | 鐝锛堝瓧鍏哥被鏂囨湰鐩村瓨锛� |
+| pullTime | LocalDateTime | 鏈鎷夊彇鍏ュ簱鏃堕棿 |
+| createTime | LocalDateTime | 鍒涘缓鏃堕棿 |
+
+## 鍏�佽皟璇曟敞鎰忎簨椤逛笌鎺掓煡娓呭崟
+
+1. **閴存潈/鏉冮檺**锛�401 妫�鏌� token 鏄惁杩囨湡锛�403 妫�鏌ユ槸鍚︾己 `mes:dv-telemetry:query`銆�
+2. **/pull 渚濊禆澶栫綉/鍐呯綉鏁伴噰鏈嶅姟**锛氬綋鍓� base-url `http://106.227.91.252:3100` 闈炴湰鏈猴紝缃戠粶涓嶅彲杈炬椂鐩存帴鎶ャ�屾暟閲囨暟鎹媺鍙栧け璐ャ�嶃�傚彲鍦ㄦ湇鍔″櫒渚� `curl http://106.227.91.252:3100/api/jxjs/mesTb/getDeviceDetails` 鍓嶇疆楠岃瘉銆�
+3. **5 鍒嗛挓绐楀彛**锛氬閮ㄦ帴鍙d粎淇濈暀杩� 5 鍒嗛挓鏁版嵁锛岃秴杩囧嵆涓€�傜郴缁熼粯璁ょ敱瀹氭椂浠诲姟锛坄MesDvTelemetryPullJob`锛屽缓璁瘡 5 鍒嗛挓锛夊厹搴曪紱椤甸潰鎵嬪姩 `/pull` 浠呯敤浜庡疄鏃惰ˉ鎷夈��
+4. **鍒嗛〉瀛楁**锛歚/page` 杩斿洖 `{ total, list }`锛屼笉鏄� `records`锛沗/latest`銆乣/check`銆乣/check-summary`銆乣/device-list` 杩斿洖瑁告暟缁勶紝鍓嶇涓嶅彲寮�鍚垎椤电粍浠惰В鏋愩��
+5. **whetherAnomaly 甯冨皵**锛氬簱鍒椾负 `bit(1)`锛屽搷搴斾负 Boolean锛涘竷灏旇繃婊や紶 `true/false`銆�
+6. **鍘婚噸涓婇檺**锛歚/latest` 绯诲垪浠呭彇鏈�杩� 5000 鏉″仛鍘婚噸锛屾暟鎹噺澧為暱鍚庢敞鎰忚澶囨槸鍚︾己椤广��
+7. **standardValue 缂哄け**锛氱幇搴撲腑鏍囧噯鍊煎叏涓虹┖锛宍/check` 姣斿涓昏鐪� `whetherAnomaly`锛岃仈璋冩椂娉ㄦ剰鐣岄潰绌哄�煎睍绀恒��
+8. **鏃堕棿杩囨护**锛歚telemetryDataTime` 浼� `yyyy-MM-dd HH:mm:ss` 鏁扮粍锛涘巻鍙茶〃鎸佺画澧為暱锛屾煡璇㈠缓璁繀甯︽椂闂村尯闂淬��
+
+## 涓冦�佹暟鎹嚜鏌� SQL锛堣皟璇曡緟鍔╋級
+
+```sql
+-- 鎷夊彇钀藉簱鏄惁鎴愬姛锛氭渶杩戜竴娆℃媺鍙�
+SELECT pull_time, COUNT(*) FROM `mom-xgdl`.`mes_dv_telemetry` GROUP BY pull_time ORDER BY pull_time DESC LIMIT 5;
+
+-- 鍚勮澶囪褰曚笌寮傚父姒傚喌
+SELECT device_name, COUNT(*) total,
+ SUM(whether_anomaly = 1) anomaly
+FROM `mom-xgdl`.`mes_dv_telemetry` GROUP BY device_name;
+
+-- 鍗曡澶囨渶杩戜俊鍙�
+SELECT param_name, timely_value, whether_anomaly, telemetry_data_time
+FROM `mom-xgdl`.`mes_dv_telemetry`
+WHERE tb_device_id = '773543983287631941' ORDER BY id DESC LIMIT 20;
+```
--
Gitblit v1.9.3