Phase0_sync_plan_with_db_changes
This commit is contained in:
@@ -107,6 +107,8 @@ GET /api/gateway/health
|
|||||||
|
|
||||||
### 3.1 区域表 warehouse_regions(现有)
|
### 3.1 区域表 warehouse_regions(现有)
|
||||||
|
|
||||||
|
层级: warehouse_regions(区域) → warehouse_devicepoint(点位) → base_device(设备)
|
||||||
|
|
||||||
| 字段 | 说明 |
|
| 字段 | 说明 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| Id | int PK |
|
| Id | int PK |
|
||||||
@@ -137,7 +139,7 @@ GET /api/gateway/health
|
|||||||
| SourceId | NVARCHAR(100) | 源系统设备ID |
|
| SourceId | NVARCHAR(100) | 源系统设备ID |
|
||||||
| **DeviceCategory** | NVARCHAR(50) | 设备种类(字典: 摄像机/温湿度变送器/...) |
|
| **DeviceCategory** | NVARCHAR(50) | 设备种类(字典: 摄像机/温湿度变送器/...) |
|
||||||
| **DeviceGroup** | NVARCHAR(20) | 设备分组(字典: 视频设备/IoT设备/门禁设备/道闸设备/报警设备) |
|
| **DeviceGroup** | NVARCHAR(20) | 设备分组(字典: 视频设备/IoT设备/门禁设备/道闸设备/报警设备) |
|
||||||
| RegionId | INT? | 所属区域ID |
|
| PointId | INT? | 所属点位ID |
|
||||||
| GatewayNodeId | INT? | 所属网关节点ID |
|
| GatewayNodeId | INT? | 所属网关节点ID |
|
||||||
| IsParent | NVARCHAR(20) | 是否父设备(字典: 是/否) |
|
| IsParent | NVARCHAR(20) | 是否父设备(字典: 是/否) |
|
||||||
| ParentDeviceId | INT? | 父设备自引用 |
|
| ParentDeviceId | INT? | 父设备自引用 |
|
||||||
@@ -146,8 +148,6 @@ GET /api/gateway/health
|
|||||||
| MapModelScale | FLOAT | |
|
| MapModelScale | FLOAT | |
|
||||||
| MapModelRotation | NVARCHAR(100) | |
|
| MapModelRotation | NVARCHAR(100) | |
|
||||||
| **ExtraData** | TEXT | ★ 适配器扩展JSON(Owl/MC4/门禁字段均存于此) |
|
| **ExtraData** | TEXT | ★ 适配器扩展JSON(Owl/MC4/门禁字段均存于此) |
|
||||||
| LocalOverrides | TEXT | 本地覆盖JSON |
|
|
||||||
| SyncVersion | BIGINT | 乐观锁 |
|
|
||||||
| LastSyncTime | DATETIME | |
|
| LastSyncTime | DATETIME | |
|
||||||
| Enable | NVARCHAR(20) | 启用状态(字典: 启用/禁用) |
|
| Enable | NVARCHAR(20) | 启用状态(字典: 启用/禁用) |
|
||||||
|
|
||||||
@@ -186,16 +186,19 @@ Vol.Pro 同步接口通过 DeviceGroup 路由,无需硬编码:
|
|||||||
```
|
```
|
||||||
gateway_nodes: gw-31ku
|
gateway_nodes: gw-31ku
|
||||||
|
|
||||||
warehouse_regions: 厂区 → 新库区 → 31号库房
|
warehouse_regions → warehouse_devicepoint → base_device
|
||||||
|
区域 点位 设备
|
||||||
|
|
||||||
base_device (RegionId=3, GatewayNodeId=gw-31ku.NodeId):
|
例: 厂区 → 新库区 → 31号库房(点位) → 设备
|
||||||
东北角高位摄像机 (DeviceGroup=视频设备, ExtraData={owlDeviceId,...})
|
|
||||||
人员计数摄像机 (DeviceGroup=视频设备)
|
base_device (PointId=点位ID, GatewayNodeId=gw-31ku.NodeId):
|
||||||
动环采集器 (DeviceGroup=IoT设备, IsParent=是)
|
东北角高位摄像机 (DeviceCategory=摄像机, DeviceGroup=视频设备, ExtraData={owlDeviceId,...})
|
||||||
├── 温湿度变送器 (ParentDeviceId=采集器, ExtraData={pointIndex:0,unit:"℃"})
|
人员计数摄像机 (DeviceCategory=摄像机, DeviceGroup=视频设备)
|
||||||
├── 空调控制器 (ParentDeviceId=采集器, ExtraData={pointIndex:2,isControlPoint:true})
|
动环采集器 (DeviceCategory=动环采集器, DeviceGroup=IoT设备, IsParent=是)
|
||||||
├── 除湿/恒湿机 (ParentDeviceId=采集器)
|
├── 温湿度变送器 (DeviceCategory=温湿度变送器, ParentDeviceId=采集器, ExtraData={pointIndex:0,unit:"℃"})
|
||||||
└── 紧急报警按钮 (ParentDeviceId=采集器, DeviceGroup=报警设备)
|
├── 空调控制器 (DeviceCategory=空调控制器, ParentDeviceId=采集器, ExtraData={pointIndex:2,isControlPoint:true})
|
||||||
|
├── 除湿/恒湿机 (DeviceCategory=除湿/恒湿机, ParentDeviceId=采集器)
|
||||||
|
└── 紧急报警按钮 (DeviceCategory=紧急报警按钮, DeviceGroup=报警设备, ParentDeviceId=采集器)
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -269,7 +272,7 @@ const actionMap = {
|
|||||||
### Owl → 设备
|
### Owl → 设备
|
||||||
- GET /devices → Upsert base_device (DeviceGroup=视频设备, IsParent=是)
|
- GET /devices → Upsert base_device (DeviceGroup=视频设备, IsParent=是)
|
||||||
- GET /channels → Upsert base_device (ParentDeviceId=NVR) + video_channel
|
- GET /channels → Upsert base_device (ParentDeviceId=NVR) + video_channel
|
||||||
- Owl 无区域概念 → RegionId=NULL, 管理员手动分配
|
- Owl 无区域概念 → PointId=NULL, 管理员手动分配
|
||||||
- 模式: Merge
|
- 模式: Merge
|
||||||
|
|
||||||
### 反方向写回
|
### 反方向写回
|
||||||
|
|||||||
Reference in New Issue
Block a user