add sensors loop

This commit is contained in:
Romulus21
2024-08-19 17:05:24 +02:00
parent 0513e1031e
commit f36be8a19a

View File

@@ -83,18 +83,20 @@ fn aggregate_values(conn: &mut PooledConn, date: NaiveDate) -> Result<(), Box<dy
let start_time = Utc.with_ymd_and_hms(date.year(), date.month(), date.day(), 00, 00, 00).unwrap() - Duration::minutes(15);
let end_time = start_time + Duration::days(1);
let mut current_time = start_time;
let sensors = [
Sensor::new("maison".to_string(), "bureau".to_string(), "co2".to_string()),
Sensor::new("maison".to_string(), "bureau".to_string(), "tvoc".to_string())
];
while current_time <= end_time {
let start_time_loop = current_time.to_string();
let end_time_loop = (current_time + Duration::minutes(29) + Duration::seconds(59)).to_string();
for sensor in &sensors {
let query = format!("SELECT * FROM donnees WHERE capteur = '{}' AND type = '{}' AND (date_donnee BETWEEN '{}' AND '{}');", sensor.capteur, sensor.type_donnee, start_time_loop, end_time_loop);
for sensor in &sensors {
let mut current_time = start_time;
while current_time <= end_time {
let start_time_loop = current_time.to_string();
let end_time_loop = (current_time + Duration::minutes(29) + Duration::seconds(59)).to_string();
let query = format!("SELECT * FROM donnees WHERE service = '{}' AND capteur = '{}' AND type = '{}' AND (date_donnee BETWEEN '{}' AND '{}');", sensor.service, sensor.capteur, sensor.type_donnee, start_time_loop, end_time_loop);
let selected_rows: Vec<Row> = conn.query(query)?;
let donnees: Vec<Donnee> = selected_rows.into_iter().map(Donnee::from).collect();