|
@@ -33,7 +33,7 @@ func TestService() {
|
|
sn := "2024332675927850"
|
|
sn := "2024332675927850"
|
|
t_id := "1"
|
|
t_id := "1"
|
|
startTime := "2024-09-30 00:00:00"
|
|
startTime := "2024-09-30 00:00:00"
|
|
- endTime := "2024-10-09 10:04:00"
|
|
+ endTime := "2024-10-09 10:11:00"
|
|
sql := fmt.Sprintf("SELECT * FROM z_device_data_%s WHERE t_id=%s and t_time BETWEEN '%s' AND '%s';", sn, t_id, startTime, endTime)
|
|
sql := fmt.Sprintf("SELECT * FROM z_device_data_%s WHERE t_id=%s and t_time BETWEEN '%s' AND '%s';", sn, t_id, startTime, endTime)
|
|
fmt.Println(sql)
|
|
fmt.Println(sql)
|
|
devices := make([]DeviceData, 0)
|
|
devices := make([]DeviceData, 0)
|
|
@@ -60,7 +60,7 @@ func TestService() {
|
|
deviceSensorParameter := fmt.Sprintf("SELECT t__tlower,t__tupper,t__r_hlower,t__r_hupper FROM device_sensor_parameter WHERE t_sn='%s' and t__state=1 and t_id = '%s' ORDER BY update_time DESC LIMIT 1", sn, t_id)
|
|
deviceSensorParameter := fmt.Sprintf("SELECT t__tlower,t__tupper,t__r_hlower,t__r_hupper FROM device_sensor_parameter WHERE t_sn='%s' and t__state=1 and t_id = '%s' ORDER BY update_time DESC LIMIT 1", sn, t_id)
|
|
databases.Db.QueryRow(sqls).Scan(&t_save_t, &t_warn)
|
|
databases.Db.QueryRow(sqls).Scan(&t_save_t, &t_warn)
|
|
databases.Db.QueryRow(deviceSensorParameter).Scan(&t_tlower, &t_tupper, &t_r_hlower, &t_r_hupper)
|
|
databases.Db.QueryRow(deviceSensorParameter).Scan(&t_tlower, &t_tupper, &t_r_hlower, &t_r_hupper)
|
|
- fmt.Println("保存间隔:", t_save_t, "报警间隔:", t_warn, "温湿度上下限:", t_tlower, t_tupper, t_r_hlower, t_r_hupper)
|
|
+
|
|
adjustData(devices, t_save_t, t_warn, sn, t_tlower, t_tupper, t_r_hlower, t_r_hupper)
|
|
adjustData(devices, t_save_t, t_warn, sn, t_tlower, t_tupper, t_r_hlower, t_r_hupper)
|
|
}
|
|
}
|
|
|
|
|
|
@@ -80,61 +80,37 @@ func adjustData(devices []DeviceData, t_save_t, t_warn, sn string, t_tlower, t_t
|
|
continue
|
|
continue
|
|
}
|
|
}
|
|
timeDiff := t2.Sub(t1).Seconds()
|
|
timeDiff := t2.Sub(t1).Seconds()
|
|
-
|
|
|
|
-
|
|
|
|
|
|
|
|
isAlarm := devices[i].T_T < t_tlower || devices[i].T_T > t_tupper || devices[i].T_Rh < t_r_hlower || devices[i].T_Rh > t_r_hupper
|
|
isAlarm := devices[i].T_T < t_tlower || devices[i].T_T > t_tupper || devices[i].T_Rh < t_r_hlower || devices[i].T_Rh > t_r_hupper
|
|
isNextAlarm := devices[i+1].T_T < t_tlower || devices[i+1].T_T > t_tupper || devices[i+1].T_Rh < t_r_hlower || devices[i+1].T_Rh > t_r_hupper
|
|
isNextAlarm := devices[i+1].T_T < t_tlower || devices[i+1].T_T > t_tupper || devices[i+1].T_Rh < t_r_hlower || devices[i+1].T_Rh > t_r_hupper
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
if isAlarm && !isNextAlarm {
|
|
if isAlarm && !isNextAlarm {
|
|
fmt.Println("处理报警数据与正常数据之间的间隔", devices[i].T_Time, devices[i+1].T_Time)
|
|
fmt.Println("处理报警数据与正常数据之间的间隔", devices[i].T_Time, devices[i+1].T_Time)
|
|
- interval := floatWarn - 20
|
|
+
|
|
- newTime := t1.Add(time.Duration(int(interval)) * time.Second)
|
|
+
|
|
|
|
+
|
|
|
|
+ newTime := t2.Add(time.Duration(floatSave * float64(time.Second) * -1))
|
|
for timeDiff > floatSave {
|
|
for timeDiff > floatSave {
|
|
- if timeDiff > floatSave {
|
|
+ fmt.Printf("间隔时间大于系统设置时间:%s 和 %s\n", devices[i].T_Time, devices[i+1].T_Time)
|
|
- fmt.Printf("间隔时间大于系统设置时间:%s 和 %s\n", devices[i].T_Time, devices[i+1].T_Time)
|
|
+ T_T, T_Rh := IsNotWarn(devices, t_tlower, t_tupper, t_r_hlower, t_r_hupper)
|
|
- T_T, T_Rh := IsNotWarn(devices, t_tlower, t_tupper, t_r_hlower, t_r_hupper)
|
|
+ devi := DeviceData{
|
|
- devi := DeviceData{
|
|
+ T_Id: devices[i].T_Id,
|
|
- T_Id: devices[i].T_Id,
|
|
+ T_Sp: devices[i].T_Sp,
|
|
- T_Sp: devices[i].T_Sp,
|
|
+ T_Time: newTime.Format(timeFormat),
|
|
- T_Time: newTime.Format(timeFormat),
|
|
+ T_T: T_T,
|
|
- T_T: T_T,
|
|
+ T_Rh: T_Rh,
|
|
- T_Rh: T_Rh,
|
|
+ T_Site: devices[i].T_Site,
|
|
- T_Site: devices[i].T_Site,
|
|
+ Create_time: newTime.Format(timeFormat),
|
|
- Create_time: newTime.Format(timeFormat),
|
|
|
|
- }
|
|
|
|
- insertSql := fmt.Sprintf("INSERT INTO z_device_data_%s (t_id, t_sp, t_time, t_t, t_rh, t_site, create_time) VALUES (?, ?, ?, ?, ?, ?, ?)", sn)
|
|
|
|
- _, err := databases.Db.Exec(insertSql, devi.T_Id, devi.T_Sp, devi.T_Time, devi.T_T, devi.T_Rh, devi.T_Site.String, devi.Create_time)
|
|
|
|
- if err != nil {
|
|
|
|
- fmt.Println("插入新时间点失败:", err)
|
|
|
|
- }
|
|
|
|
- log.Println("sn:", sn, "连续报警补漏数据:", devi, " 插入时间点:", newTime.Format(timeFormat))
|
|
|
|
- timeDiff = t2.Sub(newTime).Seconds()
|
|
|
|
- newTime = newTime.Add(time.Duration(int(floatSave)) * time.Second)
|
|
|
|
}
|
|
}
|
|
|
|
+ insertSql := fmt.Sprintf("INSERT INTO z_device_data_%s (t_id, t_sp, t_time, t_t, t_rh, t_site, create_time) VALUES (?, ?, ?, ?, ?, ?, ?)", sn)
|
|
|
|
+ _, err := databases.Db.Exec(insertSql, devi.T_Id, devi.T_Sp, devi.T_Time, devi.T_T, devi.T_Rh, devi.T_Site.String, devi.Create_time)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println("插入新时间点失败:", err)
|
|
|
|
+ }
|
|
|
|
+ log.Println("sn:", sn, "连续报警补漏数据:", devi, " 插入时间点:", newTime.Format(timeFormat))
|
|
|
|
+
|
|
|
|
+ timeDiff = newTime.Sub(t1).Seconds()
|
|
|
|
+ newTime = newTime.Add(time.Duration(floatSave * float64(time.Second) * -1))
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|