Initial commit: 宁夏智慧养殖监管平台
This commit is contained in:
105
backend/verify-environment-data.js
Normal file
105
backend/verify-environment-data.js
Normal file
@@ -0,0 +1,105 @@
|
||||
const mysql = require('mysql2/promise');
|
||||
require('dotenv').config();
|
||||
|
||||
async function verifyEnvironmentData() {
|
||||
let connection;
|
||||
|
||||
try {
|
||||
// 创建数据库连接
|
||||
connection = await mysql.createConnection({
|
||||
host: process.env.DB_HOST,
|
||||
port: process.env.DB_PORT,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME
|
||||
});
|
||||
|
||||
console.log('数据库连接成功');
|
||||
|
||||
// 检查表是否存在
|
||||
const [tables] = await connection.execute(
|
||||
"SHOW TABLES LIKE 'environment_schedules'"
|
||||
);
|
||||
|
||||
if (tables.length === 0) {
|
||||
console.log('环境监测时刻表不存在');
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('环境监测时刻表存在');
|
||||
|
||||
// 获取总记录数
|
||||
const [countResult] = await connection.execute(
|
||||
'SELECT COUNT(*) as total_records FROM environment_schedules'
|
||||
);
|
||||
console.log(`\n总记录数: ${countResult[0].total_records}`);
|
||||
|
||||
// 按农场分组统计
|
||||
const [farmStats] = await connection.execute(
|
||||
`SELECT farm_id, COUNT(*) as record_count,
|
||||
MIN(monitoring_date) as earliest_date,
|
||||
MAX(monitoring_date) as latest_date
|
||||
FROM environment_schedules
|
||||
GROUP BY farm_id
|
||||
ORDER BY farm_id`
|
||||
);
|
||||
|
||||
console.log('\n按农场统计:');
|
||||
farmStats.forEach(stat => {
|
||||
console.log(`农场${stat.farm_id}: ${stat.record_count}条记录, 日期范围: ${stat.earliest_date} 到 ${stat.latest_date}`);
|
||||
});
|
||||
|
||||
// 获取最新的10条记录
|
||||
const [recentRecords] = await connection.execute(
|
||||
`SELECT farm_id, device_id, schedule_time, temperature, humidity,
|
||||
DATE(monitoring_date) as date, status
|
||||
FROM environment_schedules
|
||||
ORDER BY monitoring_date DESC, schedule_time DESC
|
||||
LIMIT 10`
|
||||
);
|
||||
|
||||
console.log('\n最新的10条环境监测记录:');
|
||||
console.log('农场ID | 设备ID | 日期 | 时间 | 温度(°C) | 湿度(%) | 状态');
|
||||
console.log('-------|----------|------------|----------|----------|---------|--------');
|
||||
recentRecords.forEach(record => {
|
||||
console.log(`${record.farm_id.toString().padEnd(6)} | ${record.device_id.padEnd(8)} | ${record.date} | ${record.schedule_time} | ${record.temperature.toString().padEnd(8)} | ${record.humidity.toString().padEnd(7)} | ${record.status}`);
|
||||
});
|
||||
|
||||
// 检查数据分布
|
||||
const [timeStats] = await connection.execute(
|
||||
`SELECT schedule_time, COUNT(*) as count
|
||||
FROM environment_schedules
|
||||
GROUP BY schedule_time
|
||||
ORDER BY schedule_time`
|
||||
);
|
||||
|
||||
console.log('\n按监测时间统计:');
|
||||
timeStats.forEach(stat => {
|
||||
console.log(`${stat.schedule_time}: ${stat.count}条记录`);
|
||||
});
|
||||
|
||||
// 温度湿度范围统计
|
||||
const [rangeStats] = await connection.execute(
|
||||
`SELECT
|
||||
MIN(temperature) as min_temp, MAX(temperature) as max_temp, AVG(temperature) as avg_temp,
|
||||
MIN(humidity) as min_humidity, MAX(humidity) as max_humidity, AVG(humidity) as avg_humidity
|
||||
FROM environment_schedules`
|
||||
);
|
||||
|
||||
console.log('\n温度湿度统计:');
|
||||
const stats = rangeStats[0];
|
||||
console.log(`温度范围: ${parseFloat(stats.min_temp).toFixed(2)}°C - ${parseFloat(stats.max_temp).toFixed(2)}°C (平均: ${parseFloat(stats.avg_temp).toFixed(2)}°C)`);
|
||||
console.log(`湿度范围: ${parseFloat(stats.min_humidity).toFixed(2)}% - ${parseFloat(stats.max_humidity).toFixed(2)}% (平均: ${parseFloat(stats.avg_humidity).toFixed(2)}%)`);
|
||||
|
||||
} catch (error) {
|
||||
console.error('验证失败:', error.message);
|
||||
} finally {
|
||||
if (connection) {
|
||||
await connection.end();
|
||||
console.log('\n数据库连接已关闭');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 运行验证脚本
|
||||
verifyEnvironmentData();
|
||||
Reference in New Issue
Block a user