diff --git a/event/event-list/src/main/java/com/njcn/gather/event/eventlist/config/EventSecondTimeSerializer.java b/event/event-list/src/main/java/com/njcn/gather/event/eventlist/config/EventSecondTimeSerializer.java new file mode 100644 index 0000000..261e4e8 --- /dev/null +++ b/event/event-list/src/main/java/com/njcn/gather/event/eventlist/config/EventSecondTimeSerializer.java @@ -0,0 +1,26 @@ +package com.njcn.gather.event.eventlist.config; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; + +import java.io.IOException; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +/** + * 暂态事件时间字段按秒输出,避免接口响应携带毫秒。 + */ +public class EventSecondTimeSerializer extends JsonSerializer { + + private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + @Override + public void serialize(LocalDateTime value, JsonGenerator gen, SerializerProvider serializers) throws IOException { + if (value == null) { + gen.writeNull(); + return; + } + gen.writeString(FORMATTER.format(value)); + } +} diff --git a/event/event-list/src/main/java/com/njcn/gather/event/eventlist/pojo/vo/EventListVO.java b/event/event-list/src/main/java/com/njcn/gather/event/eventlist/pojo/vo/EventListVO.java index f7f4fc0..82dbd6a 100644 --- a/event/event-list/src/main/java/com/njcn/gather/event/eventlist/pojo/vo/EventListVO.java +++ b/event/event-list/src/main/java/com/njcn/gather/event/eventlist/pojo/vo/EventListVO.java @@ -6,6 +6,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import com.njcn.gather.event.eventlist.config.EventSecondTimeSerializer; import lombok.Data; import java.io.Serializable; @@ -38,7 +39,7 @@ public class EventListVO implements Serializable { @Excel(name = "发生时刻", width = 25, exportFormat = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonDeserialize(using = LocalDateTimeDeserializer.class) - @JsonSerialize(using = LocalDateTimeSerializer.class) + @JsonSerialize(using = EventSecondTimeSerializer.class) private LocalDateTime startTime; @Excel(name = "监测点名称", width = 25) diff --git a/tools/add-data/README.md b/tools/add-data/README.md index cd3eb87..4402171 100644 --- a/tools/add-data/README.md +++ b/tools/add-data/README.md @@ -13,7 +13,7 @@ - 独立任务持久化表 - 前端页面代码 -目录中保留历史 SQL 脚本 `DATA_FLICKER.sql`,并同步复制到 `src/main/resources/sql/add-data` 供运行时解析表字段元数据。 +SQL 元数据脚本位于 `src/main/resources/sql/add-data/DATA_FLICKER.sql`,供运行时解析表字段元数据。 ## 当前结构 @@ -21,7 +21,6 @@ add-data/ ├── pom.xml ├── README.md -├── DATA_FLICKER.sql └── src/main/java/com/njcn/gather/tool/adddata/ ├── component/ ├── config/ diff --git a/tools/add-data/src/main/resources/sql/add-data/DATA_FLICKER.sql b/tools/add-data/src/main/resources/sql/add-data/DATA_FLICKER.sql new file mode 100644 index 0000000..d8da2e4 --- /dev/null +++ b/tools/add-data/src/main/resources/sql/add-data/DATA_FLICKER.sql @@ -0,0 +1,2279 @@ +/* + Navicat Premium Dump SQL + + Source Server : 127.0.0.1 + Source Server Type : MySQL + Source Server Version : 50730 (5.7.30-log) + Source Host : localhost:3306 + Source Schema : cn_tool + + Target Server Type : MySQL + Target Server Version : 50730 (5.7.30-log) + File Encoding : 65001 + + Date: 27/04/2026 11:19:09 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for data_flicker +-- ---------------------------- +DROP TABLE IF EXISTS `data_flicker`; +CREATE TABLE `data_flicker` ( + `TIMEID` datetime NOT NULL, + `LINEID` char(32) NOT NULL, + `PHASIC_TYPE` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `FLUC` double NOT NULL, + `PST` double NOT NULL, + `PLT` double NOT NULL, + `QUALITYFLAG` decimal(1, 0) NOT NULL, + PRIMARY KEY (`LINEID`, `TIMEID`, `PHASIC_TYPE`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for data_fluc +-- ---------------------------- +DROP TABLE IF EXISTS `data_fluc`; +CREATE TABLE `data_fluc` ( + `TIMEID` datetime NOT NULL, + `LINEID` char(32) NOT NULL, + `PHASIC_TYPE` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `FLUC` double NOT NULL, + `FLUCCF` double NOT NULL, + `QUALITYFLAG` decimal(1, 0) NOT NULL, + PRIMARY KEY (`LINEID`, `TIMEID`, `PHASIC_TYPE`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for data_harmphasic_i +-- ---------------------------- +DROP TABLE IF EXISTS `data_harmphasic_i`; +CREATE TABLE `data_harmphasic_i` ( + `TIMEID` datetime NOT NULL, + `LINEID` char(32) NOT NULL, + `PHASIC_TYPE` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `I_1` double NOT NULL, + `I_2` double NOT NULL, + `I_3` double NOT NULL, + `I_4` double NOT NULL, + `I_5` double NOT NULL, + `I_6` double NOT NULL, + `I_7` double NOT NULL, + `I_8` double NOT NULL, + `I_9` double NOT NULL, + `I_10` double NOT NULL, + `I_11` double NOT NULL, + `I_12` double NOT NULL, + `I_13` double NOT NULL, + `I_14` double NOT NULL, + `I_15` double NOT NULL, + `I_16` double NOT NULL, + `I_17` double NOT NULL, + `I_18` double NOT NULL, + `I_19` double NOT NULL, + `I_20` double NOT NULL, + `I_21` double NOT NULL, + `I_22` double NOT NULL, + `I_23` double NOT NULL, + `I_24` double NOT NULL, + `I_25` double NOT NULL, + `I_26` double NOT NULL, + `I_27` double NOT NULL, + `I_28` double NOT NULL, + `I_29` double NOT NULL, + `I_30` double NOT NULL, + `I_31` double NOT NULL, + `I_32` double NOT NULL, + `I_33` double NOT NULL, + `I_34` double NOT NULL, + `I_35` double NOT NULL, + `I_36` double NOT NULL, + `I_37` double NOT NULL, + `I_38` double NOT NULL, + `I_39` double NOT NULL, + `I_40` double NOT NULL, + `I_41` double NOT NULL, + `I_42` double NOT NULL, + `I_43` double NOT NULL, + `I_44` double NOT NULL, + `I_45` double NOT NULL, + `I_46` double NOT NULL, + `I_47` double NOT NULL, + `I_48` double NOT NULL, + `I_49` double NOT NULL, + `I_50` double NOT NULL, + `I_1_MAX` double NOT NULL, + `I_2_MAX` double NOT NULL, + `I_3_MAX` double NOT NULL, + `I_4_MAX` double NOT NULL, + `I_5_MAX` double NOT NULL, + `I_6_MAX` double NOT NULL, + `I_7_MAX` double NOT NULL, + `I_8_MAX` double NOT NULL, + `I_9_MAX` double NOT NULL, + `I_10_MAX` double NOT NULL, + `I_11_MAX` double NOT NULL, + `I_12_MAX` double NOT NULL, + `I_13_MAX` double NOT NULL, + `I_14_MAX` double NOT NULL, + `I_15_MAX` double NOT NULL, + `I_16_MAX` double NOT NULL, + `I_17_MAX` double NOT NULL, + `I_18_MAX` double NOT NULL, + `I_19_MAX` double NOT NULL, + `I_20_MAX` double NOT NULL, + `I_21_MAX` double NOT NULL, + `I_22_MAX` double NOT NULL, + `I_23_MAX` double NOT NULL, + `I_24_MAX` double NOT NULL, + `I_25_MAX` double NOT NULL, + `I_26_MAX` double NOT NULL, + `I_27_MAX` double NOT NULL, + `I_28_MAX` double NOT NULL, + `I_29_MAX` double NOT NULL, + `I_30_MAX` double NOT NULL, + `I_31_MAX` double NOT NULL, + `I_32_MAX` double NOT NULL, + `I_33_MAX` double NOT NULL, + `I_34_MAX` double NOT NULL, + `I_35_MAX` double NOT NULL, + `I_36_MAX` double NOT NULL, + `I_37_MAX` double NOT NULL, + `I_38_MAX` double NOT NULL, + `I_39_MAX` double NOT NULL, + `I_40_MAX` double NOT NULL, + `I_41_MAX` double NOT NULL, + `I_42_MAX` double NOT NULL, + `I_43_MAX` double NOT NULL, + `I_44_MAX` double NOT NULL, + `I_45_MAX` double NOT NULL, + `I_46_MAX` double NOT NULL, + `I_47_MAX` double NOT NULL, + `I_48_MAX` double NOT NULL, + `I_49_MAX` double NOT NULL, + `I_50_MAX` double NOT NULL, + `I_1_MIN` double NOT NULL, + `I_2_MIN` double NOT NULL, + `I_3_MIN` double NOT NULL, + `I_4_MIN` double NOT NULL, + `I_5_MIN` double NOT NULL, + `I_6_MIN` double NOT NULL, + `I_7_MIN` double NOT NULL, + `I_8_MIN` double NOT NULL, + `I_9_MIN` double NOT NULL, + `I_10_MIN` double NOT NULL, + `I_11_MIN` double NOT NULL, + `I_12_MIN` double NOT NULL, + `I_13_MIN` double NOT NULL, + `I_14_MIN` double NOT NULL, + `I_15_MIN` double NOT NULL, + `I_16_MIN` double NOT NULL, + `I_17_MIN` double NOT NULL, + `I_18_MIN` double NOT NULL, + `I_19_MIN` double NOT NULL, + `I_20_MIN` double NOT NULL, + `I_21_MIN` double NOT NULL, + `I_22_MIN` double NOT NULL, + `I_23_MIN` double NOT NULL, + `I_24_MIN` double NOT NULL, + `I_25_MIN` double NOT NULL, + `I_26_MIN` double NOT NULL, + `I_27_MIN` double NOT NULL, + `I_28_MIN` double NOT NULL, + `I_29_MIN` double NOT NULL, + `I_30_MIN` double NOT NULL, + `I_31_MIN` double NOT NULL, + `I_32_MIN` double NOT NULL, + `I_33_MIN` double NOT NULL, + `I_34_MIN` double NOT NULL, + `I_35_MIN` double NOT NULL, + `I_36_MIN` double NOT NULL, + `I_37_MIN` double NOT NULL, + `I_38_MIN` double NOT NULL, + `I_39_MIN` double NOT NULL, + `I_40_MIN` double NOT NULL, + `I_41_MIN` double NOT NULL, + `I_42_MIN` double NOT NULL, + `I_43_MIN` double NOT NULL, + `I_44_MIN` double NOT NULL, + `I_45_MIN` double NOT NULL, + `I_46_MIN` double NOT NULL, + `I_47_MIN` double NOT NULL, + `I_48_MIN` double NOT NULL, + `I_49_MIN` double NOT NULL, + `I_50_MIN` double NOT NULL, + `I_1_CP95` double NOT NULL, + `I_2_CP95` double NOT NULL, + `I_3_CP95` double NOT NULL, + `I_4_CP95` double NOT NULL, + `I_5_CP95` double NOT NULL, + `I_6_CP95` double NOT NULL, + `I_7_CP95` double NOT NULL, + `I_8_CP95` double NOT NULL, + `I_9_CP95` double NOT NULL, + `I_10_CP95` double NOT NULL, + `I_11_CP95` double NOT NULL, + `I_12_CP95` double NOT NULL, + `I_13_CP95` double NOT NULL, + `I_14_CP95` double NOT NULL, + `I_15_CP95` double NOT NULL, + `I_16_CP95` double NOT NULL, + `I_17_CP95` double NOT NULL, + `I_18_CP95` double NOT NULL, + `I_19_CP95` double NOT NULL, + `I_20_CP95` double NOT NULL, + `I_21_CP95` double NOT NULL, + `I_22_CP95` double NOT NULL, + `I_23_CP95` double NOT NULL, + `I_24_CP95` double NOT NULL, + `I_25_CP95` double NOT NULL, + `I_26_CP95` double NOT NULL, + `I_27_CP95` double NOT NULL, + `I_28_CP95` double NOT NULL, + `I_29_CP95` double NOT NULL, + `I_30_CP95` double NOT NULL, + `I_31_CP95` double NOT NULL, + `I_32_CP95` double NOT NULL, + `I_33_CP95` double NOT NULL, + `I_34_CP95` double NOT NULL, + `I_35_CP95` double NOT NULL, + `I_36_CP95` double NOT NULL, + `I_37_CP95` double NOT NULL, + `I_38_CP95` double NOT NULL, + `I_39_CP95` double NOT NULL, + `I_40_CP95` double NOT NULL, + `I_41_CP95` double NOT NULL, + `I_42_CP95` double NOT NULL, + `I_43_CP95` double NOT NULL, + `I_44_CP95` double NOT NULL, + `I_45_CP95` double NOT NULL, + `I_46_CP95` double NOT NULL, + `I_47_CP95` double NOT NULL, + `I_48_CP95` double NOT NULL, + `I_49_CP95` double NOT NULL, + `I_50_CP95` double NOT NULL, + `QUALITYFLAG` decimal(1, 0) NOT NULL, + PRIMARY KEY (`LINEID`, `TIMEID`, `PHASIC_TYPE`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for data_harmphasic_v +-- ---------------------------- +DROP TABLE IF EXISTS `data_harmphasic_v`; +CREATE TABLE `data_harmphasic_v` ( + `TIMEID` datetime NOT NULL, + `LINEID` char(32) NOT NULL, + `PHASIC_TYPE` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `V_1` double NOT NULL, + `V_2` double NOT NULL, + `V_3` double NOT NULL, + `V_4` double NOT NULL, + `V_5` double NOT NULL, + `V_6` double NOT NULL, + `V_7` double NOT NULL, + `V_8` double NOT NULL, + `V_9` double NOT NULL, + `V_10` double NOT NULL, + `V_11` double NOT NULL, + `V_12` double NOT NULL, + `V_13` double NOT NULL, + `V_14` double NOT NULL, + `V_15` double NOT NULL, + `V_16` double NOT NULL, + `V_17` double NOT NULL, + `V_18` double NOT NULL, + `V_19` double NOT NULL, + `V_20` double NOT NULL, + `V_21` double NOT NULL, + `V_22` double NOT NULL, + `V_23` double NOT NULL, + `V_24` double NOT NULL, + `V_25` double NOT NULL, + `V_26` double NOT NULL, + `V_27` double NOT NULL, + `V_28` double NOT NULL, + `V_29` double NOT NULL, + `V_30` double NOT NULL, + `V_31` double NOT NULL, + `V_32` double NOT NULL, + `V_33` double NOT NULL, + `V_34` double NOT NULL, + `V_35` double NOT NULL, + `V_36` double NOT NULL, + `V_37` double NOT NULL, + `V_38` double NOT NULL, + `V_39` double NOT NULL, + `V_40` double NOT NULL, + `V_41` double NOT NULL, + `V_42` double NOT NULL, + `V_43` double NOT NULL, + `V_44` double NOT NULL, + `V_45` double NOT NULL, + `V_46` double NOT NULL, + `V_47` double NOT NULL, + `V_48` double NOT NULL, + `V_49` double NOT NULL, + `V_50` double NOT NULL, + `V_1_MAX` double NOT NULL, + `V_2_MAX` double NOT NULL, + `V_3_MAX` double NOT NULL, + `V_4_MAX` double NOT NULL, + `V_5_MAX` double NOT NULL, + `V_6_MAX` double NOT NULL, + `V_7_MAX` double NOT NULL, + `V_8_MAX` double NOT NULL, + `V_9_MAX` double NOT NULL, + `V_10_MAX` double NOT NULL, + `V_11_MAX` double NOT NULL, + `V_12_MAX` double NOT NULL, + `V_13_MAX` double NOT NULL, + `V_14_MAX` double NOT NULL, + `V_15_MAX` double NOT NULL, + `V_16_MAX` double NOT NULL, + `V_17_MAX` double NOT NULL, + `V_18_MAX` double NOT NULL, + `V_19_MAX` double NOT NULL, + `V_20_MAX` double NOT NULL, + `V_21_MAX` double NOT NULL, + `V_22_MAX` double NOT NULL, + `V_23_MAX` double NOT NULL, + `V_24_MAX` double NOT NULL, + `V_25_MAX` double NOT NULL, + `V_26_MAX` double NOT NULL, + `V_27_MAX` double NOT NULL, + `V_28_MAX` double NOT NULL, + `V_29_MAX` double NOT NULL, + `V_30_MAX` double NOT NULL, + `V_31_MAX` double NOT NULL, + `V_32_MAX` double NOT NULL, + `V_33_MAX` double NOT NULL, + `V_34_MAX` double NOT NULL, + `V_35_MAX` double NOT NULL, + `V_36_MAX` double NOT NULL, + `V_37_MAX` double NOT NULL, + `V_38_MAX` double NOT NULL, + `V_39_MAX` double NOT NULL, + `V_40_MAX` double NOT NULL, + `V_41_MAX` double NOT NULL, + `V_42_MAX` double NOT NULL, + `V_43_MAX` double NOT NULL, + `V_44_MAX` double NOT NULL, + `V_45_MAX` double NOT NULL, + `V_46_MAX` double NOT NULL, + `V_47_MAX` double NOT NULL, + `V_48_MAX` double NOT NULL, + `V_49_MAX` double NOT NULL, + `V_50_MAX` double NOT NULL, + `V_1_MIN` double NOT NULL, + `V_2_MIN` double NOT NULL, + `V_3_MIN` double NOT NULL, + `V_4_MIN` double NOT NULL, + `V_5_MIN` double NOT NULL, + `V_6_MIN` double NOT NULL, + `V_7_MIN` double NOT NULL, + `V_8_MIN` double NOT NULL, + `V_9_MIN` double NOT NULL, + `V_10_MIN` double NOT NULL, + `V_11_MIN` double NOT NULL, + `V_12_MIN` double NOT NULL, + `V_13_MIN` double NOT NULL, + `V_14_MIN` double NOT NULL, + `V_15_MIN` double NOT NULL, + `V_16_MIN` double NOT NULL, + `V_17_MIN` double NOT NULL, + `V_18_MIN` double NOT NULL, + `V_19_MIN` double NOT NULL, + `V_20_MIN` double NOT NULL, + `V_21_MIN` double NOT NULL, + `V_22_MIN` double NOT NULL, + `V_23_MIN` double NOT NULL, + `V_24_MIN` double NOT NULL, + `V_25_MIN` double NOT NULL, + `V_26_MIN` double NOT NULL, + `V_27_MIN` double NOT NULL, + `V_28_MIN` double NOT NULL, + `V_29_MIN` double NOT NULL, + `V_30_MIN` double NOT NULL, + `V_31_MIN` double NOT NULL, + `V_32_MIN` double NOT NULL, + `V_33_MIN` double NOT NULL, + `V_34_MIN` double NOT NULL, + `V_35_MIN` double NOT NULL, + `V_36_MIN` double NOT NULL, + `V_37_MIN` double NOT NULL, + `V_38_MIN` double NOT NULL, + `V_39_MIN` double NOT NULL, + `V_40_MIN` double NOT NULL, + `V_41_MIN` double NOT NULL, + `V_42_MIN` double NOT NULL, + `V_43_MIN` double NOT NULL, + `V_44_MIN` double NOT NULL, + `V_45_MIN` double NOT NULL, + `V_46_MIN` double NOT NULL, + `V_47_MIN` double NOT NULL, + `V_48_MIN` double NOT NULL, + `V_49_MIN` double NOT NULL, + `V_50_MIN` double NOT NULL, + `V_1_CP95` double NOT NULL, + `V_2_CP95` double NOT NULL, + `V_3_CP95` double NOT NULL, + `V_4_CP95` double NOT NULL, + `V_5_CP95` double NOT NULL, + `V_6_CP95` double NOT NULL, + `V_7_CP95` double NOT NULL, + `V_8_CP95` double NOT NULL, + `V_9_CP95` double NOT NULL, + `V_10_CP95` double NOT NULL, + `V_11_CP95` double NOT NULL, + `V_12_CP95` double NOT NULL, + `V_13_CP95` double NOT NULL, + `V_14_CP95` double NOT NULL, + `V_15_CP95` double NOT NULL, + `V_16_CP95` double NOT NULL, + `V_17_CP95` double NOT NULL, + `V_18_CP95` double NOT NULL, + `V_19_CP95` double NOT NULL, + `V_20_CP95` double NOT NULL, + `V_21_CP95` double NOT NULL, + `V_22_CP95` double NOT NULL, + `V_23_CP95` double NOT NULL, + `V_24_CP95` double NOT NULL, + `V_25_CP95` double NOT NULL, + `V_26_CP95` double NOT NULL, + `V_27_CP95` double NOT NULL, + `V_28_CP95` double NOT NULL, + `V_29_CP95` double NOT NULL, + `V_30_CP95` double NOT NULL, + `V_31_CP95` double NOT NULL, + `V_32_CP95` double NOT NULL, + `V_33_CP95` double NOT NULL, + `V_34_CP95` double NOT NULL, + `V_35_CP95` double NOT NULL, + `V_36_CP95` double NOT NULL, + `V_37_CP95` double NOT NULL, + `V_38_CP95` double NOT NULL, + `V_39_CP95` double NOT NULL, + `V_40_CP95` double NOT NULL, + `V_41_CP95` double NOT NULL, + `V_42_CP95` double NOT NULL, + `V_43_CP95` double NOT NULL, + `V_44_CP95` double NOT NULL, + `V_45_CP95` double NOT NULL, + `V_46_CP95` double NOT NULL, + `V_47_CP95` double NOT NULL, + `V_48_CP95` double NOT NULL, + `V_49_CP95` double NOT NULL, + `V_50_CP95` double NOT NULL, + `QUALITYFLAG` decimal(1, 0) NOT NULL, + PRIMARY KEY (`LINEID`, `TIMEID`, `PHASIC_TYPE`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for data_harmpower_p +-- ---------------------------- +DROP TABLE IF EXISTS `data_harmpower_p`; +CREATE TABLE `data_harmpower_p` ( + `TIMEID` datetime NOT NULL, + `LINEID` char(32) NOT NULL, + `PHASIC_TYPE` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `PF` double NOT NULL, + `DF` double NOT NULL, + `P` double NOT NULL, + `P_1` double NOT NULL, + `P_2` double NOT NULL, + `P_3` double NOT NULL, + `P_4` double NOT NULL, + `P_5` double NOT NULL, + `P_6` double NOT NULL, + `P_7` double NOT NULL, + `P_8` double NOT NULL, + `P_9` double NOT NULL, + `P_10` double NOT NULL, + `P_11` double NOT NULL, + `P_12` double NOT NULL, + `P_13` double NOT NULL, + `P_14` double NOT NULL, + `P_15` double NOT NULL, + `P_16` double NOT NULL, + `P_17` double NOT NULL, + `P_18` double NOT NULL, + `P_19` double NOT NULL, + `P_20` double NOT NULL, + `P_21` double NOT NULL, + `P_22` double NOT NULL, + `P_23` double NOT NULL, + `P_24` double NOT NULL, + `P_25` double NOT NULL, + `P_26` double NOT NULL, + `P_27` double NOT NULL, + `P_28` double NOT NULL, + `P_29` double NOT NULL, + `P_30` double NOT NULL, + `P_31` double NOT NULL, + `P_32` double NOT NULL, + `P_33` double NOT NULL, + `P_34` double NOT NULL, + `P_35` double NOT NULL, + `P_36` double NOT NULL, + `P_37` double NOT NULL, + `P_38` double NOT NULL, + `P_39` double NOT NULL, + `P_40` double NOT NULL, + `P_41` double NOT NULL, + `P_42` double NOT NULL, + `P_43` double NOT NULL, + `P_44` double NOT NULL, + `P_45` double NOT NULL, + `P_46` double NOT NULL, + `P_47` double NOT NULL, + `P_48` double NOT NULL, + `P_49` double NOT NULL, + `P_50` double NOT NULL, + `PF_MAX` double NOT NULL, + `DF_MAX` double NOT NULL, + `P_MAX` double NOT NULL, + `P_1_MAX` double NOT NULL, + `P_2_MAX` double NOT NULL, + `P_3_MAX` double NOT NULL, + `P_4_MAX` double NOT NULL, + `P_5_MAX` double NOT NULL, + `P_6_MAX` double NOT NULL, + `P_7_MAX` double NOT NULL, + `P_8_MAX` double NOT NULL, + `P_9_MAX` double NOT NULL, + `P_10_MAX` double NOT NULL, + `P_11_MAX` double NOT NULL, + `P_12_MAX` double NOT NULL, + `P_13_MAX` double NOT NULL, + `P_14_MAX` double NOT NULL, + `P_15_MAX` double NOT NULL, + `P_16_MAX` double NOT NULL, + `P_17_MAX` double NOT NULL, + `P_18_MAX` double NOT NULL, + `P_19_MAX` double NOT NULL, + `P_20_MAX` double NOT NULL, + `P_21_MAX` double NOT NULL, + `P_22_MAX` double NOT NULL, + `P_23_MAX` double NOT NULL, + `P_24_MAX` double NOT NULL, + `P_25_MAX` double NOT NULL, + `P_26_MAX` double NOT NULL, + `P_27_MAX` double NOT NULL, + `P_28_MAX` double NOT NULL, + `P_29_MAX` double NOT NULL, + `P_30_MAX` double NOT NULL, + `P_31_MAX` double NOT NULL, + `P_32_MAX` double NOT NULL, + `P_33_MAX` double NOT NULL, + `P_34_MAX` double NOT NULL, + `P_35_MAX` double NOT NULL, + `P_36_MAX` double NOT NULL, + `P_37_MAX` double NOT NULL, + `P_38_MAX` double NOT NULL, + `P_39_MAX` double NOT NULL, + `P_40_MAX` double NOT NULL, + `P_41_MAX` double NOT NULL, + `P_42_MAX` double NOT NULL, + `P_43_MAX` double NOT NULL, + `P_44_MAX` double NOT NULL, + `P_45_MAX` double NOT NULL, + `P_46_MAX` double NOT NULL, + `P_47_MAX` double NOT NULL, + `P_48_MAX` double NOT NULL, + `P_49_MAX` double NOT NULL, + `P_50_MAX` double NOT NULL, + `PF_MIN` double NOT NULL, + `DF_MIN` double NOT NULL, + `P_MIN` double NOT NULL, + `P_1_MIN` double NOT NULL, + `P_2_MIN` double NOT NULL, + `P_3_MIN` double NOT NULL, + `P_4_MIN` double NOT NULL, + `P_5_MIN` double NOT NULL, + `P_6_MIN` double NOT NULL, + `P_7_MIN` double NOT NULL, + `P_8_MIN` double NOT NULL, + `P_9_MIN` double NOT NULL, + `P_10_MIN` double NOT NULL, + `P_11_MIN` double NOT NULL, + `P_12_MIN` double NOT NULL, + `P_13_MIN` double NOT NULL, + `P_14_MIN` double NOT NULL, + `P_15_MIN` double NOT NULL, + `P_16_MIN` double NOT NULL, + `P_17_MIN` double NOT NULL, + `P_18_MIN` double NOT NULL, + `P_19_MIN` double NOT NULL, + `P_20_MIN` double NOT NULL, + `P_21_MIN` double NOT NULL, + `P_22_MIN` double NOT NULL, + `P_23_MIN` double NOT NULL, + `P_24_MIN` double NOT NULL, + `P_25_MIN` double NOT NULL, + `P_26_MIN` double NOT NULL, + `P_27_MIN` double NOT NULL, + `P_28_MIN` double NOT NULL, + `P_29_MIN` double NOT NULL, + `P_30_MIN` double NOT NULL, + `P_31_MIN` double NOT NULL, + `P_32_MIN` double NOT NULL, + `P_33_MIN` double NOT NULL, + `P_34_MIN` double NOT NULL, + `P_35_MIN` double NOT NULL, + `P_36_MIN` double NOT NULL, + `P_37_MIN` double NOT NULL, + `P_38_MIN` double NOT NULL, + `P_39_MIN` double NOT NULL, + `P_40_MIN` double NOT NULL, + `P_41_MIN` double NOT NULL, + `P_42_MIN` double NOT NULL, + `P_43_MIN` double NOT NULL, + `P_44_MIN` double NOT NULL, + `P_45_MIN` double NOT NULL, + `P_46_MIN` double NOT NULL, + `P_47_MIN` double NOT NULL, + `P_48_MIN` double NOT NULL, + `P_49_MIN` double NOT NULL, + `P_50_MIN` double NOT NULL, + `PF_CP95` double NOT NULL, + `DF_CP95` double NOT NULL, + `P_CP95` double NOT NULL, + `P_1_CP95` double NOT NULL, + `P_2_CP95` double NOT NULL, + `P_3_CP95` double NOT NULL, + `P_4_CP95` double NOT NULL, + `P_5_CP95` double NOT NULL, + `P_6_CP95` double NOT NULL, + `P_7_CP95` double NOT NULL, + `P_8_CP95` double NOT NULL, + `P_9_CP95` double NOT NULL, + `P_10_CP95` double NOT NULL, + `P_11_CP95` double NOT NULL, + `P_12_CP95` double NOT NULL, + `P_13_CP95` double NOT NULL, + `P_14_CP95` double NOT NULL, + `P_15_CP95` double NOT NULL, + `P_16_CP95` double NOT NULL, + `P_17_CP95` double NOT NULL, + `P_18_CP95` double NOT NULL, + `P_19_CP95` double NOT NULL, + `P_20_CP95` double NOT NULL, + `P_21_CP95` double NOT NULL, + `P_22_CP95` double NOT NULL, + `P_23_CP95` double NOT NULL, + `P_24_CP95` double NOT NULL, + `P_25_CP95` double NOT NULL, + `P_26_CP95` double NOT NULL, + `P_27_CP95` double NOT NULL, + `P_28_CP95` double NOT NULL, + `P_29_CP95` double NOT NULL, + `P_30_CP95` double NOT NULL, + `P_31_CP95` double NOT NULL, + `P_32_CP95` double NOT NULL, + `P_33_CP95` double NOT NULL, + `P_34_CP95` double NOT NULL, + `P_35_CP95` double NOT NULL, + `P_36_CP95` double NOT NULL, + `P_37_CP95` double NOT NULL, + `P_38_CP95` double NOT NULL, + `P_39_CP95` double NOT NULL, + `P_40_CP95` double NOT NULL, + `P_41_CP95` double NOT NULL, + `P_42_CP95` double NOT NULL, + `P_43_CP95` double NOT NULL, + `P_44_CP95` double NOT NULL, + `P_45_CP95` double NOT NULL, + `P_46_CP95` double NOT NULL, + `P_47_CP95` double NOT NULL, + `P_48_CP95` double NOT NULL, + `P_49_CP95` double NOT NULL, + `P_50_CP95` double NOT NULL, + `QUALITYFLAG` decimal(1, 0) NOT NULL, + PRIMARY KEY (`LINEID`, `TIMEID`, `PHASIC_TYPE`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for data_harmpower_q +-- ---------------------------- +DROP TABLE IF EXISTS `data_harmpower_q`; +CREATE TABLE `data_harmpower_q` ( + `TIMEID` datetime NOT NULL, + `LINEID` char(32) NOT NULL, + `PHASIC_TYPE` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `Q` double NOT NULL, + `Q_1` double NOT NULL, + `Q_2` double NOT NULL, + `Q_3` double NOT NULL, + `Q_4` double NOT NULL, + `Q_5` double NOT NULL, + `Q_6` double NOT NULL, + `Q_7` double NOT NULL, + `Q_8` double NOT NULL, + `Q_9` double NOT NULL, + `Q_10` double NOT NULL, + `Q_11` double NOT NULL, + `Q_12` double NOT NULL, + `Q_13` double NOT NULL, + `Q_14` double NOT NULL, + `Q_15` double NOT NULL, + `Q_16` double NOT NULL, + `Q_17` double NOT NULL, + `Q_18` double NOT NULL, + `Q_19` double NOT NULL, + `Q_20` double NOT NULL, + `Q_21` double NOT NULL, + `Q_22` double NOT NULL, + `Q_23` double NOT NULL, + `Q_24` double NOT NULL, + `Q_25` double NOT NULL, + `Q_26` double NOT NULL, + `Q_27` double NOT NULL, + `Q_28` double NOT NULL, + `Q_29` double NOT NULL, + `Q_30` double NOT NULL, + `Q_31` double NOT NULL, + `Q_32` double NOT NULL, + `Q_33` double NOT NULL, + `Q_34` double NOT NULL, + `Q_35` double NOT NULL, + `Q_36` double NOT NULL, + `Q_37` double NOT NULL, + `Q_38` double NOT NULL, + `Q_39` double NOT NULL, + `Q_40` double NOT NULL, + `Q_41` double NOT NULL, + `Q_42` double NOT NULL, + `Q_43` double NOT NULL, + `Q_44` double NOT NULL, + `Q_45` double NOT NULL, + `Q_46` double NOT NULL, + `Q_47` double NOT NULL, + `Q_48` double NOT NULL, + `Q_49` double NOT NULL, + `Q_50` double NOT NULL, + `Q_MAX` double NOT NULL, + `Q_1_MAX` double NOT NULL, + `Q_2_MAX` double NOT NULL, + `Q_3_MAX` double NOT NULL, + `Q_4_MAX` double NOT NULL, + `Q_5_MAX` double NOT NULL, + `Q_6_MAX` double NOT NULL, + `Q_7_MAX` double NOT NULL, + `Q_8_MAX` double NOT NULL, + `Q_9_MAX` double NOT NULL, + `Q_10_MAX` double NOT NULL, + `Q_11_MAX` double NOT NULL, + `Q_12_MAX` double NOT NULL, + `Q_13_MAX` double NOT NULL, + `Q_14_MAX` double NOT NULL, + `Q_15_MAX` double NOT NULL, + `Q_16_MAX` double NOT NULL, + `Q_17_MAX` double NOT NULL, + `Q_18_MAX` double NOT NULL, + `Q_19_MAX` double NOT NULL, + `Q_20_MAX` double NOT NULL, + `Q_21_MAX` double NOT NULL, + `Q_22_MAX` double NOT NULL, + `Q_23_MAX` double NOT NULL, + `Q_24_MAX` double NOT NULL, + `Q_25_MAX` double NOT NULL, + `Q_26_MAX` double NOT NULL, + `Q_27_MAX` double NOT NULL, + `Q_28_MAX` double NOT NULL, + `Q_29_MAX` double NOT NULL, + `Q_30_MAX` double NOT NULL, + `Q_31_MAX` double NOT NULL, + `Q_32_MAX` double NOT NULL, + `Q_33_MAX` double NOT NULL, + `Q_34_MAX` double NOT NULL, + `Q_35_MAX` double NOT NULL, + `Q_36_MAX` double NOT NULL, + `Q_37_MAX` double NOT NULL, + `Q_38_MAX` double NOT NULL, + `Q_39_MAX` double NOT NULL, + `Q_40_MAX` double NOT NULL, + `Q_41_MAX` double NOT NULL, + `Q_42_MAX` double NOT NULL, + `Q_43_MAX` double NOT NULL, + `Q_44_MAX` double NOT NULL, + `Q_45_MAX` double NOT NULL, + `Q_46_MAX` double NOT NULL, + `Q_47_MAX` double NOT NULL, + `Q_48_MAX` double NOT NULL, + `Q_49_MAX` double NOT NULL, + `Q_50_MAX` double NOT NULL, + `Q_MIN` double NOT NULL, + `Q_1_MIN` double NOT NULL, + `Q_2_MIN` double NOT NULL, + `Q_3_MIN` double NOT NULL, + `Q_4_MIN` double NOT NULL, + `Q_5_MIN` double NOT NULL, + `Q_6_MIN` double NOT NULL, + `Q_7_MIN` double NOT NULL, + `Q_8_MIN` double NOT NULL, + `Q_9_MIN` double NOT NULL, + `Q_10_MIN` double NOT NULL, + `Q_11_MIN` double NOT NULL, + `Q_12_MIN` double NOT NULL, + `Q_13_MIN` double NOT NULL, + `Q_14_MIN` double NOT NULL, + `Q_15_MIN` double NOT NULL, + `Q_16_MIN` double NOT NULL, + `Q_17_MIN` double NOT NULL, + `Q_18_MIN` double NOT NULL, + `Q_19_MIN` double NOT NULL, + `Q_20_MIN` double NOT NULL, + `Q_21_MIN` double NOT NULL, + `Q_22_MIN` double NOT NULL, + `Q_23_MIN` double NOT NULL, + `Q_24_MIN` double NOT NULL, + `Q_25_MIN` double NOT NULL, + `Q_26_MIN` double NOT NULL, + `Q_27_MIN` double NOT NULL, + `Q_28_MIN` double NOT NULL, + `Q_29_MIN` double NOT NULL, + `Q_30_MIN` double NOT NULL, + `Q_31_MIN` double NOT NULL, + `Q_32_MIN` double NOT NULL, + `Q_33_MIN` double NOT NULL, + `Q_34_MIN` double NOT NULL, + `Q_35_MIN` double NOT NULL, + `Q_36_MIN` double NOT NULL, + `Q_37_MIN` double NOT NULL, + `Q_38_MIN` double NOT NULL, + `Q_39_MIN` double NOT NULL, + `Q_40_MIN` double NOT NULL, + `Q_41_MIN` double NOT NULL, + `Q_42_MIN` double NOT NULL, + `Q_43_MIN` double NOT NULL, + `Q_44_MIN` double NOT NULL, + `Q_45_MIN` double NOT NULL, + `Q_46_MIN` double NOT NULL, + `Q_47_MIN` double NOT NULL, + `Q_48_MIN` double NOT NULL, + `Q_49_MIN` double NOT NULL, + `Q_50_MIN` double NOT NULL, + `Q_CP95` double NOT NULL, + `Q_1_CP95` double NOT NULL, + `Q_2_CP95` double NOT NULL, + `Q_3_CP95` double NOT NULL, + `Q_4_CP95` double NOT NULL, + `Q_5_CP95` double NOT NULL, + `Q_6_CP95` double NOT NULL, + `Q_7_CP95` double NOT NULL, + `Q_8_CP95` double NOT NULL, + `Q_9_CP95` double NOT NULL, + `Q_10_CP95` double NOT NULL, + `Q_11_CP95` double NOT NULL, + `Q_12_CP95` double NOT NULL, + `Q_13_CP95` double NOT NULL, + `Q_14_CP95` double NOT NULL, + `Q_15_CP95` double NOT NULL, + `Q_16_CP95` double NOT NULL, + `Q_17_CP95` double NOT NULL, + `Q_18_CP95` double NOT NULL, + `Q_19_CP95` double NOT NULL, + `Q_20_CP95` double NOT NULL, + `Q_21_CP95` double NOT NULL, + `Q_22_CP95` double NOT NULL, + `Q_23_CP95` double NOT NULL, + `Q_24_CP95` double NOT NULL, + `Q_25_CP95` double NOT NULL, + `Q_26_CP95` double NOT NULL, + `Q_27_CP95` double NOT NULL, + `Q_28_CP95` double NOT NULL, + `Q_29_CP95` double NOT NULL, + `Q_30_CP95` double NOT NULL, + `Q_31_CP95` double NOT NULL, + `Q_32_CP95` double NOT NULL, + `Q_33_CP95` double NOT NULL, + `Q_34_CP95` double NOT NULL, + `Q_35_CP95` double NOT NULL, + `Q_36_CP95` double NOT NULL, + `Q_37_CP95` double NOT NULL, + `Q_38_CP95` double NOT NULL, + `Q_39_CP95` double NOT NULL, + `Q_40_CP95` double NOT NULL, + `Q_41_CP95` double NOT NULL, + `Q_42_CP95` double NOT NULL, + `Q_43_CP95` double NOT NULL, + `Q_44_CP95` double NOT NULL, + `Q_45_CP95` double NOT NULL, + `Q_46_CP95` double NOT NULL, + `Q_47_CP95` double NOT NULL, + `Q_48_CP95` double NOT NULL, + `Q_49_CP95` double NOT NULL, + `Q_50_CP95` double NOT NULL, + `QUALITYFLAG` decimal(1, 0) NOT NULL, + PRIMARY KEY (`LINEID`, `TIMEID`, `PHASIC_TYPE`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for data_harmpower_s +-- ---------------------------- +DROP TABLE IF EXISTS `data_harmpower_s`; +CREATE TABLE `data_harmpower_s` ( + `TIMEID` datetime NOT NULL, + `LINEID` char(32) NOT NULL, + `PHASIC_TYPE` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `S` double NOT NULL, + `S_1` double NOT NULL, + `S_2` double NOT NULL, + `S_3` double NOT NULL, + `S_4` double NOT NULL, + `S_5` double NOT NULL, + `S_6` double NOT NULL, + `S_7` double NOT NULL, + `S_8` double NOT NULL, + `S_9` double NOT NULL, + `S_10` double NOT NULL, + `S_11` double NOT NULL, + `S_12` double NOT NULL, + `S_13` double NOT NULL, + `S_14` double NOT NULL, + `S_15` double NOT NULL, + `S_16` double NOT NULL, + `S_17` double NOT NULL, + `S_18` double NOT NULL, + `S_19` double NOT NULL, + `S_20` double NOT NULL, + `S_21` double NOT NULL, + `S_22` double NOT NULL, + `S_23` double NOT NULL, + `S_24` double NOT NULL, + `S_25` double NOT NULL, + `S_26` double NOT NULL, + `S_27` double NOT NULL, + `S_28` double NOT NULL, + `S_29` double NOT NULL, + `S_30` double NOT NULL, + `S_31` double NOT NULL, + `S_32` double NOT NULL, + `S_33` double NOT NULL, + `S_34` double NOT NULL, + `S_35` double NOT NULL, + `S_36` double NOT NULL, + `S_37` double NOT NULL, + `S_38` double NOT NULL, + `S_39` double NOT NULL, + `S_40` double NOT NULL, + `S_41` double NOT NULL, + `S_42` double NOT NULL, + `S_43` double NOT NULL, + `S_44` double NOT NULL, + `S_45` double NOT NULL, + `S_46` double NOT NULL, + `S_47` double NOT NULL, + `S_48` double NOT NULL, + `S_49` double NOT NULL, + `S_50` double NOT NULL, + `S_MAX` double NOT NULL, + `S_1_MAX` double NOT NULL, + `S_2_MAX` double NOT NULL, + `S_3_MAX` double NOT NULL, + `S_4_MAX` double NOT NULL, + `S_5_MAX` double NOT NULL, + `S_6_MAX` double NOT NULL, + `S_7_MAX` double NOT NULL, + `S_8_MAX` double NOT NULL, + `S_9_MAX` double NOT NULL, + `S_10_MAX` double NOT NULL, + `S_11_MAX` double NOT NULL, + `S_12_MAX` double NOT NULL, + `S_13_MAX` double NOT NULL, + `S_14_MAX` double NOT NULL, + `S_15_MAX` double NOT NULL, + `S_16_MAX` double NOT NULL, + `S_17_MAX` double NOT NULL, + `S_18_MAX` double NOT NULL, + `S_19_MAX` double NOT NULL, + `S_20_MAX` double NOT NULL, + `S_21_MAX` double NOT NULL, + `S_22_MAX` double NOT NULL, + `S_23_MAX` double NOT NULL, + `S_24_MAX` double NOT NULL, + `S_25_MAX` double NOT NULL, + `S_26_MAX` double NOT NULL, + `S_27_MAX` double NOT NULL, + `S_28_MAX` double NOT NULL, + `S_29_MAX` double NOT NULL, + `S_30_MAX` double NOT NULL, + `S_31_MAX` double NOT NULL, + `S_32_MAX` double NOT NULL, + `S_33_MAX` double NOT NULL, + `S_34_MAX` double NOT NULL, + `S_35_MAX` double NOT NULL, + `S_36_MAX` double NOT NULL, + `S_37_MAX` double NOT NULL, + `S_38_MAX` double NOT NULL, + `S_39_MAX` double NOT NULL, + `S_40_MAX` double NOT NULL, + `S_41_MAX` double NOT NULL, + `S_42_MAX` double NOT NULL, + `S_43_MAX` double NOT NULL, + `S_44_MAX` double NOT NULL, + `S_45_MAX` double NOT NULL, + `S_46_MAX` double NOT NULL, + `S_47_MAX` double NOT NULL, + `S_48_MAX` double NOT NULL, + `S_49_MAX` double NOT NULL, + `S_50_MAX` double NOT NULL, + `S_MIN` double NOT NULL, + `S_1_MIN` double NOT NULL, + `S_2_MIN` double NOT NULL, + `S_3_MIN` double NOT NULL, + `S_4_MIN` double NOT NULL, + `S_5_MIN` double NOT NULL, + `S_6_MIN` double NOT NULL, + `S_7_MIN` double NOT NULL, + `S_8_MIN` double NOT NULL, + `S_9_MIN` double NOT NULL, + `S_10_MIN` double NOT NULL, + `S_11_MIN` double NOT NULL, + `S_12_MIN` double NOT NULL, + `S_13_MIN` double NOT NULL, + `S_14_MIN` double NOT NULL, + `S_15_MIN` double NOT NULL, + `S_16_MIN` double NOT NULL, + `S_17_MIN` double NOT NULL, + `S_18_MIN` double NOT NULL, + `S_19_MIN` double NOT NULL, + `S_20_MIN` double NOT NULL, + `S_21_MIN` double NOT NULL, + `S_22_MIN` double NOT NULL, + `S_23_MIN` double NOT NULL, + `S_24_MIN` double NOT NULL, + `S_25_MIN` double NOT NULL, + `S_26_MIN` double NOT NULL, + `S_27_MIN` double NOT NULL, + `S_28_MIN` double NOT NULL, + `S_29_MIN` double NOT NULL, + `S_30_MIN` double NOT NULL, + `S_31_MIN` double NOT NULL, + `S_32_MIN` double NOT NULL, + `S_33_MIN` double NOT NULL, + `S_34_MIN` double NOT NULL, + `S_35_MIN` double NOT NULL, + `S_36_MIN` double NOT NULL, + `S_37_MIN` double NOT NULL, + `S_38_MIN` double NOT NULL, + `S_39_MIN` double NOT NULL, + `S_40_MIN` double NOT NULL, + `S_41_MIN` double NOT NULL, + `S_42_MIN` double NOT NULL, + `S_43_MIN` double NOT NULL, + `S_44_MIN` double NOT NULL, + `S_45_MIN` double NOT NULL, + `S_46_MIN` double NOT NULL, + `S_47_MIN` double NOT NULL, + `S_48_MIN` double NOT NULL, + `S_49_MIN` double NOT NULL, + `S_50_MIN` double NOT NULL, + `S_CP95` double NOT NULL, + `S_1_CP95` double NOT NULL, + `S_2_CP95` double NOT NULL, + `S_3_CP95` double NOT NULL, + `S_4_CP95` double NOT NULL, + `S_5_CP95` double NOT NULL, + `S_6_CP95` double NOT NULL, + `S_7_CP95` double NOT NULL, + `S_8_CP95` double NOT NULL, + `S_9_CP95` double NOT NULL, + `S_10_CP95` double NOT NULL, + `S_11_CP95` double NOT NULL, + `S_12_CP95` double NOT NULL, + `S_13_CP95` double NOT NULL, + `S_14_CP95` double NOT NULL, + `S_15_CP95` double NOT NULL, + `S_16_CP95` double NOT NULL, + `S_17_CP95` double NOT NULL, + `S_18_CP95` double NOT NULL, + `S_19_CP95` double NOT NULL, + `S_20_CP95` double NOT NULL, + `S_21_CP95` double NOT NULL, + `S_22_CP95` double NOT NULL, + `S_23_CP95` double NOT NULL, + `S_24_CP95` double NOT NULL, + `S_25_CP95` double NOT NULL, + `S_26_CP95` double NOT NULL, + `S_27_CP95` double NOT NULL, + `S_28_CP95` double NOT NULL, + `S_29_CP95` double NOT NULL, + `S_30_CP95` double NOT NULL, + `S_31_CP95` double NOT NULL, + `S_32_CP95` double NOT NULL, + `S_33_CP95` double NOT NULL, + `S_34_CP95` double NOT NULL, + `S_35_CP95` double NOT NULL, + `S_36_CP95` double NOT NULL, + `S_37_CP95` double NOT NULL, + `S_38_CP95` double NOT NULL, + `S_39_CP95` double NOT NULL, + `S_40_CP95` double NOT NULL, + `S_41_CP95` double NOT NULL, + `S_42_CP95` double NOT NULL, + `S_43_CP95` double NOT NULL, + `S_44_CP95` double NOT NULL, + `S_45_CP95` double NOT NULL, + `S_46_CP95` double NOT NULL, + `S_47_CP95` double NOT NULL, + `S_48_CP95` double NOT NULL, + `S_49_CP95` double NOT NULL, + `S_50_CP95` double NOT NULL, + `QUALITYFLAG` decimal(1, 0) NOT NULL, + PRIMARY KEY (`LINEID`, `TIMEID`, `PHASIC_TYPE`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for data_harmrate_i +-- ---------------------------- +DROP TABLE IF EXISTS `data_harmrate_i`; +CREATE TABLE `data_harmrate_i` ( + `TIMEID` datetime NOT NULL, + `LINEID` char(32) NOT NULL, + `PHASIC_TYPE` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `I_1` double NOT NULL, + `I_2` double NOT NULL, + `I_3` double NOT NULL, + `I_4` double NOT NULL, + `I_5` double NOT NULL, + `I_6` double NOT NULL, + `I_7` double NOT NULL, + `I_8` double NOT NULL, + `I_9` double NOT NULL, + `I_10` double NOT NULL, + `I_11` double NOT NULL, + `I_12` double NOT NULL, + `I_13` double NOT NULL, + `I_14` double NOT NULL, + `I_15` double NOT NULL, + `I_16` double NOT NULL, + `I_17` double NOT NULL, + `I_18` double NOT NULL, + `I_19` double NOT NULL, + `I_20` double NOT NULL, + `I_21` double NOT NULL, + `I_22` double NOT NULL, + `I_23` double NOT NULL, + `I_24` double NOT NULL, + `I_25` double NOT NULL, + `I_26` double NOT NULL, + `I_27` double NOT NULL, + `I_28` double NOT NULL, + `I_29` double NOT NULL, + `I_30` double NOT NULL, + `I_31` double NOT NULL, + `I_32` double NOT NULL, + `I_33` double NOT NULL, + `I_34` double NOT NULL, + `I_35` double NOT NULL, + `I_36` double NOT NULL, + `I_37` double NOT NULL, + `I_38` double NOT NULL, + `I_39` double NOT NULL, + `I_40` double NOT NULL, + `I_41` double NOT NULL, + `I_42` double NOT NULL, + `I_43` double NOT NULL, + `I_44` double NOT NULL, + `I_45` double NOT NULL, + `I_46` double NOT NULL, + `I_47` double NOT NULL, + `I_48` double NOT NULL, + `I_49` double NOT NULL, + `I_50` double NOT NULL, + `I_1_MAX` double NOT NULL, + `I_2_MAX` double NOT NULL, + `I_3_MAX` double NOT NULL, + `I_4_MAX` double NOT NULL, + `I_5_MAX` double NOT NULL, + `I_6_MAX` double NOT NULL, + `I_7_MAX` double NOT NULL, + `I_8_MAX` double NOT NULL, + `I_9_MAX` double NOT NULL, + `I_10_MAX` double NOT NULL, + `I_11_MAX` double NOT NULL, + `I_12_MAX` double NOT NULL, + `I_13_MAX` double NOT NULL, + `I_14_MAX` double NOT NULL, + `I_15_MAX` double NOT NULL, + `I_16_MAX` double NOT NULL, + `I_17_MAX` double NOT NULL, + `I_18_MAX` double NOT NULL, + `I_19_MAX` double NOT NULL, + `I_20_MAX` double NOT NULL, + `I_21_MAX` double NOT NULL, + `I_22_MAX` double NOT NULL, + `I_23_MAX` double NOT NULL, + `I_24_MAX` double NOT NULL, + `I_25_MAX` double NOT NULL, + `I_26_MAX` double NOT NULL, + `I_27_MAX` double NOT NULL, + `I_28_MAX` double NOT NULL, + `I_29_MAX` double NOT NULL, + `I_30_MAX` double NOT NULL, + `I_31_MAX` double NOT NULL, + `I_32_MAX` double NOT NULL, + `I_33_MAX` double NOT NULL, + `I_34_MAX` double NOT NULL, + `I_35_MAX` double NOT NULL, + `I_36_MAX` double NOT NULL, + `I_37_MAX` double NOT NULL, + `I_38_MAX` double NOT NULL, + `I_39_MAX` double NOT NULL, + `I_40_MAX` double NOT NULL, + `I_41_MAX` double NOT NULL, + `I_42_MAX` double NOT NULL, + `I_43_MAX` double NOT NULL, + `I_44_MAX` double NOT NULL, + `I_45_MAX` double NOT NULL, + `I_46_MAX` double NOT NULL, + `I_47_MAX` double NOT NULL, + `I_48_MAX` double NOT NULL, + `I_49_MAX` double NOT NULL, + `I_50_MAX` double NOT NULL, + `I_1_MIN` double NOT NULL, + `I_2_MIN` double NOT NULL, + `I_3_MIN` double NOT NULL, + `I_4_MIN` double NOT NULL, + `I_5_MIN` double NOT NULL, + `I_6_MIN` double NOT NULL, + `I_7_MIN` double NOT NULL, + `I_8_MIN` double NOT NULL, + `I_9_MIN` double NOT NULL, + `I_10_MIN` double NOT NULL, + `I_11_MIN` double NOT NULL, + `I_12_MIN` double NOT NULL, + `I_13_MIN` double NOT NULL, + `I_14_MIN` double NOT NULL, + `I_15_MIN` double NOT NULL, + `I_16_MIN` double NOT NULL, + `I_17_MIN` double NOT NULL, + `I_18_MIN` double NOT NULL, + `I_19_MIN` double NOT NULL, + `I_20_MIN` double NOT NULL, + `I_21_MIN` double NOT NULL, + `I_22_MIN` double NOT NULL, + `I_23_MIN` double NOT NULL, + `I_24_MIN` double NOT NULL, + `I_25_MIN` double NOT NULL, + `I_26_MIN` double NOT NULL, + `I_27_MIN` double NOT NULL, + `I_28_MIN` double NOT NULL, + `I_29_MIN` double NOT NULL, + `I_30_MIN` double NOT NULL, + `I_31_MIN` double NOT NULL, + `I_32_MIN` double NOT NULL, + `I_33_MIN` double NOT NULL, + `I_34_MIN` double NOT NULL, + `I_35_MIN` double NOT NULL, + `I_36_MIN` double NOT NULL, + `I_37_MIN` double NOT NULL, + `I_38_MIN` double NOT NULL, + `I_39_MIN` double NOT NULL, + `I_40_MIN` double NOT NULL, + `I_41_MIN` double NOT NULL, + `I_42_MIN` double NOT NULL, + `I_43_MIN` double NOT NULL, + `I_44_MIN` double NOT NULL, + `I_45_MIN` double NOT NULL, + `I_46_MIN` double NOT NULL, + `I_47_MIN` double NOT NULL, + `I_48_MIN` double NOT NULL, + `I_49_MIN` double NOT NULL, + `I_50_MIN` double NOT NULL, + `I_1_CP95` double NOT NULL, + `I_2_CP95` double NOT NULL, + `I_3_CP95` double NOT NULL, + `I_4_CP95` double NOT NULL, + `I_5_CP95` double NOT NULL, + `I_6_CP95` double NOT NULL, + `I_7_CP95` double NOT NULL, + `I_8_CP95` double NOT NULL, + `I_9_CP95` double NOT NULL, + `I_10_CP95` double NOT NULL, + `I_11_CP95` double NOT NULL, + `I_12_CP95` double NOT NULL, + `I_13_CP95` double NOT NULL, + `I_14_CP95` double NOT NULL, + `I_15_CP95` double NOT NULL, + `I_16_CP95` double NOT NULL, + `I_17_CP95` double NOT NULL, + `I_18_CP95` double NOT NULL, + `I_19_CP95` double NOT NULL, + `I_20_CP95` double NOT NULL, + `I_21_CP95` double NOT NULL, + `I_22_CP95` double NOT NULL, + `I_23_CP95` double NOT NULL, + `I_24_CP95` double NOT NULL, + `I_25_CP95` double NOT NULL, + `I_26_CP95` double NOT NULL, + `I_27_CP95` double NOT NULL, + `I_28_CP95` double NOT NULL, + `I_29_CP95` double NOT NULL, + `I_30_CP95` double NOT NULL, + `I_31_CP95` double NOT NULL, + `I_32_CP95` double NOT NULL, + `I_33_CP95` double NOT NULL, + `I_34_CP95` double NOT NULL, + `I_35_CP95` double NOT NULL, + `I_36_CP95` double NOT NULL, + `I_37_CP95` double NOT NULL, + `I_38_CP95` double NOT NULL, + `I_39_CP95` double NOT NULL, + `I_40_CP95` double NOT NULL, + `I_41_CP95` double NOT NULL, + `I_42_CP95` double NOT NULL, + `I_43_CP95` double NOT NULL, + `I_44_CP95` double NOT NULL, + `I_45_CP95` double NOT NULL, + `I_46_CP95` double NOT NULL, + `I_47_CP95` double NOT NULL, + `I_48_CP95` double NOT NULL, + `I_49_CP95` double NOT NULL, + `I_50_CP95` double NOT NULL, + `QUALITYFLAG` decimal(1, 0) NOT NULL, + PRIMARY KEY (`LINEID`, `TIMEID`, `PHASIC_TYPE`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for data_harmrate_v +-- ---------------------------- +DROP TABLE IF EXISTS `data_harmrate_v`; +CREATE TABLE `data_harmrate_v` ( + `TIMEID` datetime NOT NULL, + `LINEID` char(32) NOT NULL, + `PHASIC_TYPE` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `V_1` double NOT NULL, + `V_2` double NOT NULL, + `V_3` double NOT NULL, + `V_4` double NOT NULL, + `V_5` double NOT NULL, + `V_6` double NOT NULL, + `V_7` double NOT NULL, + `V_8` double NOT NULL, + `V_9` double NOT NULL, + `V_10` double NOT NULL, + `V_11` double NOT NULL, + `V_12` double NOT NULL, + `V_13` double NOT NULL, + `V_14` double NOT NULL, + `V_15` double NOT NULL, + `V_16` double NOT NULL, + `V_17` double NOT NULL, + `V_18` double NOT NULL, + `V_19` double NOT NULL, + `V_20` double NOT NULL, + `V_21` double NOT NULL, + `V_22` double NOT NULL, + `V_23` double NOT NULL, + `V_24` double NOT NULL, + `V_25` double NOT NULL, + `V_26` double NOT NULL, + `V_27` double NOT NULL, + `V_28` double NOT NULL, + `V_29` double NOT NULL, + `V_30` double NOT NULL, + `V_31` double NOT NULL, + `V_32` double NOT NULL, + `V_33` double NOT NULL, + `V_34` double NOT NULL, + `V_35` double NOT NULL, + `V_36` double NOT NULL, + `V_37` double NOT NULL, + `V_38` double NOT NULL, + `V_39` double NOT NULL, + `V_40` double NOT NULL, + `V_41` double NOT NULL, + `V_42` double NOT NULL, + `V_43` double NOT NULL, + `V_44` double NOT NULL, + `V_45` double NOT NULL, + `V_46` double NOT NULL, + `V_47` double NOT NULL, + `V_48` double NOT NULL, + `V_49` double NOT NULL, + `V_50` double NOT NULL, + `V_1_MAX` double NOT NULL, + `V_2_MAX` double NOT NULL, + `V_3_MAX` double NOT NULL, + `V_4_MAX` double NOT NULL, + `V_5_MAX` double NOT NULL, + `V_6_MAX` double NOT NULL, + `V_7_MAX` double NOT NULL, + `V_8_MAX` double NOT NULL, + `V_9_MAX` double NOT NULL, + `V_10_MAX` double NOT NULL, + `V_11_MAX` double NOT NULL, + `V_12_MAX` double NOT NULL, + `V_13_MAX` double NOT NULL, + `V_14_MAX` double NOT NULL, + `V_15_MAX` double NOT NULL, + `V_16_MAX` double NOT NULL, + `V_17_MAX` double NOT NULL, + `V_18_MAX` double NOT NULL, + `V_19_MAX` double NOT NULL, + `V_20_MAX` double NOT NULL, + `V_21_MAX` double NOT NULL, + `V_22_MAX` double NOT NULL, + `V_23_MAX` double NOT NULL, + `V_24_MAX` double NOT NULL, + `V_25_MAX` double NOT NULL, + `V_26_MAX` double NOT NULL, + `V_27_MAX` double NOT NULL, + `V_28_MAX` double NOT NULL, + `V_29_MAX` double NOT NULL, + `V_30_MAX` double NOT NULL, + `V_31_MAX` double NOT NULL, + `V_32_MAX` double NOT NULL, + `V_33_MAX` double NOT NULL, + `V_34_MAX` double NOT NULL, + `V_35_MAX` double NOT NULL, + `V_36_MAX` double NOT NULL, + `V_37_MAX` double NOT NULL, + `V_38_MAX` double NOT NULL, + `V_39_MAX` double NOT NULL, + `V_40_MAX` double NOT NULL, + `V_41_MAX` double NOT NULL, + `V_42_MAX` double NOT NULL, + `V_43_MAX` double NOT NULL, + `V_44_MAX` double NOT NULL, + `V_45_MAX` double NOT NULL, + `V_46_MAX` double NOT NULL, + `V_47_MAX` double NOT NULL, + `V_48_MAX` double NOT NULL, + `V_49_MAX` double NOT NULL, + `V_50_MAX` double NOT NULL, + `V_1_MIN` double NOT NULL, + `V_2_MIN` double NOT NULL, + `V_3_MIN` double NOT NULL, + `V_4_MIN` double NOT NULL, + `V_5_MIN` double NOT NULL, + `V_6_MIN` double NOT NULL, + `V_7_MIN` double NOT NULL, + `V_8_MIN` double NOT NULL, + `V_9_MIN` double NOT NULL, + `V_10_MIN` double NOT NULL, + `V_11_MIN` double NOT NULL, + `V_12_MIN` double NOT NULL, + `V_13_MIN` double NOT NULL, + `V_14_MIN` double NOT NULL, + `V_15_MIN` double NOT NULL, + `V_16_MIN` double NOT NULL, + `V_17_MIN` double NOT NULL, + `V_18_MIN` double NOT NULL, + `V_19_MIN` double NOT NULL, + `V_20_MIN` double NOT NULL, + `V_21_MIN` double NOT NULL, + `V_22_MIN` double NOT NULL, + `V_23_MIN` double NOT NULL, + `V_24_MIN` double NOT NULL, + `V_25_MIN` double NOT NULL, + `V_26_MIN` double NOT NULL, + `V_27_MIN` double NOT NULL, + `V_28_MIN` double NOT NULL, + `V_29_MIN` double NOT NULL, + `V_30_MIN` double NOT NULL, + `V_31_MIN` double NOT NULL, + `V_32_MIN` double NOT NULL, + `V_33_MIN` double NOT NULL, + `V_34_MIN` double NOT NULL, + `V_35_MIN` double NOT NULL, + `V_36_MIN` double NOT NULL, + `V_37_MIN` double NOT NULL, + `V_38_MIN` double NOT NULL, + `V_39_MIN` double NOT NULL, + `V_40_MIN` double NOT NULL, + `V_41_MIN` double NOT NULL, + `V_42_MIN` double NOT NULL, + `V_43_MIN` double NOT NULL, + `V_44_MIN` double NOT NULL, + `V_45_MIN` double NOT NULL, + `V_46_MIN` double NOT NULL, + `V_47_MIN` double NOT NULL, + `V_48_MIN` double NOT NULL, + `V_49_MIN` double NOT NULL, + `V_50_MIN` double NOT NULL, + `V_1_CP95` double NOT NULL, + `V_2_CP95` double NOT NULL, + `V_3_CP95` double NOT NULL, + `V_4_CP95` double NOT NULL, + `V_5_CP95` double NOT NULL, + `V_6_CP95` double NOT NULL, + `V_7_CP95` double NOT NULL, + `V_8_CP95` double NOT NULL, + `V_9_CP95` double NOT NULL, + `V_10_CP95` double NOT NULL, + `V_11_CP95` double NOT NULL, + `V_12_CP95` double NOT NULL, + `V_13_CP95` double NOT NULL, + `V_14_CP95` double NOT NULL, + `V_15_CP95` double NOT NULL, + `V_16_CP95` double NOT NULL, + `V_17_CP95` double NOT NULL, + `V_18_CP95` double NOT NULL, + `V_19_CP95` double NOT NULL, + `V_20_CP95` double NOT NULL, + `V_21_CP95` double NOT NULL, + `V_22_CP95` double NOT NULL, + `V_23_CP95` double NOT NULL, + `V_24_CP95` double NOT NULL, + `V_25_CP95` double NOT NULL, + `V_26_CP95` double NOT NULL, + `V_27_CP95` double NOT NULL, + `V_28_CP95` double NOT NULL, + `V_29_CP95` double NOT NULL, + `V_30_CP95` double NOT NULL, + `V_31_CP95` double NOT NULL, + `V_32_CP95` double NOT NULL, + `V_33_CP95` double NOT NULL, + `V_34_CP95` double NOT NULL, + `V_35_CP95` double NOT NULL, + `V_36_CP95` double NOT NULL, + `V_37_CP95` double NOT NULL, + `V_38_CP95` double NOT NULL, + `V_39_CP95` double NOT NULL, + `V_40_CP95` double NOT NULL, + `V_41_CP95` double NOT NULL, + `V_42_CP95` double NOT NULL, + `V_43_CP95` double NOT NULL, + `V_44_CP95` double NOT NULL, + `V_45_CP95` double NOT NULL, + `V_46_CP95` double NOT NULL, + `V_47_CP95` double NOT NULL, + `V_48_CP95` double NOT NULL, + `V_49_CP95` double NOT NULL, + `V_50_CP95` double NOT NULL, + `QUALITYFLAG` decimal(1, 0) NOT NULL, + PRIMARY KEY (`LINEID`, `TIMEID`, `PHASIC_TYPE`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for data_i +-- ---------------------------- +DROP TABLE IF EXISTS `data_i`; +CREATE TABLE `data_i` ( + `TIMEID` datetime NOT NULL, + `LINEID` char(32) NOT NULL, + `PHASIC_TYPE` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `RMS` double NOT NULL, + `I_UNBALANCE` double NOT NULL, + `I_POS` double NOT NULL, + `I_NEG` double NOT NULL, + `I_ZERO` double NOT NULL, + `I_THD` double NOT NULL, + `I_1` double NOT NULL, + `I_2` double NOT NULL, + `I_3` double NOT NULL, + `I_4` double NOT NULL, + `I_5` double NOT NULL, + `I_6` double NOT NULL, + `I_7` double NOT NULL, + `I_8` double NOT NULL, + `I_9` double NOT NULL, + `I_10` double NOT NULL, + `I_11` double NOT NULL, + `I_12` double NOT NULL, + `I_13` double NOT NULL, + `I_14` double NOT NULL, + `I_15` double NOT NULL, + `I_16` double NOT NULL, + `I_17` double NOT NULL, + `I_18` double NOT NULL, + `I_19` double NOT NULL, + `I_20` double NOT NULL, + `I_21` double NOT NULL, + `I_22` double NOT NULL, + `I_23` double NOT NULL, + `I_24` double NOT NULL, + `I_25` double NOT NULL, + `I_26` double NOT NULL, + `I_27` double NOT NULL, + `I_28` double NOT NULL, + `I_29` double NOT NULL, + `I_30` double NOT NULL, + `I_31` double NOT NULL, + `I_32` double NOT NULL, + `I_33` double NOT NULL, + `I_34` double NOT NULL, + `I_35` double NOT NULL, + `I_36` double NOT NULL, + `I_37` double NOT NULL, + `I_38` double NOT NULL, + `I_39` double NOT NULL, + `I_40` double NOT NULL, + `I_41` double NOT NULL, + `I_42` double NOT NULL, + `I_43` double NOT NULL, + `I_44` double NOT NULL, + `I_45` double NOT NULL, + `I_46` double NOT NULL, + `I_47` double NOT NULL, + `I_48` double NOT NULL, + `I_49` double NOT NULL, + `I_50` double NOT NULL, + `RMS_MAX` double NOT NULL, + `I_UNBALANCE_MAX` double NOT NULL, + `I_POS_MAX` double NOT NULL, + `I_NEG_MAX` double NOT NULL, + `I_ZERO_MAX` double NOT NULL, + `I_THD_MAX` double NOT NULL, + `I_1_MAX` double NOT NULL, + `I_2_MAX` double NOT NULL, + `I_3_MAX` double NOT NULL, + `I_4_MAX` double NOT NULL, + `I_5_MAX` double NOT NULL, + `I_6_MAX` double NOT NULL, + `I_7_MAX` double NOT NULL, + `I_8_MAX` double NOT NULL, + `I_9_MAX` double NOT NULL, + `I_10_MAX` double NOT NULL, + `I_11_MAX` double NOT NULL, + `I_12_MAX` double NOT NULL, + `I_13_MAX` double NOT NULL, + `I_14_MAX` double NOT NULL, + `I_15_MAX` double NOT NULL, + `I_16_MAX` double NOT NULL, + `I_17_MAX` double NOT NULL, + `I_18_MAX` double NOT NULL, + `I_19_MAX` double NOT NULL, + `I_20_MAX` double NOT NULL, + `I_21_MAX` double NOT NULL, + `I_22_MAX` double NOT NULL, + `I_23_MAX` double NOT NULL, + `I_24_MAX` double NOT NULL, + `I_25_MAX` double NOT NULL, + `I_26_MAX` double NOT NULL, + `I_27_MAX` double NOT NULL, + `I_28_MAX` double NOT NULL, + `I_29_MAX` double NOT NULL, + `I_30_MAX` double NOT NULL, + `I_31_MAX` double NOT NULL, + `I_32_MAX` double NOT NULL, + `I_33_MAX` double NOT NULL, + `I_34_MAX` double NOT NULL, + `I_35_MAX` double NOT NULL, + `I_36_MAX` double NOT NULL, + `I_37_MAX` double NOT NULL, + `I_38_MAX` double NOT NULL, + `I_39_MAX` double NOT NULL, + `I_40_MAX` double NOT NULL, + `I_41_MAX` double NOT NULL, + `I_42_MAX` double NOT NULL, + `I_43_MAX` double NOT NULL, + `I_44_MAX` double NOT NULL, + `I_45_MAX` double NOT NULL, + `I_46_MAX` double NOT NULL, + `I_47_MAX` double NOT NULL, + `I_48_MAX` double NOT NULL, + `I_49_MAX` double NOT NULL, + `I_50_MAX` double NOT NULL, + `RMS_MIN` double NOT NULL, + `I_UNBALANCE_MIN` double NOT NULL, + `I_POS_MIN` double NOT NULL, + `I_NEG_MIN` double NOT NULL, + `I_ZERO_MIN` double NOT NULL, + `I_THD_MIN` double NOT NULL, + `I_1_MIN` double NOT NULL, + `I_2_MIN` double NOT NULL, + `I_3_MIN` double NOT NULL, + `I_4_MIN` double NOT NULL, + `I_5_MIN` double NOT NULL, + `I_6_MIN` double NOT NULL, + `I_7_MIN` double NOT NULL, + `I_8_MIN` double NOT NULL, + `I_9_MIN` double NOT NULL, + `I_10_MIN` double NOT NULL, + `I_11_MIN` double NOT NULL, + `I_12_MIN` double NOT NULL, + `I_13_MIN` double NOT NULL, + `I_14_MIN` double NOT NULL, + `I_15_MIN` double NOT NULL, + `I_16_MIN` double NOT NULL, + `I_17_MIN` double NOT NULL, + `I_18_MIN` double NOT NULL, + `I_19_MIN` double NOT NULL, + `I_20_MIN` double NOT NULL, + `I_21_MIN` double NOT NULL, + `I_22_MIN` double NOT NULL, + `I_23_MIN` double NOT NULL, + `I_24_MIN` double NOT NULL, + `I_25_MIN` double NOT NULL, + `I_26_MIN` double NOT NULL, + `I_27_MIN` double NOT NULL, + `I_28_MIN` double NOT NULL, + `I_29_MIN` double NOT NULL, + `I_30_MIN` double NOT NULL, + `I_31_MIN` double NOT NULL, + `I_32_MIN` double NOT NULL, + `I_33_MIN` double NOT NULL, + `I_34_MIN` double NOT NULL, + `I_35_MIN` double NOT NULL, + `I_36_MIN` double NOT NULL, + `I_37_MIN` double NOT NULL, + `I_38_MIN` double NOT NULL, + `I_39_MIN` double NOT NULL, + `I_40_MIN` double NOT NULL, + `I_41_MIN` double NOT NULL, + `I_42_MIN` double NOT NULL, + `I_43_MIN` double NOT NULL, + `I_44_MIN` double NOT NULL, + `I_45_MIN` double NOT NULL, + `I_46_MIN` double NOT NULL, + `I_47_MIN` double NOT NULL, + `I_48_MIN` double NOT NULL, + `I_49_MIN` double NOT NULL, + `I_50_MIN` double NOT NULL, + `RMS_CP95` double NOT NULL, + `I_UNBALANCE_CP95` double NOT NULL, + `I_POS_CP95` double NOT NULL, + `I_NEG_CP95` double NOT NULL, + `I_ZERO_CP95` double NOT NULL, + `I_THD_CP95` double NOT NULL, + `I_1_CP95` double NOT NULL, + `I_2_CP95` double NOT NULL, + `I_3_CP95` double NOT NULL, + `I_4_CP95` double NOT NULL, + `I_5_CP95` double NOT NULL, + `I_6_CP95` double NOT NULL, + `I_7_CP95` double NOT NULL, + `I_8_CP95` double NOT NULL, + `I_9_CP95` double NOT NULL, + `I_10_CP95` double NOT NULL, + `I_11_CP95` double NOT NULL, + `I_12_CP95` double NOT NULL, + `I_13_CP95` double NOT NULL, + `I_14_CP95` double NOT NULL, + `I_15_CP95` double NOT NULL, + `I_16_CP95` double NOT NULL, + `I_17_CP95` double NOT NULL, + `I_18_CP95` double NOT NULL, + `I_19_CP95` double NOT NULL, + `I_20_CP95` double NOT NULL, + `I_21_CP95` double NOT NULL, + `I_22_CP95` double NOT NULL, + `I_23_CP95` double NOT NULL, + `I_24_CP95` double NOT NULL, + `I_25_CP95` double NOT NULL, + `I_26_CP95` double NOT NULL, + `I_27_CP95` double NOT NULL, + `I_28_CP95` double NOT NULL, + `I_29_CP95` double NOT NULL, + `I_30_CP95` double NOT NULL, + `I_31_CP95` double NOT NULL, + `I_32_CP95` double NOT NULL, + `I_33_CP95` double NOT NULL, + `I_34_CP95` double NOT NULL, + `I_35_CP95` double NOT NULL, + `I_36_CP95` double NOT NULL, + `I_37_CP95` double NOT NULL, + `I_38_CP95` double NOT NULL, + `I_39_CP95` double NOT NULL, + `I_40_CP95` double NOT NULL, + `I_41_CP95` double NOT NULL, + `I_42_CP95` double NOT NULL, + `I_43_CP95` double NOT NULL, + `I_44_CP95` double NOT NULL, + `I_45_CP95` double NOT NULL, + `I_46_CP95` double NOT NULL, + `I_47_CP95` double NOT NULL, + `I_48_CP95` double NOT NULL, + `I_49_CP95` double NOT NULL, + `I_50_CP95` double NOT NULL, + `QUALITYFLAG` decimal(1, 0) NOT NULL, + PRIMARY KEY (`LINEID`, `TIMEID`, `PHASIC_TYPE`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for data_inharm_i +-- ---------------------------- +DROP TABLE IF EXISTS `data_inharm_i`; +CREATE TABLE `data_inharm_i` ( + `TIMEID` datetime NOT NULL, + `LINEID` char(32) NOT NULL, + `PHASIC_TYPE` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `I_1` double NOT NULL, + `I_2` double NOT NULL, + `I_3` double NOT NULL, + `I_4` double NOT NULL, + `I_5` double NOT NULL, + `I_6` double NOT NULL, + `I_7` double NOT NULL, + `I_8` double NOT NULL, + `I_9` double NOT NULL, + `I_10` double NOT NULL, + `I_11` double NOT NULL, + `I_12` double NOT NULL, + `I_13` double NOT NULL, + `I_14` double NOT NULL, + `I_15` double NOT NULL, + `I_16` double NOT NULL, + `I_17` double NOT NULL, + `I_18` double NOT NULL, + `I_19` double NOT NULL, + `I_20` double NOT NULL, + `I_21` double NOT NULL, + `I_22` double NOT NULL, + `I_23` double NOT NULL, + `I_24` double NOT NULL, + `I_25` double NOT NULL, + `I_26` double NOT NULL, + `I_27` double NOT NULL, + `I_28` double NOT NULL, + `I_29` double NOT NULL, + `I_30` double NOT NULL, + `I_31` double NOT NULL, + `I_32` double NOT NULL, + `I_33` double NOT NULL, + `I_34` double NOT NULL, + `I_35` double NOT NULL, + `I_36` double NOT NULL, + `I_37` double NOT NULL, + `I_38` double NOT NULL, + `I_39` double NOT NULL, + `I_40` double NOT NULL, + `I_41` double NOT NULL, + `I_42` double NOT NULL, + `I_43` double NOT NULL, + `I_44` double NOT NULL, + `I_45` double NOT NULL, + `I_46` double NOT NULL, + `I_47` double NOT NULL, + `I_48` double NOT NULL, + `I_49` double NOT NULL, + `I_50` double NOT NULL, + `I_1_MAX` double NOT NULL, + `I_2_MAX` double NOT NULL, + `I_3_MAX` double NOT NULL, + `I_4_MAX` double NOT NULL, + `I_5_MAX` double NOT NULL, + `I_6_MAX` double NOT NULL, + `I_7_MAX` double NOT NULL, + `I_8_MAX` double NOT NULL, + `I_9_MAX` double NOT NULL, + `I_10_MAX` double NOT NULL, + `I_11_MAX` double NOT NULL, + `I_12_MAX` double NOT NULL, + `I_13_MAX` double NOT NULL, + `I_14_MAX` double NOT NULL, + `I_15_MAX` double NOT NULL, + `I_16_MAX` double NOT NULL, + `I_17_MAX` double NOT NULL, + `I_18_MAX` double NOT NULL, + `I_19_MAX` double NOT NULL, + `I_20_MAX` double NOT NULL, + `I_21_MAX` double NOT NULL, + `I_22_MAX` double NOT NULL, + `I_23_MAX` double NOT NULL, + `I_24_MAX` double NOT NULL, + `I_25_MAX` double NOT NULL, + `I_26_MAX` double NOT NULL, + `I_27_MAX` double NOT NULL, + `I_28_MAX` double NOT NULL, + `I_29_MAX` double NOT NULL, + `I_30_MAX` double NOT NULL, + `I_31_MAX` double NOT NULL, + `I_32_MAX` double NOT NULL, + `I_33_MAX` double NOT NULL, + `I_34_MAX` double NOT NULL, + `I_35_MAX` double NOT NULL, + `I_36_MAX` double NOT NULL, + `I_37_MAX` double NOT NULL, + `I_38_MAX` double NOT NULL, + `I_39_MAX` double NOT NULL, + `I_40_MAX` double NOT NULL, + `I_41_MAX` double NOT NULL, + `I_42_MAX` double NOT NULL, + `I_43_MAX` double NOT NULL, + `I_44_MAX` double NOT NULL, + `I_45_MAX` double NOT NULL, + `I_46_MAX` double NOT NULL, + `I_47_MAX` double NOT NULL, + `I_48_MAX` double NOT NULL, + `I_49_MAX` double NOT NULL, + `I_50_MAX` double NOT NULL, + `I_1_MIN` double NOT NULL, + `I_2_MIN` double NOT NULL, + `I_3_MIN` double NOT NULL, + `I_4_MIN` double NOT NULL, + `I_5_MIN` double NOT NULL, + `I_6_MIN` double NOT NULL, + `I_7_MIN` double NOT NULL, + `I_8_MIN` double NOT NULL, + `I_9_MIN` double NOT NULL, + `I_10_MIN` double NOT NULL, + `I_11_MIN` double NOT NULL, + `I_12_MIN` double NOT NULL, + `I_13_MIN` double NOT NULL, + `I_14_MIN` double NOT NULL, + `I_15_MIN` double NOT NULL, + `I_16_MIN` double NOT NULL, + `I_17_MIN` double NOT NULL, + `I_18_MIN` double NOT NULL, + `I_19_MIN` double NOT NULL, + `I_20_MIN` double NOT NULL, + `I_21_MIN` double NOT NULL, + `I_22_MIN` double NOT NULL, + `I_23_MIN` double NOT NULL, + `I_24_MIN` double NOT NULL, + `I_25_MIN` double NOT NULL, + `I_26_MIN` double NOT NULL, + `I_27_MIN` double NOT NULL, + `I_28_MIN` double NOT NULL, + `I_29_MIN` double NOT NULL, + `I_30_MIN` double NOT NULL, + `I_31_MIN` double NOT NULL, + `I_32_MIN` double NOT NULL, + `I_33_MIN` double NOT NULL, + `I_34_MIN` double NOT NULL, + `I_35_MIN` double NOT NULL, + `I_36_MIN` double NOT NULL, + `I_37_MIN` double NOT NULL, + `I_38_MIN` double NOT NULL, + `I_39_MIN` double NOT NULL, + `I_40_MIN` double NOT NULL, + `I_41_MIN` double NOT NULL, + `I_42_MIN` double NOT NULL, + `I_43_MIN` double NOT NULL, + `I_44_MIN` double NOT NULL, + `I_45_MIN` double NOT NULL, + `I_46_MIN` double NOT NULL, + `I_47_MIN` double NOT NULL, + `I_48_MIN` double NOT NULL, + `I_49_MIN` double NOT NULL, + `I_50_MIN` double NOT NULL, + `I_1_CP95` double NOT NULL, + `I_2_CP95` double NOT NULL, + `I_3_CP95` double NOT NULL, + `I_4_CP95` double NOT NULL, + `I_5_CP95` double NOT NULL, + `I_6_CP95` double NOT NULL, + `I_7_CP95` double NOT NULL, + `I_8_CP95` double NOT NULL, + `I_9_CP95` double NOT NULL, + `I_10_CP95` double NOT NULL, + `I_11_CP95` double NOT NULL, + `I_12_CP95` double NOT NULL, + `I_13_CP95` double NOT NULL, + `I_14_CP95` double NOT NULL, + `I_15_CP95` double NOT NULL, + `I_16_CP95` double NOT NULL, + `I_17_CP95` double NOT NULL, + `I_18_CP95` double NOT NULL, + `I_19_CP95` double NOT NULL, + `I_20_CP95` double NOT NULL, + `I_21_CP95` double NOT NULL, + `I_22_CP95` double NOT NULL, + `I_23_CP95` double NOT NULL, + `I_24_CP95` double NOT NULL, + `I_25_CP95` double NOT NULL, + `I_26_CP95` double NOT NULL, + `I_27_CP95` double NOT NULL, + `I_28_CP95` double NOT NULL, + `I_29_CP95` double NOT NULL, + `I_30_CP95` double NOT NULL, + `I_31_CP95` double NOT NULL, + `I_32_CP95` double NOT NULL, + `I_33_CP95` double NOT NULL, + `I_34_CP95` double NOT NULL, + `I_35_CP95` double NOT NULL, + `I_36_CP95` double NOT NULL, + `I_37_CP95` double NOT NULL, + `I_38_CP95` double NOT NULL, + `I_39_CP95` double NOT NULL, + `I_40_CP95` double NOT NULL, + `I_41_CP95` double NOT NULL, + `I_42_CP95` double NOT NULL, + `I_43_CP95` double NOT NULL, + `I_44_CP95` double NOT NULL, + `I_45_CP95` double NOT NULL, + `I_46_CP95` double NOT NULL, + `I_47_CP95` double NOT NULL, + `I_48_CP95` double NOT NULL, + `I_49_CP95` double NOT NULL, + `I_50_CP95` double NOT NULL, + `QUALITYFLAG` decimal(1, 0) NOT NULL, + PRIMARY KEY (`LINEID`, `TIMEID`, `PHASIC_TYPE`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for data_plt +-- ---------------------------- +DROP TABLE IF EXISTS `data_plt`; +CREATE TABLE `data_plt` ( + `TIMEID` datetime NOT NULL, + `LINEID` char(32) NOT NULL, + `PHASIC_TYPE` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `PLT` double NOT NULL, + `QUALITYFLAG` decimal(1, 0) NOT NULL, + PRIMARY KEY (`LINEID`, `TIMEID`, `PHASIC_TYPE`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for data_v +-- ---------------------------- +DROP TABLE IF EXISTS `data_v`; +CREATE TABLE `data_v` ( + `TIMEID` datetime NOT NULL, + `LINEID` char(32) NOT NULL, + `PHASIC_TYPE` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `RMS` double NOT NULL, + `RMSAB` double NOT NULL, + `RMSBC` double NOT NULL, + `RMSCA` double NOT NULL, + `VU_DEV` double NOT NULL, + `VL_DEV` double NOT NULL, + `FREQ` double NOT NULL, + `FREQ_DEV` double NOT NULL, + `V_UNBALANCE` double NOT NULL, + `V_POS` double NOT NULL, + `V_NEG` double NOT NULL, + `V_ZERO` double NOT NULL, + `V_THD` double NOT NULL, + `V_1` double NOT NULL, + `V_2` double NOT NULL, + `V_3` double NOT NULL, + `V_4` double NOT NULL, + `V_5` double NOT NULL, + `V_6` double NOT NULL, + `V_7` double NOT NULL, + `V_8` double NOT NULL, + `V_9` double NOT NULL, + `V_10` double NOT NULL, + `V_11` double NOT NULL, + `V_12` double NOT NULL, + `V_13` double NOT NULL, + `V_14` double NOT NULL, + `V_15` double NOT NULL, + `V_16` double NOT NULL, + `V_17` double NOT NULL, + `V_18` double NOT NULL, + `V_19` double NOT NULL, + `V_20` double NOT NULL, + `V_21` double NOT NULL, + `V_22` double NOT NULL, + `V_23` double NOT NULL, + `V_24` double NOT NULL, + `V_25` double NOT NULL, + `V_26` double NOT NULL, + `V_27` double NOT NULL, + `V_28` double NOT NULL, + `V_29` double NOT NULL, + `V_30` double NOT NULL, + `V_31` double NOT NULL, + `V_32` double NOT NULL, + `V_33` double NOT NULL, + `V_34` double NOT NULL, + `V_35` double NOT NULL, + `V_36` double NOT NULL, + `V_37` double NOT NULL, + `V_38` double NOT NULL, + `V_39` double NOT NULL, + `V_40` double NOT NULL, + `V_41` double NOT NULL, + `V_42` double NOT NULL, + `V_43` double NOT NULL, + `V_44` double NOT NULL, + `V_45` double NOT NULL, + `V_46` double NOT NULL, + `V_47` double NOT NULL, + `V_48` double NOT NULL, + `V_49` double NOT NULL, + `V_50` double NOT NULL, + `RMS_MAX` double NOT NULL, + `RMSAB_MAX` double NOT NULL, + `RMSBC_MAX` double NOT NULL, + `RMSCA_MAX` double NOT NULL, + `VU_DEV_MAX` double NOT NULL, + `VL_DEV_MAX` double NOT NULL, + `FREQ_MAX` double NOT NULL, + `FREQ_DEV_MAX` double NOT NULL, + `V_UNBALANCE_MAX` double NOT NULL, + `V_POS_MAX` double NOT NULL, + `V_NEG_MAX` double NOT NULL, + `V_ZERO_MAX` double NOT NULL, + `V_THD_MAX` double NOT NULL, + `V_1_MAX` double NOT NULL, + `V_2_MAX` double NOT NULL, + `V_3_MAX` double NOT NULL, + `V_4_MAX` double NOT NULL, + `V_5_MAX` double NOT NULL, + `V_6_MAX` double NOT NULL, + `V_7_MAX` double NOT NULL, + `V_8_MAX` double NOT NULL, + `V_9_MAX` double NOT NULL, + `V_10_MAX` double NOT NULL, + `V_11_MAX` double NOT NULL, + `V_12_MAX` double NOT NULL, + `V_13_MAX` double NOT NULL, + `V_14_MAX` double NOT NULL, + `V_15_MAX` double NOT NULL, + `V_16_MAX` double NOT NULL, + `V_17_MAX` double NOT NULL, + `V_18_MAX` double NOT NULL, + `V_19_MAX` double NOT NULL, + `V_20_MAX` double NOT NULL, + `V_21_MAX` double NOT NULL, + `V_22_MAX` double NOT NULL, + `V_23_MAX` double NOT NULL, + `V_24_MAX` double NOT NULL, + `V_25_MAX` double NOT NULL, + `V_26_MAX` double NOT NULL, + `V_27_MAX` double NOT NULL, + `V_28_MAX` double NOT NULL, + `V_29_MAX` double NOT NULL, + `V_30_MAX` double NOT NULL, + `V_31_MAX` double NOT NULL, + `V_32_MAX` double NOT NULL, + `V_33_MAX` double NOT NULL, + `V_34_MAX` double NOT NULL, + `V_35_MAX` double NOT NULL, + `V_36_MAX` double NOT NULL, + `V_37_MAX` double NOT NULL, + `V_38_MAX` double NOT NULL, + `V_39_MAX` double NOT NULL, + `V_40_MAX` double NOT NULL, + `V_41_MAX` double NOT NULL, + `V_42_MAX` double NOT NULL, + `V_43_MAX` double NOT NULL, + `V_44_MAX` double NOT NULL, + `V_45_MAX` double NOT NULL, + `V_46_MAX` double NOT NULL, + `V_47_MAX` double NOT NULL, + `V_48_MAX` double NOT NULL, + `V_49_MAX` double NOT NULL, + `V_50_MAX` double NOT NULL, + `RMS_MIN` double NOT NULL, + `RMSAB_MIN` double NOT NULL, + `RMSBC_MIN` double NOT NULL, + `RMSCA_MIN` double NOT NULL, + `VU_DEV_MIN` double NOT NULL, + `VL_DEV_MIN` double NOT NULL, + `FREQ_MIN` double NOT NULL, + `FREQ_DEV_MIN` double NOT NULL, + `V_UNBALANCE_MIN` double NOT NULL, + `V_POS_MIN` double NOT NULL, + `V_NEG_MIN` double NOT NULL, + `V_ZERO_MIN` double NOT NULL, + `V_THD_MIN` double NOT NULL, + `V_1_MIN` double NOT NULL, + `V_2_MIN` double NOT NULL, + `V_3_MIN` double NOT NULL, + `V_4_MIN` double NOT NULL, + `V_5_MIN` double NOT NULL, + `V_6_MIN` double NOT NULL, + `V_7_MIN` double NOT NULL, + `V_8_MIN` double NOT NULL, + `V_9_MIN` double NOT NULL, + `V_10_MIN` double NOT NULL, + `V_11_MIN` double NOT NULL, + `V_12_MIN` double NOT NULL, + `V_13_MIN` double NOT NULL, + `V_14_MIN` double NOT NULL, + `V_15_MIN` double NOT NULL, + `V_16_MIN` double NOT NULL, + `V_17_MIN` double NOT NULL, + `V_18_MIN` double NOT NULL, + `V_19_MIN` double NOT NULL, + `V_20_MIN` double NOT NULL, + `V_21_MIN` double NOT NULL, + `V_22_MIN` double NOT NULL, + `V_23_MIN` double NOT NULL, + `V_24_MIN` double NOT NULL, + `V_25_MIN` double NOT NULL, + `V_26_MIN` double NOT NULL, + `V_27_MIN` double NOT NULL, + `V_28_MIN` double NOT NULL, + `V_29_MIN` double NOT NULL, + `V_30_MIN` double NOT NULL, + `V_31_MIN` double NOT NULL, + `V_32_MIN` double NOT NULL, + `V_33_MIN` double NOT NULL, + `V_34_MIN` double NOT NULL, + `V_35_MIN` double NOT NULL, + `V_36_MIN` double NOT NULL, + `V_37_MIN` double NOT NULL, + `V_38_MIN` double NOT NULL, + `V_39_MIN` double NOT NULL, + `V_40_MIN` double NOT NULL, + `V_41_MIN` double NOT NULL, + `V_42_MIN` double NOT NULL, + `V_43_MIN` double NOT NULL, + `V_44_MIN` double NOT NULL, + `V_45_MIN` double NOT NULL, + `V_46_MIN` double NOT NULL, + `V_47_MIN` double NOT NULL, + `V_48_MIN` double NOT NULL, + `V_49_MIN` double NOT NULL, + `V_50_MIN` double NOT NULL, + `RMS_CP95` double NOT NULL, + `RMSAB_CP95` double NOT NULL, + `RMSBC_CP95` double NOT NULL, + `RMSCA_CP95` double NOT NULL, + `VU_DEV_CP95` double NOT NULL, + `VL_DEV_CP95` double NOT NULL, + `FREQ_CP95` double NOT NULL, + `FREQ_DEV_CP95` double NOT NULL, + `V_UNBALANCE_CP95` double NOT NULL, + `V_POS_CP95` double NOT NULL, + `V_NEG_CP95` double NOT NULL, + `V_ZERO_CP95` double NOT NULL, + `V_THD_CP95` double NOT NULL, + `V_1_CP95` double NOT NULL, + `V_2_CP95` double NOT NULL, + `V_3_CP95` double NOT NULL, + `V_4_CP95` double NOT NULL, + `V_5_CP95` double NOT NULL, + `V_6_CP95` double NOT NULL, + `V_7_CP95` double NOT NULL, + `V_8_CP95` double NOT NULL, + `V_9_CP95` double NOT NULL, + `V_10_CP95` double NOT NULL, + `V_11_CP95` double NOT NULL, + `V_12_CP95` double NOT NULL, + `V_13_CP95` double NOT NULL, + `V_14_CP95` double NOT NULL, + `V_15_CP95` double NOT NULL, + `V_16_CP95` double NOT NULL, + `V_17_CP95` double NOT NULL, + `V_18_CP95` double NOT NULL, + `V_19_CP95` double NOT NULL, + `V_20_CP95` double NOT NULL, + `V_21_CP95` double NOT NULL, + `V_22_CP95` double NOT NULL, + `V_23_CP95` double NOT NULL, + `V_24_CP95` double NOT NULL, + `V_25_CP95` double NOT NULL, + `V_26_CP95` double NOT NULL, + `V_27_CP95` double NOT NULL, + `V_28_CP95` double NOT NULL, + `V_29_CP95` double NOT NULL, + `V_30_CP95` double NOT NULL, + `V_31_CP95` double NOT NULL, + `V_32_CP95` double NOT NULL, + `V_33_CP95` double NOT NULL, + `V_34_CP95` double NOT NULL, + `V_35_CP95` double NOT NULL, + `V_36_CP95` double NOT NULL, + `V_37_CP95` double NOT NULL, + `V_38_CP95` double NOT NULL, + `V_39_CP95` double NOT NULL, + `V_40_CP95` double NOT NULL, + `V_41_CP95` double NOT NULL, + `V_42_CP95` double NOT NULL, + `V_43_CP95` double NOT NULL, + `V_44_CP95` double NOT NULL, + `V_45_CP95` double NOT NULL, + `V_46_CP95` double NOT NULL, + `V_47_CP95` double NOT NULL, + `V_48_CP95` double NOT NULL, + `V_49_CP95` double NOT NULL, + `V_50_CP95` double NOT NULL, + `QUALITYFLAG` decimal(1, 0) NOT NULL, + PRIMARY KEY (`LINEID`, `TIMEID`, `PHASIC_TYPE`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; + diff --git a/tools/wave-tool/README.md b/tools/wave-tool/README.md index 1ce93e8..55077e9 100644 --- a/tools/wave-tool/README.md +++ b/tools/wave-tool/README.md @@ -105,6 +105,7 @@ wave-tool/ - `1`: 普通展示 - `2`: App 抽点 - `3`: 原始波形 + - `4`: 简化显示,保留 x 轴时间,对暂降底部中间段幅值置空 - `ptType` - PT 接线方式 - `0`: 星形 diff --git a/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/param/WaveComtradeParseParam.java b/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/param/WaveComtradeParseParam.java index 08149ef..5a5fdbd 100644 --- a/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/param/WaveComtradeParseParam.java +++ b/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/param/WaveComtradeParseParam.java @@ -12,7 +12,7 @@ import lombok.Data; public class WaveComtradeParseParam { /** 解析类型。 */ - @ApiModelProperty(value = "解析类型:0 高级算法采样率 32-128,1 普通展示,2 App 抽点,3 原始波形", example = "1") + @ApiModelProperty(value = "解析类型:0 高级算法采样率 32-128,1 普通展示,2 App 抽点,3 原始波形,4 简化显示", example = "1") private Integer parseType = 1; /** PT 接线方式。 */ diff --git a/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/service/impl/WaveServiceImpl.java b/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/service/impl/WaveServiceImpl.java index 583158b..323abce 100644 --- a/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/service/impl/WaveServiceImpl.java +++ b/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/service/impl/WaveServiceImpl.java @@ -47,6 +47,12 @@ public class WaveServiceImpl implements WaveService { private static final int DEFAULT_PARSE_TYPE = 1; /** 向量计算固定使用原始波形解析类型。 */ private static final int RAW_WAVE_PARSE_TYPE = 3; + /** COMTRADE 简化显示解析类型。 */ + private static final int SIMPLIFIED_DISPLAY_PARSE_TYPE = 4; + /** 暂降判定默认阈值。 */ + private static final float DEFAULT_SAG_THRESHOLD_RATE = 0.9F; + /** 暂降底部平台默认浮动带。 */ + private static final float DEFAULT_BOTTOM_THRESHOLD_RATE = 0.02F; /** PT/CT 默认变比。 */ private static final double DEFAULT_RATIO = 1D; /** PT 默认接线方式,0 表示星形。 */ @@ -114,16 +120,21 @@ public class WaveServiceImpl implements WaveService { WaveComtradeParseParam resolvedParam = param == null ? new WaveComtradeParseParam() : param; try (InputStream cfgInputStream = cfgStream; InputStream datInputStream = datStream) { - WaveDataDTO waveDataDTO = waveFileComponent.getComtrade(cfgInputStream, datInputStream, sanitizeParseType(resolvedParam.getParseType())); + int parseType = sanitizeParseType(resolvedParam.getParseType()); + boolean simplifiedDisplay = parseType == SIMPLIFIED_DISPLAY_PARSE_TYPE; + WaveDataDTO waveDataDTO = waveFileComponent.getComtrade(cfgInputStream, datInputStream, parseType); applyWaveMetadata(waveDataDTO, resolvedParam); - boolean needRms = shouldCalculateRms(resolvedParam); + boolean needRms = shouldCalculateRms(resolvedParam) || simplifiedDisplay; boolean buildDetails = shouldBuildDetails(resolvedParam); boolean calculateEigenvalue = Boolean.TRUE.equals(resolvedParam.getCalculateEigenvalue()); if (needRms || buildDetails || calculateEigenvalue) { waveDataDTO = waveFileComponent.getValidData(waveDataDTO); } + if (simplifiedDisplay) { + applySimplifiedDisplay(waveDataDTO); + } WaveComtradeResultVO result = new WaveComtradeResultVO(); fillComtradeSummary(result, waveDataDTO); @@ -284,8 +295,169 @@ public class WaveServiceImpl implements WaveService { return param.getBuildDetails() == null || param.getBuildDetails(); } + private void applySimplifiedDisplay(WaveDataDTO waveDataDTO) { + if (waveDataDTO == null || waveDataDTO.getListWaveData() == null || waveDataDTO.getListRmsData() == null) { + return; + } + SimplifiedRange range = resolveSimplifiedRange(waveDataDTO); + if (range == null) { + return; + } + maskBottomMiddle(waveDataDTO.getListWaveData(), range); + maskBottomMiddle(waveDataDTO.getListRmsData(), range); + } + + private SimplifiedRange resolveSimplifiedRange(WaveDataDTO waveDataDTO) { + List> rmsData = waveDataDTO.getListRmsData(); + if (rmsData == null || rmsData.isEmpty()) { + return null; + } + int valueColumnCount = resolveValueColumnCount(rmsData); + if (valueColumnCount <= 0) { + return null; + } + int baseIndex = resolveBaseIndex(waveDataDTO, rmsData); + if (baseIndex < 0 || baseIndex >= rmsData.size()) { + return null; + } + float[] baseValues = resolveBaseValues(rmsData.get(baseIndex), valueColumnCount); + if (baseValues == null) { + return null; + } + + int startIndex = -1; + int recoverIndex = -1; + float bottomValue = Float.MAX_VALUE; + for (int i = baseIndex; i < rmsData.size(); i++) { + Float minValue = minValue(rmsData.get(i), valueColumnCount); + if (minValue == null) { + continue; + } + boolean sag = isSag(rmsData.get(i), baseValues, valueColumnCount); + if (startIndex < 0 && sag) { + startIndex = i; + } + if (startIndex >= 0 && recoverIndex < 0 && minValue < bottomValue) { + bottomValue = minValue; + } + if (startIndex >= 0 && !sag) { + recoverIndex = i; + break; + } + } + if (startIndex < 0 || recoverIndex < 0 || startIndex >= recoverIndex || bottomValue == Float.MAX_VALUE) { + return null; + } + + float bottomThreshold = bottomValue + resolveBottomBand(baseValues); + int bottomStartIndex = -1; + int bottomEndIndex = -1; + for (int i = startIndex; i <= recoverIndex; i++) { + Float minValue = minValue(rmsData.get(i), valueColumnCount); + if (minValue == null || minValue > bottomThreshold) { + continue; + } + if (bottomStartIndex < 0) { + bottomStartIndex = i; + } + bottomEndIndex = i; + } + if (bottomStartIndex < 0 || bottomEndIndex < 0 || bottomStartIndex >= bottomEndIndex) { + return null; + } + return new SimplifiedRange(bottomStartIndex, bottomEndIndex); + } + + private int resolveValueColumnCount(List> rows) { + int count = 0; + for (List row : rows) { + if (row != null && row.size() > 1) { + count = Math.max(count, row.size() - 1); + } + } + return count; + } + + private int resolveBaseIndex(WaveDataDTO waveDataDTO, List> rmsData) { + Integer sampleRate = waveDataDTO.getComtradeCfgDTO() == null ? null : waveDataDTO.getComtradeCfgDTO().getFinalSampleRate(); + int preferred = sampleRate == null ? 0 : sampleRate + 2; + return preferred < rmsData.size() ? preferred : 0; + } + + private float[] resolveBaseValues(List row, int valueColumnCount) { + if (row == null || row.size() <= valueColumnCount) { + return null; + } + float[] baseValues = new float[valueColumnCount]; + for (int i = 0; i < valueColumnCount; i++) { + Float value = row.get(i + 1); + if (value == null || value <= 0) { + return null; + } + baseValues[i] = value; + } + return baseValues; + } + + private boolean isSag(List row, float[] baseValues, int valueColumnCount) { + if (row == null || row.size() <= valueColumnCount) { + return false; + } + for (int i = 0; i < valueColumnCount; i++) { + Float value = row.get(i + 1); + if (value != null && value < baseValues[i] * DEFAULT_SAG_THRESHOLD_RATE) { + return true; + } + } + return false; + } + + private Float minValue(List row, int valueColumnCount) { + if (row == null || row.size() <= valueColumnCount) { + return null; + } + Float minValue = null; + for (int i = 0; i < valueColumnCount; i++) { + Float value = row.get(i + 1); + if (value == null) { + continue; + } + minValue = minValue == null ? value : Math.min(minValue, value); + } + return minValue; + } + + private float resolveBottomBand(float[] baseValues) { + float minBaseValue = Float.MAX_VALUE; + for (float baseValue : baseValues) { + minBaseValue = Math.min(minBaseValue, baseValue); + } + if (minBaseValue == Float.MAX_VALUE) { + return 0F; + } + return minBaseValue * DEFAULT_BOTTOM_THRESHOLD_RATE; + } + + private void maskBottomMiddle(List> rows, SimplifiedRange range) { + if (rows == null || range == null) { + return; + } + for (int i = 0; i < rows.size(); i++) { + if (i <= range.bottomStartIndex || i >= range.bottomEndIndex) { + continue; + } + List row = rows.get(i); + if (row == null || row.size() <= 1) { + continue; + } + for (int j = 1; j < row.size(); j++) { + row.set(j, null); + } + } + } + private int sanitizeParseType(Integer parseType) { - if (parseType == null || parseType < 0 || parseType > 3) { + if (parseType == null || parseType < 0 || parseType > SIMPLIFIED_DISPLAY_PARSE_TYPE) { return DEFAULT_PARSE_TYPE; } return parseType; @@ -434,4 +606,17 @@ public class WaveServiceImpl implements WaveService { } return samplingInterval; } + + private static final class SimplifiedRange { + + /** 暂降底部平台起始下标。 */ + private final int bottomStartIndex; + /** 暂降底部平台结束下标。 */ + private final int bottomEndIndex; + + private SimplifiedRange(int bottomStartIndex, int bottomEndIndex) { + this.bottomStartIndex = bottomStartIndex; + this.bottomEndIndex = bottomEndIndex; + } + } } diff --git a/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/utils/WaveUtil.java b/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/utils/WaveUtil.java index 6ea1328..7675bb8 100644 --- a/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/utils/WaveUtil.java +++ b/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/utils/WaveUtil.java @@ -114,7 +114,10 @@ public final class WaveUtil { if (row == null || row.isEmpty()) { continue; } - float x = row.get(0); + Float x = row.get(0); + if (x == null) { + continue; + } float valueA = 0f; float valueB = 0f; float valueC = 0f; @@ -124,18 +127,29 @@ public final class WaveUtil { for (int m = 0; m < phaseCount; m++) { String currentTitle = waveTitle.get(phaseCount * index + m + 1).substring(1); - float value = row.get(phaseCount * index + m + 1) * ratio; + int valueIndex = phaseCount * index + m + 1; + if (row.size() <= valueIndex) { + continue; + } + Float sourceValue = row.get(valueIndex); + Float value = sourceValue == null ? null : sourceValue * ratio; if (currentTitle.contains("A")) { - valueA = value; - existsA = true; + if (value != null) { + valueA = value; + existsA = true; + } aValues.add(buildPoint(x, value)); } else if (currentTitle.contains("B")) { - valueB = value; - existsB = true; + if (value != null) { + valueB = value; + existsB = true; + } bValues.add(buildPoint(x, value)); } else if (currentTitle.contains("C")) { - valueC = value; - existsC = true; + if (value != null) { + valueC = value; + existsC = true; + } cValues.add(buildPoint(x, value)); } } @@ -168,7 +182,7 @@ public final class WaveUtil { /** * 构建单个点位。 */ - private static List buildPoint(float x, float y) { + private static List buildPoint(Float x, Float y) { List point = new ArrayList<>(2); point.add(x); point.add(y); diff --git a/tools/wave-tool/src/test/java/com/njcn/gather/tool/wave/component/WaveFileComponentTest.java b/tools/wave-tool/src/test/java/com/njcn/gather/tool/wave/component/WaveFileComponentTest.java new file mode 100644 index 0000000..661a53c --- /dev/null +++ b/tools/wave-tool/src/test/java/com/njcn/gather/tool/wave/component/WaveFileComponentTest.java @@ -0,0 +1,22 @@ +package com.njcn.gather.tool.wave.component; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +/** + * 波形文件解析组件测试。 + */ +class WaveFileComponentTest { + + @Test + void shouldRoundWaveTimeToThreeDecimals() { + Assertions.assertEquals(1.235F, WaveFileComponent.roundWaveTime(1.2345F)); + Assertions.assertEquals(-99.988F, WaveFileComponent.roundWaveTime(-99.9876F)); + } + + @Test + void shouldRoundWaveAmplitudeToThreeDecimals() { + Assertions.assertEquals(220.123F, WaveFileComponent.roundWaveAmplitude(220.1234F)); + Assertions.assertEquals(-12.988F, WaveFileComponent.roundWaveAmplitude(-12.9876F)); + } +} diff --git a/tools/wave-tool/src/test/java/com/njcn/gather/tool/wave/service/impl/WaveServiceImplTest.java b/tools/wave-tool/src/test/java/com/njcn/gather/tool/wave/service/impl/WaveServiceImplTest.java new file mode 100644 index 0000000..96e199f --- /dev/null +++ b/tools/wave-tool/src/test/java/com/njcn/gather/tool/wave/service/impl/WaveServiceImplTest.java @@ -0,0 +1,162 @@ +package com.njcn.gather.tool.wave.service.impl; + +import com.njcn.gather.tool.wave.component.WaveFileComponent; +import com.njcn.gather.tool.wave.component.WaveVectorComponent; +import com.njcn.gather.tool.wave.pojo.dto.AnalogDTO; +import com.njcn.gather.tool.wave.pojo.dto.ComtradeCfgDTO; +import com.njcn.gather.tool.wave.pojo.dto.WaveDataDTO; +import com.njcn.gather.tool.wave.pojo.param.WaveComtradeParseParam; +import com.njcn.gather.tool.wave.pojo.vo.WaveComtradeResultVO; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * 波形服务测试。 + */ +class WaveServiceImplTest { + + @Test + void shouldUseCfgRatioWhenCfgContainsValidPtAndCt() throws Exception { + WaveServiceImpl service = new WaveServiceImpl(new WaveFileComponent(), new WaveVectorComponent()); + WaveDataDTO waveDataDTO = new WaveDataDTO(); + ComtradeCfgDTO cfgDTO = new ComtradeCfgDTO(); + cfgDTO.setLstAnalogDTO(Arrays.asList( + buildAnalog("V", 10000F, 100F), + buildAnalog("A", 200F, 1F) + )); + waveDataDTO.setComtradeCfgDTO(cfgDTO); + + WaveComtradeParseParam param = new WaveComtradeParseParam(); + param.setPt(1D); + param.setCt(1D); + + Method method = WaveServiceImpl.class.getDeclaredMethod("applyWaveMetadata", WaveDataDTO.class, WaveComtradeParseParam.class); + method.setAccessible(true); + method.invoke(service, waveDataDTO, param); + + Assertions.assertEquals(100D, waveDataDTO.getPt()); + Assertions.assertEquals(200D, waveDataDTO.getCt()); + } + + @Test + void shouldFillComtradeSummaryFields() throws Exception { + WaveServiceImpl service = new WaveServiceImpl(new WaveFileComponent(), new WaveVectorComponent()); + WaveDataDTO waveDataDTO = new WaveDataDTO(); + ComtradeCfgDTO cfgDTO = new ComtradeCfgDTO(); + cfgDTO.setNChannelNum(8); + cfgDTO.setNPhasic(3); + cfgDTO.setLstAnalogDTO(Arrays.asList( + buildAnalog("V", 10000F, 100F), + buildAnalog("A", 200F, 1F) + )); + waveDataDTO.setComtradeCfgDTO(cfgDTO); + waveDataDTO.setIPhasic(3); + + WaveComtradeResultVO result = new WaveComtradeResultVO(); + Method method = WaveServiceImpl.class.getDeclaredMethod("fillComtradeSummary", WaveComtradeResultVO.class, WaveDataDTO.class); + method.setAccessible(true); + method.invoke(service, result, waveDataDTO); + + Assertions.assertEquals(8, result.getTotalChannels()); + Assertions.assertEquals(3, result.getPhaseCount()); + Assertions.assertEquals("kV/A", result.getUnit()); + } + + @Test + void shouldMaskValuesInsideBottomPlatformMiddle() throws Exception { + WaveServiceImpl service = new WaveServiceImpl(new WaveFileComponent(), new WaveVectorComponent()); + WaveDataDTO waveDataDTO = new WaveDataDTO(); + ComtradeCfgDTO cfgDTO = new ComtradeCfgDTO(); + cfgDTO.setFinalSampleRate(1); + waveDataDTO.setComtradeCfgDTO(cfgDTO); + waveDataDTO.setListWaveData(buildRows(new float[][]{ + {0F, 100F, 100F, 100F}, + {1F, 100F, 100F, 100F}, + {2F, 100F, 100F, 100F}, + {3F, 100F, 100F, 100F}, + {4F, 80F, 100F, 100F}, + {5F, 60F, 100F, 100F}, + {6F, 60F, 100F, 100F}, + {7F, 60F, 100F, 100F}, + {8F, 95F, 100F, 100F}, + {9F, 100F, 100F, 100F} + })); + waveDataDTO.setListRmsData(buildRows(new float[][]{ + {0F, 100F, 100F, 100F}, + {1F, 100F, 100F, 100F}, + {2F, 100F, 100F, 100F}, + {3F, 100F, 100F, 100F}, + {4F, 80F, 100F, 100F}, + {5F, 60F, 100F, 100F}, + {6F, 60F, 100F, 100F}, + {7F, 60F, 100F, 100F}, + {8F, 95F, 100F, 100F}, + {9F, 100F, 100F, 100F} + })); + + Method method = WaveServiceImpl.class.getDeclaredMethod("applySimplifiedDisplay", WaveDataDTO.class); + method.setAccessible(true); + method.invoke(service, waveDataDTO); + + Assertions.assertEquals(0F, waveDataDTO.getListWaveData().get(0).get(0)); + Assertions.assertEquals(100F, waveDataDTO.getListWaveData().get(0).get(1)); + Assertions.assertEquals(100F, waveDataDTO.getListWaveData().get(2).get(1)); + Assertions.assertEquals(80F, waveDataDTO.getListWaveData().get(4).get(1)); + Assertions.assertEquals(60F, waveDataDTO.getListWaveData().get(5).get(1)); + Assertions.assertNull(waveDataDTO.getListWaveData().get(6).get(1)); + Assertions.assertEquals(60F, waveDataDTO.getListWaveData().get(7).get(1)); + Assertions.assertEquals(95F, waveDataDTO.getListWaveData().get(8).get(1)); + Assertions.assertEquals(100F, waveDataDTO.getListWaveData().get(9).get(1)); + } + + @Test + void shouldKeepDataWhenSimplifiedRangeCannotBeDetected() throws Exception { + WaveServiceImpl service = new WaveServiceImpl(new WaveFileComponent(), new WaveVectorComponent()); + WaveDataDTO waveDataDTO = new WaveDataDTO(); + ComtradeCfgDTO cfgDTO = new ComtradeCfgDTO(); + cfgDTO.setFinalSampleRate(1); + waveDataDTO.setComtradeCfgDTO(cfgDTO); + waveDataDTO.setListWaveData(buildRows(new float[][]{ + {0F, 100F, 100F, 100F}, + {1F, 99F, 100F, 100F}, + {2F, 98F, 100F, 100F} + })); + waveDataDTO.setListRmsData(buildRows(new float[][]{ + {0F, 100F, 100F, 100F}, + {1F, 99F, 100F, 100F}, + {2F, 98F, 100F, 100F} + })); + + Method method = WaveServiceImpl.class.getDeclaredMethod("applySimplifiedDisplay", WaveDataDTO.class); + method.setAccessible(true); + method.invoke(service, waveDataDTO); + + Assertions.assertEquals(99F, waveDataDTO.getListWaveData().get(1).get(1)); + Assertions.assertEquals(98F, waveDataDTO.getListRmsData().get(2).get(1)); + } + + private AnalogDTO buildAnalog(String unit, Float primary, Float secondary) { + AnalogDTO analogDTO = new AnalogDTO(); + analogDTO.setSzUnitName(unit); + analogDTO.setFPrimary(primary); + analogDTO.setFSecondary(secondary); + return analogDTO; + } + + private List> buildRows(float[][] values) { + List> rows = new ArrayList<>(); + for (float[] value : values) { + List row = new ArrayList<>(); + for (float item : value) { + row.add(item); + } + rows.add(row); + } + return rows; + } +} diff --git a/user/src/main/java/com/njcn/gather/user/user/filter/AuthGlobalFilter.java b/user/src/main/java/com/njcn/gather/user/user/filter/AuthGlobalFilter.java index 870afdc..9a6a64d 100644 --- a/user/src/main/java/com/njcn/gather/user/user/filter/AuthGlobalFilter.java +++ b/user/src/main/java/com/njcn/gather/user/user/filter/AuthGlobalFilter.java @@ -34,7 +34,9 @@ public class AuthGlobalFilter implements Filter, Ordered { "/doc.html", "/v3/api-docs", "/admin/login", - "/admin/getPublicKey" + "/admin/getPublicKey", + "/event/list/transient/page", + "/event/list/transient/page/debug" ); @Resource