<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.gather.storage.mapper.TableGenMapper">
    <update id="genNonHarmonicTable">
        CREATE TABLE ad_non_harmonic_${code}
        (
        Dev_Monitor_Id CHAR(34) NOT NULL COMMENT '监测点Id',
        Time_Id DATETIME(3) NOT NULL COMMENT '时间',
        AD_Type CHAR(32) NOT NULL COMMENT '检测指标，字典表',
        Data_Type CHAR(32) NOT NULL COMMENT '数据指标，只有数据源为分钟统计时候才会使用（最大、最小、平均、CP95，默认平均值），字典表',
        A_Value float(14,7) DEFAULT NULL COMMENT 'A相值',
        B_Value float(14,7) DEFAULT NULL COMMENT 'B相值',
        C_Value float(14,7) DEFAULT NULL COMMENT 'C相值',
        T_Value float(14,7) DEFAULT NULL COMMENT 'T相值(没有相别的则存这里)',
        Result_Flag int(1) NULL COMMENT '1合格 2不合格 4无法处理',
        <choose>
            <when test="isContrast">
                Id char(32) COLLATE utf8mb4_bin NOT NULL COMMENT '主键Id',
                Std_Dev_Monitor_Id CHAR(34) NOT NULL COMMENT '标准设备监测点Id',
                Num tinyint(1) unsigned DEFAULT 0 COMMENT '第几次检测',
                Flag tinyint(1) unsigned NOT NULL COMMENT '0表示被检设备数据，1表示标准设备数据',
                A_Value_0 float(14,7)  NULL COMMENT 'A相基波有效值',
                B_Value_0 float(14,7)  NULL COMMENT 'B相基波有效值',
                C_Value_0 float(14,7)  NULL COMMENT 'B相基波有效值',
                Wave_Num tinyint(1) unsigned DEFAULT null COMMENT '录波数据第几组',
                PRIMARY KEY (Id)
            </when>
            <otherwise>
                Script_Id CHAR(32) NOT NULL COMMENT '检测脚本表Id',
                Sort int(4) NOT NULL COMMENT '总检测脚本中的测试项序号',
                PRIMARY KEY (Dev_Monitor_Id, Time_Id, Script_Id, Sort, AD_Type)
            </otherwise>
        </choose>
        ) COMMENT='非谐波类原始数据表';
    </update>


    <update id="genAdHarmonicTable" parameterType="string">
        ${tableSql}
    </update>


    <update id="genNonHarmonicResultTable">
        CREATE TABLE if not exists ad_non_harmonic_result_${code} (
        Dev_Monitor_Id CHAR(34) NOT NULL COMMENT '监测点Id',
        Time_Id DATETIME NULL COMMENT '时间',
        AD_Type CHAR(32) NOT NULL COMMENT '检测指标，字典表',
        Data_Type CHAR(32) NOT NULL COMMENT '数据指标，只有数据源为分钟统计时候才会使用（最大、最小、平均、CP95，默认平均值），字典表',
        A_Value json NULL COMMENT 'A相值',
        B_Value json NULL COMMENT 'B相值',
        C_Value json NULL COMMENT 'C相值',
        T_Value json NULL COMMENT 'T相值(没有相别的则存这里)',
        Result_Flag int(1) NOT NULL COMMENT '1合格 2不合格 4无法处理',
        <choose>
            <when test="isContrast">
                Id char(32) COLLATE utf8mb4_bin NOT NULL COMMENT '主键Id',
                Std_Dev_Monitor_Id CHAR(34) NOT NULL COMMENT '标准设备监测点Id',
                Num tinyint(1) unsigned DEFAULT 0 COMMENT '第几次检测',
                Flag tinyint(1) unsigned DEFAULT NULL COMMENT '0表示被检设备数据，1表示标准设备数据',
                A_Value_0 json NULL COMMENT 'A相基波有效值',
                B_Value_0 json NULL COMMENT 'B相基波有效值',
                C_Value_0 json NULL COMMENT 'B相基波有效值',
                Wave_Num tinyint(1) unsigned DEFAULT null COMMENT '录波数据第几组',
                PRIMARY KEY (Id)
            </when>
            <otherwise>
                Script_Id CHAR(32) NOT NULL COMMENT '检测脚本表Id',
                Sort int(4) NOT NULL COMMENT '总检测脚本中的测试项序号',
                PRIMARY KEY (Dev_Monitor_Id, Script_Id, Sort, AD_Type)
            </otherwise>
        </choose>
        ) COMMENT='非谐波类检测结果表';
    </update>


</mapper>

