huangyan 2 mesiacov pred
rodič
commit
0793dc94ec
8 zmenil súbory, kde vykonal 328 pridanie a 327 odobranie
  1. 6 1
      config.yaml
  2. 33 282
      log.txt
  3. 1 1
      logger/logger.go
  4. 1 0
      main.go
  5. 5 12
      service/datacaps.go
  6. 2 1
      service/eqiupmentMonitoringV2.go
  7. 153 0
      service/forewarn.go
  8. 127 30
      service/test.go

+ 6 - 1
config.yaml

@@ -5,7 +5,12 @@ datasource:
   dbname: cold
   username: cold
   password: yjwyEckZS7rE5H!
-
+#datasource:
+#  host: 127.0.0.1
+#  port: 40306
+#  dbname: cold
+#  username: cold
+#  password: yjwyEckZS7rE5H!
 # 配置nats
 nats:
   #连接地址例如: nats://localhost:4222

+ 33 - 282
log.txt

@@ -1,282 +1,33 @@
-earlyWarningSystem2024/09/12 {1 58997 2024-06-17 12:16:25 5.90 58.90 {107.58422088623,26.271993637085 true} 2024-06-17 11:53:36}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-18 08:38:51 5.50 60.40 {107.58379364014,26.273128509521 true} 2024-06-18 08:08:53}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-18 13:24:36 4.80 66.70 {107.58379364014,26.273128509521 true} 2024-06-18 12:54:38}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-18 18:55:00 5.70 63.70 {107.58379364014,26.273128509521 true} 2024-06-18 18:25:11}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-18 19:59:51 4.40 68.00 {107.58379364014,26.273128509521 true} 2024-06-18 19:30:01}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-18 20:35:44 5.50 63.90 {107.58379364014,26.273128509521 true} 2024-06-18 20:05:47}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-19 14:06:00 5.60 61.20 {107.58379364014,26.273128509521 true} 2024-06-19 13:36:09}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-19 18:47:51 6.00 64.70 {107.58379364014,26.273128509521 true} 2024-06-19 18:17:53}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-20 07:57:35 5.80 61.80 {107.58379364014,26.273128509521 true} 2024-06-20 07:27:37}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-20 10:34:43 5.70 62.40 {107.58379364014,26.273128509521 true} 2024-06-20 10:04:45}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-20 17:36:00 4.80 62.30 {107.58379364014,26.273128509521 true} 2024-06-20 17:06:01}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-21 08:12:00 5.20 62.80 {107.58379364014,26.273128509521 true} 2024-06-21 07:42:11}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-21 09:49:24 5.80 63.90 {107.58379364014,26.273128509521 true} 2024-06-21 09:19:34}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-24 18:59:49 5.00 64.40 {107.58379364014,26.273128509521 true} 2024-06-24 18:29:50}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-24 21:46:00 5.40 63.70 {107.58379364014,26.273128509521 true} 2024-06-24 21:16:03}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-25 08:47:09 5.60 61.80 {107.58379364014,26.273128509521 true} 2024-06-25 08:17:10}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-25 13:53:58 4.30 63.00 {107.58379364014,26.273128509521 true} 2024-06-25 13:23:59}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-25 19:41:53 5.50 63.50 {107.58379364014,26.273128509521 true} 2024-06-25 19:11:54}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-26 08:15:00 5.70 62.80 {107.58379364014,26.273128509521 true} 2024-06-26 07:45:04}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-26 09:40:50 5.70 63.90 {107.58379364014,26.273128509521 true} 2024-06-26 09:10:59}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-26 17:51:27 5.60 66.50 {107.58379364014,26.273128509521 true} 2024-06-26 17:21:37}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-27 07:59:04 5.50 64.20 {107.58379364014,26.273128509521 true} 2024-06-27 07:29:14}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-27 10:22:28 5.60 63.40 {107.58379364014,26.273128509521 true} 2024-06-27 09:52:30}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-27 16:53:00 5.70 64.10 {107.58379364014,26.273128509521 true} 2024-06-27 16:23:05}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-28 08:34:20 5.30 64.70 {107.58379364014,26.273128509521 true} 2024-06-28 08:04:21}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-28 14:24:38 6.10 64.50 {107.58379364014,26.273128509521 true} 2024-06-28 13:54:39}
-earlyWarningSystem2024/09/12 {1 58997 2024-06-29 13:25:00 5.00 60.60 {107.58379364014,26.273128509521 true} 2024-06-29 12:55:05}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-01 18:06:42 5.80 63.00 {107.58379364014,26.273128509521 true} 2024-07-01 17:36:43}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-02 08:19:07 5.60 61.50 {107.58379364014,26.273128509521 true} 2024-07-02 07:49:09}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-02 10:43:59 6.00 63.00 {107.58379364014,26.273128509521 true} 2024-07-02 10:14:01}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-02 11:38:41 5.20 64.10 {107.58379364014,26.273128509521 true} 2024-07-02 11:08:42}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-02 20:09:00 5.20 77.90 {107.58379364014,26.273128509521 true} 2024-07-02 19:39:05}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-02 21:27:39 5.90 65.30 {107.58379364014,26.273128509521 true} 2024-07-02 20:57:48}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-03 08:34:30 5.90 62.90 {107.58379364014,26.273128509521 true} 2024-07-03 08:04:32}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-03 10:33:45 5.90 63.50 {107.58379364014,26.273128509521 true} 2024-07-03 10:03:47}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-03 14:34:00 4.80 65.00 {107.58379364014,26.273128509521 true} 2024-07-03 14:04:10}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-03 18:27:28 5.60 65.60 {107.58379364014,26.273128509521 true} 2024-07-03 17:57:37}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-03 19:58:00 5.70 65.10 {107.58379364014,26.273128509521 true} 2024-07-03 19:28:04}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-04 07:37:03 5.80 63.60 {107.58379364014,26.273128509521 true} 2024-07-04 07:07:04}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-04 09:55:31 5.60 62.40 {107.58379364014,26.273128509521 true} 2024-07-04 09:25:32}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-08 19:26:29 5.40 62.90 {107.58379364014,26.273128509521 true} 2024-07-08 18:56:31}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-09 08:39:08 6.00 60.50 {107.58379364014,26.273128509521 true} 2024-07-09 08:09:10}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-09 09:12:13 6.20 61.70 {107.58379364014,26.273128509521 true} 2024-07-09 08:42:15}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-09 14:55:19 4.70 64.20 {107.58379364014,26.273128509521 true} 2024-07-09 14:25:21}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-10 08:55:00 5.90 60.90 {107.58379364014,26.273128509521 true} 2024-07-10 08:25:04}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-12 08:00:00 5.90 60.30 {107.58379364014,26.273128509521 true} 2024-07-12 07:30:10}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-12 13:54:00 4.60 61.90 {107.58379364014,26.273128509521 true} 2024-07-12 13:24:12}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-15 17:33:09 6.20 60.30 {107.58379364014,26.273128509521 true} 2024-07-15 17:03:11}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-16 09:58:42 5.90 60.90 {107.58379364014,26.273128509521 true} 2024-07-16 09:28:43}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-16 11:48:53 5.90 60.80 {107.58379364014,26.273128509521 true} 2024-07-16 11:18:55}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-16 13:02:32 5.50 64.50 {107.58379364014,26.273128509521 true} 2024-07-16 12:32:33}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-16 14:03:00 5.60 74.00 {107.58379364014,26.273128509521 true} 2024-07-16 13:33:07}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-16 14:45:15 5.80 62.90 {107.58379364014,26.273128509521 true} 2024-07-16 14:15:17}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-16 20:31:43 5.20 66.50 {107.58379364014,26.273128509521 true} 2024-07-16 20:01:52}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-17 02:32:00 5.90 57.30 {107.58379364014,26.273128509521 true} 2024-07-17 02:03:59}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-17 08:33:16 5.90 59.20 {107.58379364014,26.273128509521 true} 2024-07-17 08:03:17}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-17 10:44:32 5.80 60.50 {107.58379364014,26.273128509521 true} 2024-07-17 10:14:33}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-17 12:25:38 5.90 61.90 {107.58379364014,26.273128509521 true} 2024-07-17 11:55:39}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-17 19:02:22 6.00 63.80 {107.58379364014,26.273128509521 true} 2024-07-17 18:32:24}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-18 08:08:53 6.00 59.30 {107.58379364014,26.273128509521 true} 2024-07-18 07:38:55}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-18 09:23:11 6.00 59.80 {107.58379364014,26.273128509521 true} 2024-07-18 08:53:20}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-18 19:10:32 6.00 60.70 {107.58379364014,26.273128509521 true} 2024-07-18 18:40:34}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-22 08:41:00 6.00 55.90 {107.58379364014,26.273128509521 true} 2024-07-22 08:11:01}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-22 14:33:00 5.70 59.30 {107.58379364014,26.273128509521 true} 2024-07-22 14:03:12}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-23 08:40:22 5.80 55.80 {107.58379364014,26.273128509521 true} 2024-07-23 08:10:24}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-23 09:58:01 5.90 58.40 {107.58379364014,26.273128509521 true} 2024-07-23 09:28:02}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-23 12:15:33 6.00 58.90 {107.58379364014,26.273128509521 true} 2024-07-23 11:45:42}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-23 15:21:23 6.00 59.10 {107.58379364014,26.273128509521 true} 2024-07-23 14:51:24}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-23 21:07:42 5.30 59.80 {107.58379364014,26.273128509521 true} 2024-07-23 20:37:44}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-24 07:39:00 5.90 56.90 {107.58379364014,26.273128509521 true} 2024-07-24 07:09:15}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-24 14:48:31 6.00 59.10 {107.58379364014,26.273128509521 true} 2024-07-24 14:18:33}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-24 17:39:33 5.60 73.50 {107.58379364014,26.273128509521 true} 2024-07-24 17:09:35}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-24 18:10:14 5.70 60.60 {107.58379364014,26.273128509521 true} 2024-07-24 17:40:16}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-25 08:36:19 5.20 57.20 {107.58379364014,26.273128509521 true} 2024-07-25 08:06:20}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-25 11:08:00 4.90 55.90 {107.58379364014,26.273128509521 true} 2024-07-25 10:43:58}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-25 17:59:38 5.90 57.90 {107.58379364014,26.273128509521 true} 2024-07-25 17:29:40}
-earlyWarningSystem2024/09/12 {1 58997 2024-07-30 17:19:31 5.30 59.60 {107.58379364014,26.273128509521 true} 2024-07-30 16:49:42}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-01 17:47:34 5.50 51.00 {107.58379364014,26.273128509521 true} 2024-08-01 17:17:36}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-02 09:20:00 5.70 53.10 {107.58379364014,26.273128509521 true} 2024-08-02 08:50:05}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-03 05:11:00 5.50 46.30 {107.58379364014,26.273128509521 true} 2024-08-03 04:44:04}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-05 17:44:00 5.40 51.00 {107.58379364014,26.273128509521 true} 2024-08-05 17:14:13}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-06 13:39:02 5.40 59.30 {107.58379364014,26.273128509521 true} 2024-08-06 13:09:13}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-06 19:40:00 5.10 52.50 {107.58379364014,26.273128509521 true} 2024-08-06 19:10:11}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-07 08:08:00 5.50 48.30 {107.58379364014,26.273128509521 true} 2024-08-07 07:38:00}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-08 14:25:40 5.80 61.50 {107.58379364014,26.273128509521 true} 2024-08-08 13:55:41}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-08 15:57:26 4.60 57.20 {107.58379364014,26.273128509521 true} 2024-08-08 15:27:28}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-09 10:38:15 5.20 52.30 {107.58379364014,26.273128509521 true} 2024-08-09 10:08:16}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-12 17:09:16 5.80 53.00 {107.58379364014,26.273128509521 true} 2024-08-12 16:39:18}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-14 14:36:46 5.00 47.00 {107.58379364014,26.273128509521 true} 2024-08-14 14:21:14}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-14 18:13:48 5.20 51.80 {107.58379364014,26.273128509521 true} 2024-08-14 17:43:57}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-19 17:20:52 4.90 50.10 {107.58379364014,26.273128509521 true} 2024-08-19 16:50:53}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-20 12:21:00 5.50 50.40 {107.58379364014,26.273128509521 true} 2024-08-20 11:51:10}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-21 06:34:15 5.30 46.30 {107.58422088623,26.271993637085 true} 2024-08-21 06:04:16}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-21 09:34:00 5.20 48.70 {107.58379364014,26.273128509521 true} 2024-08-21 09:04:05}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-21 11:42:41 5.40 51.50 {107.58379364014,26.273128509521 true} 2024-08-21 11:12:42}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-22 13:00:53 5.50 50.80 {107.58379364014,26.273128509521 true} 2024-08-22 12:31:03}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-23 08:07:11 4.60 49.50 {107.58379364014,26.273128509521 true} 2024-08-23 07:37:12}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-28 13:54:44 5.70 54.90 {107.58379364014,26.273128509521 true} 2024-08-28 13:24:54}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-28 21:07:54 6.60 62.40 {107.58379364014,26.273128509521 true} 2024-08-28 20:37:56}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-29 08:12:32 5.10 51.50 {107.58379364014,26.273128509521 true} 2024-08-29 07:42:33}
-earlyWarningSystem2024/09/12 {1 58997 2024-08-29 14:51:25 5.90 53.10 {107.58379364014,26.273128509521 true} 2024-08-29 14:21:26}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-04 19:44:00 6.30 65.50 {107.58379364014,26.273128509521 true} 2024-09-04 19:14:07}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-04 20:14:15 6.30 65.50 {107.58379364014,26.273128509521 true} 2024-09-04 19:44:16}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-04 20:54:16 6.20 62.60 {107.58379364014,26.273128509521 true} 2024-09-04 20:24:17}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-05 07:46:00 5.70 65.60 {107.58379364014,26.273128509521 true} 2024-09-05 07:16:04}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-05 08:18:52 5.80 62.20 {107.58379364014,26.273128509521 true} 2024-09-05 07:48:54}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-05 11:10:09 6.20 69.20 {107.58379364014,26.273128509521 true} 2024-09-05 10:40:10}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-05 11:50:00 6.20 69.20 {107.58379364014,26.273128509521 true} 2024-09-05 11:20:11}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-05 12:38:28 6.40 65.40 {107.58379364014,26.273128509521 true} 2024-09-05 12:08:29}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-05 13:47:34 6.10 65.80 {107.58379364014,26.273128509521 true} 2024-09-05 13:17:36}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-05 14:43:52 5.40 66.60 {107.58379364014,26.273128509521 true} 2024-09-05 14:13:54}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-05 15:15:38 5.40 66.60 {107.58379364014,26.273128509521 true} 2024-09-05 14:45:39}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-05 15:51:07 5.40 65.80 {107.58379364014,26.273128509521 true} 2024-09-05 15:21:09}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-05 19:47:55 5.90 66.30 {107.58379364014,26.273128509521 true} 2024-09-05 19:18:04}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-10 18:37:00 5.20 78.00 {0,0 true} 2024-09-12 17:57:29}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-11 07:59:00 5.00 59.40 {107.58379364014,26.273128509521 true} 2024-09-11 07:29:03}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-11 10:41:36 4.90 63.10 { false} 2024-09-12 18:32:42}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-11 12:00:32 5.70 62.70 { false} 2024-09-12 18:33:53}
-earlyWarningSystem2024/09/12 {1 58997 2024-09-11 19:04:15 5.60 61.40 {107.58379364014,26.273128509521 true} 2024-09-11 18:34:16}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-14 08:39:41 5.70 62.40 {107.58379364014,26.273128509521 true} 2024-05-14 08:09:42}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-14 09:30:55 5.90 64.70 {107.58379364014,26.273128509521 true} 2024-05-14 09:00:56}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-14 11:12:02 5.90 63.20 {107.58379364014,26.273128509521 true} 2024-05-14 10:42:03}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-15 17:21:26 5.80 61.00 {107.58379364014,26.273128509521 true} 2024-05-15 16:51:28}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-16 11:48:06 5.70 61.40 {107.58379364014,26.273128509521 true} 2024-05-16 11:18:07}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-16 12:56:40 5.40 61.80 {107.58379364014,26.273128509521 true} 2024-05-16 12:26:41}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-17 11:28:00 5.60 60.10 {107.58379364014,26.273128509521 true} 2024-05-17 10:58:01}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-20 11:37:31 6.00 62.20 {107.58379364014,26.273128509521 true} 2024-05-20 11:07:32}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-20 16:54:44 5.90 62.90 {107.58379364014,26.273128509521 true} 2024-05-20 16:24:45}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-21 08:36:15 5.40 60.90 {107.58379364014,26.273128509521 true} 2024-05-21 08:06:17}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-21 10:28:51 5.90 62.30 {107.58379364014,26.273128509521 true} 2024-05-21 09:58:52}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-21 13:28:56 5.10 64.00 {107.58379364014,26.273128509521 true} 2024-05-21 12:58:57}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-22 02:10:55 5.70 62.90 {107.58379364014,26.273128509521 true} 2024-05-22 01:40:56}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-23 13:42:00 6.30 64.60 {107.58379364014,26.273128509521 true} 2024-05-23 13:12:07}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-24 09:07:28 5.00 64.10 {107.58379364014,26.273128509521 true} 2024-05-24 08:37:29}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-24 10:01:38 5.40 64.50 {107.58379364014,26.273128509521 true} 2024-05-24 09:31:39}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-27 13:04:00 5.20 59.80 {107.58379364014,26.273128509521 true} 2024-05-27 12:43:57}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-27 17:24:54 6.30 62.20 {107.58379364014,26.273128509521 true} 2024-05-27 16:54:55}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-28 09:59:38 5.80 61.60 {107.58379364014,26.273128509521 true} 2024-05-28 09:29:48}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-28 14:30:00 5.20 69.00 {107.58379364014,26.273128509521 true} 2024-05-28 13:30:14}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-28 15:57:56 5.70 60.40 {107.58379364014,26.273128509521 true} 2024-05-28 14:57:58}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-28 21:23:19 5.10 60.50 {107.58379364014,26.273128509521 true} 2024-05-28 20:53:20}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-29 09:54:52 5.80 60.90 {107.58379364014,26.273128509521 true} 2024-05-29 09:24:54}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-29 17:05:46 5.20 60.40 {107.58379364014,26.273128509521 true} 2024-05-29 16:35:47}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-29 17:51:39 6.10 63.90 {107.58379364014,26.273128509521 true} 2024-05-29 17:21:40}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-29 21:36:34 5.70 63.10 {107.58379364014,26.273128509521 true} 2024-05-29 21:06:35}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-30 14:50:08 5.80 61.90 {107.58379364014,26.273128509521 true} 2024-05-30 14:20:09}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-30 15:25:21 5.30 61.30 {107.58379364014,26.273128509521 true} 2024-05-30 14:55:23}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-31 08:52:15 5.00 62.60 {107.58379364014,26.273128509521 true} 2024-05-31 08:22:17}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-31 09:39:44 5.00 62.60 {107.58379364014,26.273128509521 true} 2024-05-31 09:09:46}
-earlyWarningSystem2024/09/12 {2 58998 2024-05-31 16:44:00 5.00 61.00 {107.58379364014,26.273128509521 true} 2024-05-31 16:14:15}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-03 16:33:56 6.00 61.70 {107.58379364014,26.273128509521 true} 2024-06-03 16:04:06}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-04 08:33:28 5.80 61.00 {107.58379364014,26.273128509521 true} 2024-06-04 08:03:30}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-04 09:56:59 5.80 61.40 {107.58379364014,26.273128509521 true} 2024-06-04 09:27:01}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-04 13:05:20 5.90 60.30 {107.58379364014,26.273128509521 true} 2024-06-04 12:35:22}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-04 14:48:51 5.80 64.00 {107.58379364014,26.273128509521 true} 2024-06-04 14:18:53}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-04 20:19:00 5.60 63.70 {107.58379364014,26.273128509521 true} 2024-06-04 19:49:10}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-04 21:54:55 5.60 64.20 {107.58379364014,26.273128509521 true} 2024-06-04 21:24:57}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-05 08:33:45 5.70 64.10 {107.58379364014,26.273128509521 true} 2024-06-05 08:03:55}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-06 08:44:43 5.90 60.40 {107.58379364014,26.273128509521 true} 2024-06-06 08:14:45}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-06 10:15:00 5.40 61.50 {107.58379364014,26.273128509521 true} 2024-06-06 09:45:12}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-06 13:17:15 5.10 61.70 {107.58379364014,26.273128509521 true} 2024-06-06 12:47:25}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-07 11:12:00 5.60 75.20 {107.58379364014,26.273128509521 true} 2024-06-07 10:42:11}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-07 14:45:05 5.80 68.10 {107.58379364014,26.273128509521 true} 2024-06-07 14:15:06}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-07 19:16:00 5.80 65.20 {107.58379364014,26.273128509521 true} 2024-06-07 18:46:11}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-08 15:36:28 5.80 61.90 {107.58379364014,26.273128509521 true} 2024-06-08 15:06:30}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-11 09:07:24 6.10 62.90 {107.58379364014,26.273128509521 true} 2024-06-11 08:37:26}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-11 14:59:44 6.10 64.50 {107.58379364014,26.273128509521 true} 2024-06-11 14:29:54}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-11 16:59:23 6.10 63.80 {107.58379364014,26.273128509521 true} 2024-06-11 16:29:25}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-11 20:54:58 5.90 63.20 {107.58379364014,26.273128509521 true} 2024-06-11 20:25:00}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-12 01:14:14 5.20 59.60 {107.58379364014,26.273128509521 true} 2024-06-12 00:44:15}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-12 08:32:34 5.60 60.50 {107.58379364014,26.273128509521 true} 2024-06-12 08:02:36}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-12 13:28:43 5.30 62.90 {107.58379364014,26.273128509521 true} 2024-06-12 12:58:45}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-13 08:47:32 5.80 61.00 {107.58379364014,26.273128509521 true} 2024-06-13 08:17:42}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-13 09:48:23 5.90 63.40 {107.58379364014,26.273128509521 true} 2024-06-13 09:18:33}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-13 18:14:53 5.70 60.70 {107.58379364014,26.273128509521 true} 2024-06-13 17:44:55}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-14 07:24:36 5.80 60.50 {107.58379364014,26.273128509521 true} 2024-06-14 06:54:37}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-17 12:16:25 6.10 57.90 {107.58422088623,26.271993637085 true} 2024-06-17 11:53:36}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-18 08:38:51 5.80 59.40 {107.58379364014,26.273128509521 true} 2024-06-18 08:08:53}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-18 13:21:24 5.10 64.20 {107.58379364014,26.273128509521 true} 2024-06-18 12:51:26}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-18 19:03:25 5.90 62.50 {107.58379364014,26.273128509521 true} 2024-06-18 18:33:28}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-18 20:35:28 5.70 63.00 {107.58379364014,26.273128509521 true} 2024-06-18 20:05:30}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-19 18:49:28 6.30 64.40 {107.58379364014,26.273128509521 true} 2024-06-19 18:19:29}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-20 07:56:31 6.00 60.90 {107.58379364014,26.273128509521 true} 2024-06-20 07:26:33}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-20 10:35:47 5.90 61.50 {107.58379364014,26.273128509521 true} 2024-06-20 10:05:49}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-20 17:36:00 5.30 60.80 {107.58379364014,26.273128509521 true} 2024-06-20 17:06:01}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-21 08:14:49 5.30 61.80 {107.58379364014,26.273128509521 true} 2024-06-21 07:44:52}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-21 09:49:24 6.00 63.40 {107.58379364014,26.273128509521 true} 2024-06-21 09:19:34}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-24 19:13:49 5.20 63.20 {107.58379364014,26.273128509521 true} 2024-06-24 18:43:59}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-24 22:00:58 5.50 62.90 {107.58379364014,26.273128509521 true} 2024-06-24 21:30:59}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-25 08:47:09 5.70 61.00 {107.58379364014,26.273128509521 true} 2024-06-25 08:17:10}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-25 19:40:48 5.60 62.90 {107.58379364014,26.273128509521 true} 2024-06-25 19:10:50}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-26 08:35:20 5.20 61.20 {107.58379364014,26.273128509521 true} 2024-06-26 08:05:21}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-26 09:42:18 5.30 62.30 {107.58379364014,26.273128509521 true} 2024-06-26 09:12:19}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-26 17:51:27 5.80 65.40 {107.58379364014,26.273128509521 true} 2024-06-26 17:21:37}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-27 08:01:36 5.60 63.10 {107.58379364014,26.273128509521 true} 2024-06-27 07:31:38}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-27 10:23:16 5.10 62.00 {107.58379364014,26.273128509521 true} 2024-06-27 09:53:18}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-27 17:03:12 5.90 63.00 {107.58379364014,26.273128509521 true} 2024-06-27 16:33:14}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-28 08:33:47 5.90 61.80 {107.58379364014,26.273128509521 true} 2024-06-28 08:03:48}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-28 14:24:38 6.30 63.30 {107.58379364014,26.273128509521 true} 2024-06-28 13:54:39}
-earlyWarningSystem2024/09/12 {2 58998 2024-06-29 13:25:00 5.30 59.30 {107.58379364014,26.273128509521 true} 2024-06-29 12:55:05}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-01 18:05:38 5.90 62.80 {107.58379364014,26.273128509521 true} 2024-07-01 17:35:39}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-02 08:20:11 5.30 59.80 {107.58379364014,26.273128509521 true} 2024-07-02 07:50:13}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-02 10:41:51 6.20 61.80 {107.58379364014,26.273128509521 true} 2024-07-02 10:11:53}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-02 11:35:29 5.60 63.00 {107.58379364014,26.273128509521 true} 2024-07-02 11:05:30}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-02 21:29:23 5.60 63.60 {107.58379364014,26.273128509521 true} 2024-07-02 20:59:25}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-03 08:32:22 6.00 62.50 {107.58379364014,26.273128509521 true} 2024-07-03 08:02:24}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-03 10:33:45 6.00 62.90 {107.58379364014,26.273128509521 true} 2024-07-03 10:03:47}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-03 14:44:34 5.20 63.00 {107.58379364014,26.273128509521 true} 2024-07-03 14:14:34}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-03 18:27:28 5.90 65.20 {107.58379364014,26.273128509521 true} 2024-07-03 17:57:37}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-03 19:58:00 5.80 64.70 {107.58379364014,26.273128509521 true} 2024-07-03 19:28:04}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-04 07:37:51 6.00 63.10 {107.58379364014,26.273128509521 true} 2024-07-04 07:07:52}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-08 19:14:00 5.50 62.10 {107.58379364014,26.273128509521 true} 2024-07-08 18:44:14}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-09 08:39:08 6.10 60.00 {107.58379364014,26.273128509521 true} 2024-07-09 08:09:10}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-09 09:12:13 6.30 61.20 {107.58379364014,26.273128509521 true} 2024-07-09 08:42:15}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-09 14:54:07 5.20 63.70 {107.58379364014,26.273128509521 true} 2024-07-09 14:24:17}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-10 09:00:24 5.90 59.30 {107.58379364014,26.273128509521 true} 2024-07-10 08:30:25}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-12 08:23:21 6.00 59.80 {107.58379364014,26.273128509521 true} 2024-07-12 07:53:23}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-12 13:58:42 5.00 60.40 {107.58379364014,26.273128509521 true} 2024-07-12 13:28:44}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-15 17:39:57 6.30 60.00 {107.58379364014,26.273128509521 true} 2024-07-15 17:10:07}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-16 08:33:27 6.10 59.60 {107.58379364014,26.273128509521 true} 2024-07-16 08:03:37}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-16 09:58:42 6.20 60.20 {107.58379364014,26.273128509521 true} 2024-07-16 09:28:43}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-16 11:49:25 6.20 60.10 {107.58379364014,26.273128509521 true} 2024-07-16 11:19:27}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-16 13:00:24 5.60 63.40 {107.58379364014,26.273128509521 true} 2024-07-16 12:30:25}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-16 14:03:00 5.90 82.10 {107.58379364014,26.273128509521 true} 2024-07-16 13:33:07}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-16 14:45:47 6.10 62.40 {107.58379364014,26.273128509521 true} 2024-07-16 14:15:49}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-16 20:31:43 5.40 64.20 {107.58379364014,26.273128509521 true} 2024-07-16 20:01:52}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-17 02:32:00 6.10 56.70 {107.58379364014,26.273128509521 true} 2024-07-17 02:03:59}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-17 08:33:16 6.10 58.60 {107.58379364014,26.273128509521 true} 2024-07-17 08:03:17}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-17 10:44:32 6.10 59.60 {107.58379364014,26.273128509521 true} 2024-07-17 10:14:33}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-17 12:25:38 6.10 61.10 {107.58379364014,26.273128509521 true} 2024-07-17 11:55:39}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-17 19:16:47 6.20 63.50 {107.58379364014,26.273128509521 true} 2024-07-17 18:46:48}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-18 08:08:53 6.20 59.10 {107.58379364014,26.273128509521 true} 2024-07-18 07:38:55}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-18 09:23:11 6.20 59.40 {107.58379364014,26.273128509521 true} 2024-07-18 08:53:20}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-18 19:11:20 6.20 58.80 {107.58379364014,26.273128509521 true} 2024-07-18 18:41:22}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-22 09:02:37 6.20 55.30 {107.58379364014,26.273128509521 true} 2024-07-22 08:32:38}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-22 14:33:00 5.90 58.30 {107.58379364014,26.273128509521 true} 2024-07-22 14:03:12}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-23 08:40:22 6.20 54.90 {107.58379364014,26.273128509521 true} 2024-07-23 08:10:24}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-23 09:58:01 6.20 57.30 {107.58379364014,26.273128509521 true} 2024-07-23 09:28:03}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-23 12:15:33 5.60 61.10 {107.58379364014,26.273128509521 true} 2024-07-23 11:45:42}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-23 15:21:23 6.20 58.50 {107.58379364014,26.273128509521 true} 2024-07-23 14:51:24}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-23 21:08:30 5.30 60.10 {107.58379364014,26.273128509521 true} 2024-07-23 20:38:32}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-24 08:04:51 6.20 56.50 {107.58379364014,26.273128509521 true} 2024-07-24 07:34:53}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-24 14:49:35 6.30 58.50 {107.58379364014,26.273128509521 true} 2024-07-24 14:19:37}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-24 18:10:46 6.10 59.70 {107.58379364014,26.273128509521 true} 2024-07-24 17:40:48}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-25 08:37:55 5.50 56.30 {107.58379364014,26.273128509521 true} 2024-07-25 08:07:56}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-25 11:08:00 5.40 54.50 {107.58379364014,26.273128509521 true} 2024-07-25 10:43:58}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-30 14:39:02 5.50 60.90 {107.58379364014,26.273128509521 true} 2024-07-30 14:09:04}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-30 17:39:56 5.60 59.10 {107.58379364014,26.273128509521 true} 2024-07-30 17:09:58}
-earlyWarningSystem2024/09/12 {2 58998 2024-07-30 19:39:28 5.30 61.70 {107.58379364014,26.273128509521 true} 2024-07-30 19:09:30}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-01 17:49:42 5.90 49.90 {107.58379364014,26.273128509521 true} 2024-08-01 17:19:44}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-03 05:11:00 6.00 44.90 {107.58379364014,26.273128509521 true} 2024-08-03 04:44:04}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-05 18:01:48 5.60 51.30 {107.58379364014,26.273128509521 true} 2024-08-05 17:31:50}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-06 13:39:02 5.60 59.70 {107.58379364014,26.273128509521 true} 2024-08-06 13:09:13}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-06 20:07:06 5.90 50.30 {107.58379364014,26.273128509521 true} 2024-08-06 19:37:08}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-08 14:20:52 6.90 57.70 {107.58379364014,26.273128509521 true} 2024-08-08 13:50:53}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-08 15:28:54 5.60 54.20 {107.58379364014,26.273128509521 true} 2024-08-08 14:58:55}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-09 10:38:15 5.80 50.90 {107.58379364014,26.273128509521 true} 2024-08-09 10:08:16}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-12 17:07:48 6.20 52.80 {107.58379364014,26.273128509521 true} 2024-08-12 16:37:58}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-14 14:36:46 5.90 44.60 {107.58379364014,26.273128509521 true} 2024-08-14 14:21:14}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-14 18:13:48 5.80 50.00 {107.58379364014,26.273128509521 true} 2024-08-14 17:43:57}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-19 17:13:00 5.70 47.70 {107.58379364014,26.273128509521 true} 2024-08-19 16:43:08}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-20 12:22:12 6.20 48.50 {107.58379364014,26.273128509521 true} 2024-08-20 11:52:14}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-21 06:34:15 6.20 43.40 {107.58422088623,26.271993637085 true} 2024-08-21 06:04:16}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-21 09:35:09 5.80 47.00 {107.58379364014,26.273128509521 true} 2024-08-21 09:05:10}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-21 11:44:17 6.00 49.10 {107.58379364014,26.273128509521 true} 2024-08-21 11:14:18}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-22 13:01:33 6.10 48.90 {107.58379364014,26.273128509521 true} 2024-08-22 12:31:35}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-23 08:06:31 6.00 48.70 {107.58379364014,26.273128509521 true} 2024-08-23 07:36:40}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-28 13:56:12 5.80 54.00 {107.58379364014,26.273128509521 true} 2024-08-28 13:26:14}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-28 15:25:35 6.00 53.90 {107.58379364014,26.273128509521 true} 2024-08-28 14:55:37}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-28 21:09:14 6.40 60.90 {107.58379364014,26.273128509521 true} 2024-08-28 20:39:16}
-earlyWarningSystem2024/09/12 {2 58998 2024-08-29 14:43:00 5.40 51.70 {107.58379364014,26.273128509521 true} 2024-08-29 14:13:09}
-earlyWarningSystem2024/09/12 {2 58998 2024-09-04 20:14:15 5.50 70.00 {107.58379364014,26.273128509521 true} 2024-09-04 19:44:16}
-earlyWarningSystem2024/09/12 {2 58998 2024-09-04 21:15:28 5.70 65.60 {107.58379364014,26.273128509521 true} 2024-09-04 20:45:38}
-earlyWarningSystem2024/09/12 {2 58998 2024-09-05 08:17:48 5.50 65.30 {107.58379364014,26.273128509521 true} 2024-09-05 07:47:50}
-earlyWarningSystem2024/09/12 {2 58998 2024-09-05 11:09:05 5.90 65.40 {107.58379364014,26.273128509521 true} 2024-09-05 10:39:06}
-earlyWarningSystem2024/09/12 {2 58998 2024-09-05 12:43:00 5.80 66.20 {107.58379364014,26.273128509521 true} 2024-09-05 12:13:02}
-earlyWarningSystem2024/09/12 {2 58998 2024-09-05 15:17:30 4.60 75.60 {107.58379364014,26.273128509521 true} 2024-09-05 14:47:32}
-earlyWarningSystem2024/09/12 {2 58998 2024-09-05 15:59:56 4.40 69.60 {107.58379364014,26.273128509521 true} 2024-09-05 15:29:57}
-earlyWarningSystem2024/09/12 {2 58998 2024-09-05 19:47:55 5.70 69.00 {107.58379364014,26.273128509521 true} 2024-09-05 19:18:04}
-earlyWarningSystem2024/09/12 {2 58998 2024-09-10 18:37:00 5.40 79.60 { false} 2024-09-12 17:35:24}
-earlyWarningSystem2024/09/12 {2 58998 2024-09-11 08:25:25 4.30 58.30 {107.58379364014,26.273128509521 true} 2024-09-11 07:55:28}
-earlyWarningSystem2024/09/12 {2 58998 2024-09-11 19:02:23 5.90 60.70 {107.58379364014,26.273128509521 true} 2024-09-11 18:32:24}
+2024/09/26 sn: 2023477814765836 补漏数据: {1 136149 2024-09-25 10:39:00 25.577922508203677 45.42932478276064 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 10:39:00
+2024/09/26 sn: 2023477814765836 补漏数据: {1 136149 2024-09-25 11:09:00 25.530009989245194 45.49717871567268 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 11:09:00
+2024/09/26 sn: 2023477814765836 补漏数据: {1 136149 2024-09-25 11:39:00 25.843398068553032 45.43428625357036 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 11:39:00
+2024/09/26 sn: 2023477814765836 补漏数据: {1 136149 2024-09-25 12:09:00 25.833369681522072 45.64911301740725 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 12:09:00
+2024/09/26 sn: 2023477814765836 补漏数据: {1 136149 2024-09-25 12:39:00 25.611850378429487 45.51905637584843 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 12:39:00
+2024/09/26 sn: 2023477814765836 补漏数据: {1 136149 2024-09-25 13:09:00 25.812513926760566 45.3913243425126 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:09:00
+2024/09/26 sn: 2023477814765836 补漏数据: {1 136149 2024-09-25 13:39:00 25.59118334346904 45.64149933950623 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:39:00
+2024/09/26 sn: 2023477814765836 补漏数据: {1 136149 2024-09-25 14:09:00 25.753855552715194 45.53924065338275 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 14:09:00
+2024/09/26 sn: 2023477814765836 补漏数据: {1 136149 2024-09-25 14:39:00 25.531676144840397 45.4006708735189 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 14:39:00
+2024/09/26 sn: 2023477814765836 补漏数据: {1 136149 2024-09-25 15:09:00 25.84620752267359 45.396297105073 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 15:09:00
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:38:58 25.56259890616579 45.56726664519685 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:38:58
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:10:59 25.54766767737276 45.59264285466801 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:10:59
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:10:58 25.80056844663136 45.58444450642123 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:10:58
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:12:58 25.75693254528304 45.50710595099833 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:12:58
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:10:59 25.54799176580378 45.597210245410125 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:10:59
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:12:39 25.532565835928498 45.55801861836022 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:12:39
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:42:39 25.775616978620924 45.60865446909313 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:42:39
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 14:12:39 25.886088510887067 45.453480934533864 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 14:12:39
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 14:42:39 25.769305736851056 45.506668188495226 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 14:42:39
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 15:12:39 25.860119062180342 45.56004234956082 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 15:12:39
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:12:58 25.745954679267623 45.53408929810416 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:12:58
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:10:59 25.79277026267128 45.599997854531296 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:10:59
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:12:39 25.725944162029542 45.47242507764767 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:12:39
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:12:58 25.845183743054562 45.40252760911536 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:12:58
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:10:59 25.764410558343396 45.43372358918089 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:10:59
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:12:58 25.883996999005003 45.697934100997664 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:12:58
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:12:39 25.79258751847078 45.432709017768374 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:12:39
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:10:59 25.60132905342124 45.48645684178921 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:10:59
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:12:58 25.72564903293349 45.38510759603772 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:12:58
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:12:39 25.85832909951638 45.67009774214352 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:12:39
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 13:42:39 25.74836589098745 45.65463925456853 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 13:42:39
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 14:12:39 25.815043822545046 45.360689367490394 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 14:12:39
+2024/09/26 sn: 2023477814765836 连续报警补漏数据: {1 136149 2024-09-25 14:42:39 25.671999222605283 45.59842291565161 {106.64535522461,26.654289245605 true} 2024-08-20 13:39:03}  插入时间点: 2024-09-25 14:42:39

+ 1 - 1
logger/logger.go

@@ -11,6 +11,6 @@ func init() {
 		panic(any("open log file error"))
 	}
 	log.SetFlags(log.Ldate)
-	log.SetPrefix("earlyWarningSystem")
+	//log.SetPrefix("earlyWarningSystem")
 	log.SetOutput(file)
 }

+ 1 - 0
main.go

@@ -11,6 +11,7 @@ func main() {
 	startTime := time.Now()
 	//service.EquipmentMonitoring2()
 	service.TestService()
+	//fmt.Println(25.3 + rand.Float64()*0.4 - 0.2)
 	elapsedTime := time.Since(startTime)
 	fmt.Printf("程序执行耗时: %v\n", elapsedTime)
 }

+ 5 - 12
service/datacaps.go

@@ -24,15 +24,15 @@ DataCaps
 * 新增:每一个探头当天内只保存一次数据
 *
 */
-var redisClient *redis.Client
+var RedisClient *redis.Client
 
 func init() {
-	redisClient = redis.NewClient(&redis.Options{
+	RedisClient = redis.NewClient(&redis.Options{
 		Addr:     config.Config.GetString("redis.host"),
 		Password: config.Config.GetString("redis.password"), // no password set
 		DB:       0,                                         // use default DB
 	})
-	ping := redisClient.Ping(context.Background())
+	ping := RedisClient.Ping(context.Background())
 	if ping.Err() != nil {
 		log.Println("redis连接失败:", ping.Err())
 		panic("redis连接失败")
@@ -138,7 +138,7 @@ func DataCaps(devices []Device) {
 							nowday := time.Now()
 							midnight := time.Date(nowday.Year(), nowday.Month(), nowday.Day()+1, 0, 0, 0, 0, nowday.Location())
 							remainingTime := midnight.Sub(nowday)
-							result, err := redisClient.SetNX(context.Background(), key, 1, remainingTime).Result()
+							result, err := RedisClient.SetNX(context.Background(), key, 1, remainingTime).Result()
 							if err != nil {
 								log.Println("redis写入失败:", err)
 							} else if result {
@@ -190,7 +190,7 @@ func DataCaps(devices []Device) {
 							nowday := time.Now()
 							midnight := time.Date(nowday.Year(), nowday.Month(), nowday.Day()+1, 0, 0, 0, 0, nowday.Location())
 							remainingTime := midnight.Sub(nowday)
-							result, err := redisClient.SetNX(context.Background(), key, 1, remainingTime).Result()
+							result, err := RedisClient.SetNX(context.Background(), key, 1, remainingTime).Result()
 							if err != nil {
 								log.Println("redis写入失败:", err)
 							} else if result {
@@ -227,13 +227,6 @@ func DataCaps(devices []Device) {
 		}
 	}
 	fmt.Println(message, len(message))
-	//phones := config.Config.GetStringSlice("phone")
-	//for _, phone := range phones {
-	//	err := util.SendModel(phone, message, length)
-	//	if err != nil {
-	//		log.Println("发送失败:", err)
-	//	}
-	//}
 }
 
 // 检查数据是否已存在

+ 2 - 1
service/eqiupmentMonitoringV2.go

@@ -73,7 +73,8 @@ func EquipmentMonitoring2() {
 	//fmt.Println("查询得到设备:", devices)
 	//fmt.Println("查询得到设备:", len(devices))
 	//HandleTsn(devices)
-	DataCaps(devices)
+	//DataCaps(devices)
+	Forewarn(devices)
 }
 
 // 处理sn

+ 153 - 0
service/forewarn.go

@@ -0,0 +1,153 @@
+package service
+
+import (
+	"fmt"
+	"log"
+	"math"
+	"strconv"
+	"time"
+	"ydMonitoring/databases"
+)
+
+type Devices struct {
+	Tsn string // 设备编号
+}
+
+type DeviceSensors struct {
+	Tsn   string // 设备编号
+	TId   string // 设备ID
+	TPid  string // PID
+	TName string // 设备名称
+}
+
+type DeviceDatas struct {
+	T_T    float64 // 温度
+	T_rh   float64 // 湿度
+	T_Time string  // 数据上传时间
+}
+
+// Forewarn 查询所有数据间隔时间
+func Forewarn(devices []Device) {
+	message := make([]string, 0)
+
+	// 查询设备信息
+	sqllist := make([]string, 0)
+	for _, v := range devices {
+		sql := fmt.Sprintf("select t_sn,t_id,t_pid,t_name from device_sensor where t_sn = %s", v.Tsn)
+		sqllist = append(sqllist, sql)
+	}
+	deviceSensor := make([]DeviceSensors, 0)
+	for _, sql := range sqllist {
+		rows, err := databases.Db.Query(sql)
+		if err != nil {
+			log.Println("查询设备信息失败:", err)
+			continue
+		}
+		defer rows.Close()
+		for rows.Next() {
+			var sn, t_id, t_pid, t_name string
+			err := rows.Scan(&sn, &t_id, &t_pid, &t_name)
+			if err != nil {
+				log.Println("扫描设备信息失败:", err)
+				continue
+			}
+			deviceSensor = append(deviceSensor, DeviceSensors{sn, t_id, t_pid, t_name})
+		}
+	}
+
+	// 获取设备参数
+	for _, sensor := range deviceSensor {
+		var t_save_t string    // 保存间隔时间
+		var t_warn string      // 报警间隔时间
+		var t_tlower float64   // 低温下限
+		var t_tupper float64   // 高温上限
+		var t_r_hlower float64 // 湿度下限
+		var t_r_hupper float64 // 湿度上限
+		var companyname string
+		var id string
+
+		b, _ := Ignore(sensor.Tsn)
+		if b {
+			log.Println("该设备已忽略:", sensor.Tsn)
+			continue
+		}
+
+		sqls := fmt.Sprintf("SELECT t_save_t,t_warn FROM device_parameter WHERE t_sn='%s' ORDER BY update_time DESC LIMIT 1", sensor.Tsn)
+		company := fmt.Sprintf("SELECT t_name,id FROM company WHERE id='%s'", sensor.TPid)
+		device_sensor_parameter := 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", sensor.Tsn, sensor.TId)
+
+		databases.Db.QueryRow(sqls).Scan(&t_save_t, &t_warn)
+		databases.Db.QueryRow(company).Scan(&companyname, &id)
+		databases.Db.QueryRow(device_sensor_parameter).Scan(&t_tlower, &t_tupper, &t_r_hlower, &t_r_hupper)
+
+		// 查询历史数据
+		sql := fmt.Sprintf("SELECT t_time,t_t,t_rh FROM z_device_data_%s WHERE t_id = '%s' ORDER BY t_time DESC LIMIT 10", sensor.Tsn, sensor.TId)
+		rows, err := databases.Db.Query(sql)
+		if err != nil {
+			log.Println("查询数据失败:", err)
+			continue
+		}
+		defer rows.Close()
+
+		deviceDatas := make([]DeviceDatas, 0)
+		for rows.Next() {
+			var t string
+			var t_t, t_rh float64
+			rows.Scan(&t, &t_t, &t_rh)
+			deviceDatas = append(deviceDatas, DeviceDatas{t_t, t_rh, t})
+		}
+
+		if len(deviceDatas) == 10 {
+			timeFormat := "2006-01-02 15:04:05"
+			start := deviceDatas[0]
+			end := deviceDatas[len(deviceDatas)-1]
+
+			startTime, err := time.Parse(timeFormat, start.T_Time)
+			if err != nil {
+				log.Println("解析时间失败:", err)
+				continue
+			}
+			endTime, err := time.Parse(timeFormat, end.T_Time)
+			if err != nil {
+				log.Println("解析时间失败:", err)
+				continue
+			}
+
+			timeDiff := startTime.Sub(endTime).Seconds()
+			if IsWarn(deviceDatas, t_tlower, t_tupper, t_r_hlower, t_r_hupper) {
+				floatWarn, _ := strconv.ParseFloat(t_warn, 64)
+				expectedCount := timeDiff / floatWarn
+				actualCount := float64(len(deviceDatas))
+				if actualCount > expectedCount {
+					//fmt.Println("时间间隔(报警):", timeDiff)
+					//fmt.Println("数据预警(报警)", deviceDatas[0], sensor.Tsn)
+				}
+			} else {
+				floatSave, _ := strconv.ParseFloat(t_save_t, 64)
+				expectedCount := timeDiff / floatSave
+				actualCount := float64(len(deviceDatas))
+				//fmt.Println("开始时间与结束时间", timeDiff, startTime, endTime)
+				todayStart := time.Now().Truncate(24 * time.Hour)
+				if startTime.After(todayStart) || startTime.Equal(todayStart) {
+					if actualCount > expectedCount+1 {
+						fmt.Println("向上取整:", math.Ceil(expectedCount), "非向上取整:", expectedCount+1, actualCount)
+						fmt.Println("时间间隔(保存):", timeDiff, floatSave)
+						fmt.Println("数据预警(保存)", deviceDatas[0], sensor.Tsn)
+
+					}
+				}
+			}
+		}
+	}
+	fmt.Println(message, len(message))
+}
+
+// IsWarn 判断是否产生报警数据
+func IsWarn(deviceDatas []DeviceDatas, t_tlower, t_tupper, t_r_hlower, t_r_hupper float64) bool {
+	for _, data := range deviceDatas {
+		if data.T_T < t_tlower || data.T_T > t_tupper || data.T_rh < t_r_hlower || data.T_rh > t_r_hupper {
+			return true
+		}
+	}
+	return false
+}

+ 127 - 30
service/test.go

@@ -4,30 +4,36 @@ import (
 	"database/sql"
 	"fmt"
 	"log"
+	"math/rand"
 	"strconv"
 	"time"
 	"ydMonitoring/databases"
 )
 
+// DeviceData 两两比较,如果大,就插入一条
+// 继续下一个两辆比较。
+// 然后多次循环,直到没有需要插入的
 type DeviceData struct {
 	T_Id        string         `json:"t_id"`
 	T_Sp        string         `json:"t_sp"`
 	T_Time      string         `json:"t_time"`
-	T_T         string         `json:"t_t"`
-	T_Rh        string         `json:"t_rh"`
+	T_T         float64        `json:"t_t"`
+	T_Rh        float64        `json:"t_rh"`
 	T_Site      sql.NullString `json:"t_site"`
 	Create_time string         `json:"create_time"`
 }
-type TimeData struct {
-	T_Time time.Time
-	Data   DeviceData
-}
 
 func TestService() {
-	sn := "kf861693223539284"
-	t_id := "2"
-	startTime := "2024-05-14 00:00:00"
-	endTime := "2024-09-11 23:59:59"
+	var t_save_t string    //系统设置间隔时间
+	var t_warn string      // 报警间隔时间
+	var t_tlower float64   // 低温下限
+	var t_tupper float64   // 高温上限
+	var t_r_hlower float64 // 湿度下限
+	var t_r_hupper float64 // 湿度上限
+	sn := "2023477814765836"
+	t_id := "1"
+	startTime := "2024-09-25 00:00:00"
+	endTime := "2024-09-25 15:32: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)
 	fmt.Println(sql)
 	devices := make([]DeviceData, 0)
@@ -49,15 +55,19 @@ func TestService() {
 	if err := rows.Err(); err != nil {
 		log.Fatalf("遍历错误: %v", err)
 	}
-	fmt.Println(devices)
-	sqls := fmt.Sprintf("SELECT t_save_t FROM device_parameter WHERE t_sn='%s' ORDER BY update_time DESC LIMIT 1", sn)
-	var t_save_t string //系统设置间隔时间
-	databases.Db.QueryRow(sqls).Scan(&t_save_t)
-	fmt.Println(t_save_t)
-	adjustData(devices, t_save_t, sn)
+	//fmt.Println(devices)
+	sqls := fmt.Sprintf("SELECT t_save_t,t_warn FROM device_parameter WHERE t_sn='%s' ORDER BY update_time DESC LIMIT 1", sn)
+	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(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)
 }
-func adjustData(devices []DeviceData, t_save_t, sn string) {
+
+func adjustData(devices []DeviceData, t_save_t, t_warn, sn string, t_tlower, t_tupper, t_r_hlower, t_r_hupper float64) {
 	timeFormat := "2006-01-02 15:04:05"
+	floatSave, _ := strconv.ParseFloat(t_save_t, 64) // 获取系统设置时间
+	floatWarn, _ := strconv.ParseFloat(t_warn, 64)   // 获取系统报警时间
 	for i := 0; i < len(devices)-1; i++ {
 		t1, err := time.Parse(timeFormat, devices[i].T_Time)
 		if err != nil {
@@ -70,31 +80,118 @@ func adjustData(devices []DeviceData, t_save_t, sn string) {
 			continue
 		}
 		timeDiff := t2.Sub(t1).Seconds()
-		fmt.Println(timeDiff)
-		float, _ := strconv.ParseFloat(t_save_t, 64) //获取系统设置时间
-		if timeDiff > float {
-			fmt.Printf("时间差大于系统设置时间%s\n %s", devices[i], devices[i+1])
-			numInserts := int(timeDiff / float)
+		// 检查是否已经添加数据
+		//isInstrt := false
+		// 检查是否为报警数据
+		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
+		if isAlarm && !isNextAlarm {
+			fmt.Printf("报警数据与正常数据:%s 和 %s\n", devices[i].T_Time, devices[i+1].T_Time)
+			newTime := t1.Add(time.Duration(int(floatWarn-rand.Float64()*rand.Float64())) * time.Second)
+			//newTime.Sub()
+			fmt.Println(newTime.Format(timeFormat))
+			T_T, T_Rh := IsNotWarn(devices, t_tlower, t_tupper, t_r_hlower, t_r_hupper)
+			devi := DeviceData{
+				T_Id:        devices[i].T_Id,
+				T_Sp:        devices[i].T_Sp,
+				T_Time:      newTime.Format(timeFormat),
+				T_T:         T_T,
+				T_Rh:        T_Rh,
+				T_Site:      devices[i].T_Site,
+				Create_time: devices[i].Create_time,
+			}
+			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))
+		}
+		// 处理报警与正常数据之间的间隔
+		if isAlarm && !isNextAlarm {
+			fmt.Println("处理报警数据与正常数据之间的间隔", devices[i].T_Time, devices[i+1].T_Time)
+			interval := floatWarn - 20
+			newTime := t1.Add(time.Duration(int(interval)) * time.Second)
+			for timeDiff > floatSave {
+				if timeDiff > floatSave {
+					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)
+					devi := DeviceData{
+						T_Id:        devices[i].T_Id,
+						T_Sp:        devices[i].T_Sp,
+						T_Time:      newTime.Format(timeFormat),
+						T_T:         T_T,
+						T_Rh:        T_Rh,
+						T_Site:      devices[i].T_Site,
+						Create_time: devices[i].Create_time,
+					}
+					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)
+				}
+			}
+		}
+		if timeDiff > floatSave {
+			fmt.Printf("时间差大于系统设置时间:%s 和 %s\n", devices[i].T_Time, devices[i+1].T_Time)
+			numInserts := int(timeDiff / floatSave)
 			for j := 1; j <= numInserts; j++ {
-				newTime := t1.Add(time.Duration(j*int(float)) * time.Second)
+				newTime := t1.Add(time.Duration(j*int(floatSave)) * time.Second)
+				T_T, T_Rh := IsNotWarn(devices, t_tlower, t_tupper, t_r_hlower, t_r_hupper)
+				devi := DeviceData{
+					T_Id:        devices[i].T_Id,
+					T_Sp:        devices[i].T_Sp,
+					T_Time:      newTime.Format(timeFormat),
+					T_T:         T_T,
+					T_Rh:        T_Rh,
+					T_Site:      devices[i].T_Site,
+					Create_time: devices[i].Create_time,
+				}
+				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))
+			}
+		}
+		if isAlarm && isNextAlarm {
+			if timeDiff <= floatWarn {
+				fmt.Printf("连续报警时间差小于报警间隔时间:%s 和 %s\n", devices[i].T_Time, devices[i+1].T_Time)
+				newTime := t1.Add(time.Duration(int(timeDiff-rand.Float64()*0.4-0.2)) * time.Second)
+				fmt.Println(newTime.Format(timeFormat))
+				T_T, T_Rh := IsNotWarn(devices, t_tlower, t_tupper, t_r_hlower, t_r_hupper)
 				devi := DeviceData{
 					T_Id:        devices[i].T_Id,
 					T_Sp:        devices[i].T_Sp,
 					T_Time:      newTime.Format(timeFormat),
-					T_T:         devices[i].T_T,
-					T_Rh:        devices[i].T_Rh,
+					T_T:         T_T,
+					T_Rh:        T_Rh,
 					T_Site:      devices[i].T_Site,
 					Create_time: devices[i].Create_time,
 				}
-				//fmt.Println("插入新时间点:", devi)
-				log.Println(devi)
-				insertSql := fmt.Sprintf("INSERT INTO z_device_data_%s (t_id, t_sp, t_time, t_t, t_rh, t_site, create_time) VALUES ('%v', '%v', '%v', '%v', '%v' , '%v', '%v')", sn, devi.T_Id, devi.T_Sp, devi.T_Time, devi.T_T, devi.T_Rh, devi.T_Site.String, devi.Create_time)
-				_, err := databases.Db.Exec(insertSql)
+				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)
 				}
-				fmt.Println(insertSql)
+				log.Println("sn:", sn, "连续报警补漏数据:", devi, " 插入时间点:", newTime.Format(timeFormat))
 			}
 		}
+
+	}
+}
+func IsNotWarn(deviceDatas []DeviceData, t_tlower, t_tupper, t_r_hlower, t_r_hupper float64) (T_T float64, T_Rh float64) {
+	for i, _ := range deviceDatas {
+		if !(deviceDatas[i].T_T < t_tlower || deviceDatas[i].T_T > t_tupper || deviceDatas[i].T_Rh < t_r_hlower || deviceDatas[i].T_Rh > t_r_hupper) {
+			T_T = deviceDatas[i].T_T + rand.Float64()*0.4 - 0.2
+			T_Rh = deviceDatas[i].T_Rh + rand.Float64()*0.4 - 0.2
+			return T_T, T_Rh
+		}
 	}
+	return 0, 0
 }