| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- -- 阈值表
- CREATE TABLE IF NOT EXISTS threshold (
- id BIGSERIAL PRIMARY KEY,
- device_id VARCHAR(100) NOT NULL,
- device_type VARCHAR(50),
- region VARCHAR(50),
- parameter VARCHAR(100) NOT NULL,
- min_value DOUBLE PRECISION,
- max_value DOUBLE PRECISION,
- warning_min DOUBLE PRECISION,
- warning_max DOUBLE PRECISION,
- unit VARCHAR(20),
- description TEXT,
- status INTEGER DEFAULT 1 COMMENT '1-启用,0-禁用',
- create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
- );
-
- -- 信息发布表
- CREATE TABLE IF NOT EXISTS notification (
- id BIGSERIAL PRIMARY KEY,
- title VARCHAR(200) NOT NULL,
- content TEXT NOT NULL,
- type VARCHAR(20) NOT NULL COMMENT 'forecast-预报,warning-预警,info-通知',
- region VARCHAR(50),
- priority VARCHAR(20) DEFAULT 'medium' COMMENT 'high-高,medium-中,low-低',
- status INTEGER DEFAULT 1 COMMENT '1-草稿,2-已发布,3-已归档',
- publisher VARCHAR(100),
- publish_time TIMESTAMP,
- create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
- );
-
- -- 设备表
- CREATE TABLE IF NOT EXISTS equipment (
- id BIGSERIAL PRIMARY KEY,
- device_name VARCHAR(100) NOT NULL,
- device_type VARCHAR(50),
- model VARCHAR(100),
- serial_number VARCHAR(100),
- region VARCHAR(50),
- location TEXT,
- status VARCHAR(20) DEFAULT 'offline' COMMENT 'online-在线,offline-离线,maintenance-维护中,fault-故障',
- manufacturer VARCHAR(100),
- installation_date DATE,
- last_maintenance_date DATE,
- next_maintenance_date DATE,
- latitude DOUBLE PRECISION,
- longitude DOUBLE PRECISION,
- create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
- );
-
- -- 创建索引
- CREATE INDEX IF NOT EXISTS idx_threshold_device_id ON threshold(device_id);
- CREATE INDEX IF NOT EXISTS idx_threshold_region ON threshold(region);
- CREATE INDEX IF NOT EXISTS idx_threshold_parameter ON threshold(parameter);
- CREATE INDEX IF NOT EXISTS idx_notification_region ON notification(region);
- CREATE INDEX IF NOT EXISTS idx_notification_type ON notification(type);
- CREATE INDEX IF NOT EXISTS idx_notification_status ON notification(status);
- CREATE INDEX IF NOT EXISTS idx_equipment_device_name ON equipment(device_name);
- CREATE INDEX IF NOT EXISTS idx_equipment_device_type ON equipment(device_type);
- CREATE INDEX IF NOT EXISTS idx_equipment_region ON equipment(region);
- CREATE INDEX IF NOT EXISTS idx_equipment_status ON equipment(status);
-
- -- 插入示例数据
- -- 阈值示例
- INSERT INTO threshold (device_id, device_type, region, parameter, min_value, max_value, warning_min, warning_max, unit, description, status) VALUES
- ('DEV001', 'pressure_sensor', '精河县', 'water_pressure', 0.2, 0.8, 0.15, 0.85, 'MPa', '供水压力阈值', 1),
- ('DEV002', 'flow_meter', '精河县', 'water_flow', 10, 100, 8, 110, 'm³/h', '水流流量阈值', 1),
- ('DEV003', 'quality_sensor', '精河县', 'water_quality', 0, 1, 0.1, 0.9, 'pH', '水质pH值阈值', 1);
-
- -- 设备示例
- INSERT INTO equipment (device_name, device_type, model, serial_number, region, location, status, manufacturer, installation_date) VALUES
- ('压力传感器001', 'pressure_sensor', 'PS-3000', 'SN0012023001', '精河县', '供水站A区', 'online', '华为', '2023-01-15'),
- ('流量计001', 'flow_meter', 'FM-5000', 'SN0012023002', '精河县', '供水站B区', 'online', '西门子', '2023-02-20'),
- ('水质检测仪001', 'quality_sensor', 'QS-2000', 'SN0012023003', '精河县', '供水站C区', 'online', '霍尼韦尔', '2023-03-10');
-
- -- 信息发布示例
- INSERT INTO notification (title, content, type, region, priority, status, publisher, publish_time) VALUES
- ('停水通知', '因设备维护,预计明天9:00-12:00精河县部分区域将暂停供水', 'warning', '精河县', 'high', 2, 'system_admin', '2026-06-14T08:00:00'),
- ('水质提升通知', '本季度已完成水质净化设备升级,水质显著提升', 'info', '精河县', 'medium', 2, 'water_quality_team', '2026-06-01T10:00:00'),
- ('雨季供水保障通知', '近期降雨较多,各水厂已加强巡检,确保供水稳定', 'forecast', '精河县', 'low', 2, 'emergency_team', '2026-05-20T14:00:00');
|