| ¶Ô±ÈÐÂÎļþ |
| | |
| | | # è®¾å¤æ°é · API è°è¯è®°å½ |
| | | |
| | | > 说æï¼æ¬ææ¡£åºäºå端代ç ï¼`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://<æå¡å¨IP>:<端å£>/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: <æå¡å¨IP>:<端å£> |
| | | Authorization: Bearer <token> |
| | | ``` |
| | | |
| | | **éç¨ååºå£³**ï¼æææ¥å£ï¼ï¼ |
| | | |
| | | ```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ï¼local / test çå¤ profile ä¿æä¸è´ï¼ã |
| | | |
| | | ## ä¸ãå¤é¨æ°éæ¥å£çº¦å®ï¼/pull å端代è°ï¼ |
| | | |
| | | å端 `/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 | 饿µæ¶é´ï¼å端æéç¨æ¥ææ ¼å¼è§£æ | |
| | | | billNo | bill_no | varchar(64) | åæ®å· | |
| | | | shiftName | shift_name | varchar(64) | çæ¬¡ | |
| | | |
| | | **容éè§åï¼/pull ä¾§ï¼ï¼** |
| | | - å¤é¨ `code != "200"` â æ¥éãæ°éæ°æ®æåå¤±è´¥ï¼æ°éæ¥å£è¿åå¼å¸¸ãã |
| | | - å¤é¨è¿å `data` 为空æ°ç» â æ£å¸¸è¿å `recordCount=0, deviceCount=0`ï¼ä¸æ¥éï¼ã |
| | | - `data` å
æè¡ä¸æ¯ JSON 对象 â 该è¡è·³è¿ã |
| | | |
| | | ## åãæ¥å£æç» |
| | | |
| | | > ç»ä¸è·¯å¾åç¼ `/admin-api/mes/dv/telemetry`ï¼ä¸åï¼ä»¥ä¸åé `Authorization: Bearer`ï¼æéå `mes:dv-telemetry:query`ã |
| | | |
| | | ### 1. æåæ°éæ°æ® `GET /pull` |
| | | |
| | | æ 请æ±åæ°ãå端è°ç¨å¤é¨æ°éæ¥å£å¹¶æ¹éå
¥åºï¼è¿åæ¬æ¬¡ç»è®¡ã |
| | | |
| | | **请æ±ï¼** |
| | | |
| | | ```bash |
| | | curl "http://<æå¡å¨IP>:<端å£>/admin-api/mes/dv/telemetry/pull" -H "Authorization: Bearer <token>" |
| | | ``` |
| | | |
| | | **æ£å¸¸ååºï¼ææ°æ®ï¼ï¼** |
| | | |
| | | ```json |
| | | { |
| | | "code": 0, |
| | | "data": { |
| | | "recordCount": 40, |
| | | "deviceCount": 2, |
| | | "pullTime": "2026-09-09 11:02:29" |
| | | } |
| | | } |
| | | ``` |
| | | |
| | | **æ£å¸¸ååºï¼è¿ 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=æ£å¸¸ | |
| | | | shiftName | String | å¦ | çæ¬¡ï¼ç²¾ç¡®ï¼ | |
| | | | telemetryDataTime | String[] | å¦ | 饿µæ¶é´åºé´ `[èµ·,æ¢]`ï¼æ ¼å¼ `yyyy-MM-dd HH:mm:ss` | |
| | | |
| | | **请æ±ï¼** |
| | | |
| | | ```bash |
| | | curl "http://<æå¡å¨IP>:<端å£>/admin-api/mes/dv/telemetry/page?pageNo=1&pageSize=10&shiftName=%E6%97%A9%E7%8F%AD&whetherAnomaly=false" -H "Authorization: Bearer <token>" |
| | | ``` |
| | | |
| | | **æ£å¸¸ååºï¼** |
| | | |
| | | ```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`ï¼Longï¼+ `data.list`ï¼æ°ç»ï¼ââæ³¨ææ¯ **`list`**ï¼ä¸æ¯ `records`ï¼å端æ `{ total, list }` è§£æã |
| | | |
| | | > æåºï¼`telemetry_data_time` ååºï¼åæ `id` ååºãåå²è¡¨ä¸ºâæ¯æ¬¡æåå
¨é追å âï¼åä¿¡å·ä¼éå¤å¤è¡ï¼èè°æ³¨æç¨æ¶é´åºé´è¿æ»¤ã |
| | | |
| | | ### 3. åè®¾å¤ææ°é¥æµï¼å®æ¶çæ§ï¼`GET /latest` |
| | | |
| | | | åæ° | ç±»å | å¿
å¡« | 说æ | |
| | | |------|------|------|------| |
| | | | tbDeviceId | String | å¦ | ç²¾ç¡®è¿æ»¤åå°è®¾å¤ï¼è®¾å¤å°è´¦ãæ°éæ°æ®ãTab ç¨ï¼ | |
| | | | deviceName | String | å¦ | 设å¤å称模ç³è¿æ»¤ | |
| | | |
| | | **å®ç°è¦ç¹ï¼** å `mes_dv_telemetry` æè¿ **5000 æ¡**ï¼æé¥æµæ¶é´ååºï¼ï¼å
åæ `tbDeviceId + paramKeyName` å»éä¿çææ°ï¼è¿å**裸æ°ç»**ã |
| | | |
| | | **请æ±ï¼** |
| | | |
| | | ```bash |
| | | curl "http://<æå¡å¨IP>:<端å£>/admin-api/mes/dv/telemetry/latest" -H "Authorization: Bearer <token>" |
| | | curl "http://<æå¡å¨IP>:<端å£>/admin-api/mes/dv/telemetry/latest?tbDeviceId=773543828480065605" -H "Authorization: Bearer <token>" |
| | | ``` |
| | | |
| | | **æ£å¸¸ååºï¼è£¸æ°ç»ï¼ï¼** |
| | | |
| | | ```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" |
| | | } |
| | | ] |
| | | } |
| | | ``` |
| | | |
| | | **è¾¹çæéï¼** |
| | | - è¿åæ¯æ°ç»ï¼ä¸æ¯å页对象ï¼å端éå
³éå页ç»ä»¶è§£æï¼å¦å空å±ç¤ºã |
| | | - æ æ°æ®æ¶è¿å `[]`ï¼code ä»ä¸º 0ï¼ã |
| | | - å»éä¸é 5000 æ¡ï¼è¥å岿°æ®é巨大导è´ä¸æ¹å
æè®¾å¤æ©äº 5000 æ¡ä¹å¤ï¼è¯¥è®¾å¤å¯è½ç¼ºé¡¹ã |
| | | |
| | | ### 4. æ°é设å¤ä¸æ `GET /device-list` |
| | | |
| | | æ åæ°ãä»é¥æµè¡¨æ `tb_device_id + device_name` åç»å»éè¿åã |
| | | |
| | | ```bash |
| | | curl "http://<æå¡å¨IP>:<端å£>/admin-api/mes/dv/telemetry/device-list" -H "Authorization: Bearer <token>" |
| | | ``` |
| | | |
| | | **æ£å¸¸ååºï¼** |
| | | |
| | | ```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` ç¸åï¼è¿å裸æ°ç»ï¼ã |
| | | |
| | | **ååºå段æ¯å¯¹å«ä¹ï¼** |
| | | |
| | | | åæ®µ | 卿¯å¯¹é¡µçç¨é | |
| | | |------|----------------| |
| | | | timelyValue | 宿¶ééå¼ | |
| | | | standardValue | ä¾çµæ åå¼ | |
| | | | whetherAnomaly | true=å离æ åï¼å¼å¸¸ï¼ | |
| | | |
| | | > 注æï¼å½åå端ä»
**éä¼ **å¤é¨æ°æ®ç `standardValue` / `whetherAnomaly`ï¼æªå¨å
é¨åéå¼è®¡ç®ãè¥å¤é¨æªä¸æ¥æ åå¼ï¼ç°åºä¸ `standard_value` 为空ï¼ï¼æ¯å¯¹ç»è®ºä¸»è¦ä¾èµ `whetherAnomaly`ã |
| | | |
| | | ### 6. ä¾çµåæ°æ¯å¯¹æ ¡éªç»è®¡ `GET /check-summary` |
| | | |
| | | åºäº `/latest`ï¼åä¸å»éåçæ¯è®¾å¤ææ°åæ°è¡ï¼æè®¾å¤èåç»è®¡ã |
| | | |
| | | | åæ° | ç±»å | å¿
å¡« | 说æ | |
| | | |------|------|------|------| |
| | | | tbDeviceId | String | å¦ | æå®è®¾å¤ï¼ä¸ä¼ åæ±æ»å
¨é¨è®¾å¤ | |
| | | | deviceName | String | å¦ | 设å¤å称模ç³è¿æ»¤ | |
| | | |
| | | ```bash |
| | | curl "http://<æå¡å¨IP>:<端å£>/admin-api/mes/dv/telemetry/check-summary?tbDeviceId=773543983287631941" -H "Authorization: Bearer <token>" |
| | | ``` |
| | | |
| | | **æ£å¸¸ååºï¼** |
| | | |
| | | ```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 | æ£å¸¸ï¼whetherAnomaly=falseï¼æ° | |
| | | | anomalyCount | Integer | å¼å¸¸ï¼whetherAnomaly=trueï¼æ° | |
| | | | anomalyRate | BigDecimal | å¼å¸¸ç%ï¼ä¿ç 1 ä½å°æ°ï¼åèäºå
¥ï¼ï¼æ åæ°æ¶ä¸º 0 | |
| | | |
| | | **ç»è®¡å£å¾ï¼** 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=å¼å¸¸ï¼false=æ£å¸¸ | |
| | | | 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 åéçªå£**ï¼å¤é¨æ¥å£ä»
ä¿çè¿ 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; |
| | | ``` |