package com.njcn.harmonic.pojo.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 变电站指标统计表实体类
 *
 * @author rui.wu
 * @since 2022-10-18
 */
@Data
@ApiModel(value = "变电站指标统计表实体类")
public class RStatSubstationOrg2VO implements Serializable {
    private static final long serialVersionUID = 117875946877905400L;

    public static final String FREQUENCY_DEV = "Frequency_Dev";
    public static final String VOLTAGE_DEV = "Voltage_Dev";
    public static final String FLICKER = "Flicker";
    public static final String HARMONIC_VOLTAGE = "Harmonic_Voltage";
    public static final String HARMONIC_CURRENT = "Harmonic_Current";
    public static final String INTERHARMONIC_VOLTAGE = "Interharmonic_Voltage";
    public static final String PHASE_VOLTAGE = "phase_Voltage";
    public static final String NEG_CURRENT = "Neg_Current";
    public static final String TOTAL_INDICATOR = "Total_Indicator";

    /**
     * 单位ID
     */
    @ApiModelProperty(name = "orgNo", value = "单位ID")
    private String orgNo;

    /**
     * 单位名称
     */
    @ApiModelProperty(name = "orgName", value = "单位名称")
    private String orgName;

    /**
     * 生成数据的时间,每年统计一次
     */
    @ApiModelProperty(name = "dataDate", value = "生成数据的时间,每年统计一次")
    private Date dataDate;

    /**
     * 日均有效接入监测点数
     */
    @ApiModelProperty(name = "effectiveMeasurementAverage", value = "日均有效接入监测点数")
    private Float effectiveMeasurementAverage;

    /**
     * 累计有效接入监测点数
     */
    @ApiModelProperty(name = "effectiveMeasurementAccrued", value = "累计有效接入监测点数")
    private Integer effectiveMeasurementAccrued;

    /**
     * 日均稳态超标监测点数
     */
    @ApiModelProperty(name = "eventMeasurementAverage", value = "日均监测到暂态指标的监测点数")
    private Float harmonicMeasurementAverage;

    /**
     * 累计稳态超标监测点数
     */
    @ApiModelProperty(name = "eventMeasurementAccrued", value = "累计监测到暂态指标的监测点数")
    private Integer harmonicMeasurementAccrued;

    /**
     * 日均暂态超标监测点数占比
     */
    @ApiModelProperty(name = "eventMeasurementRatioAverage", value = "日均暂态超标监测点数占比")
    private Float harmonicMeasurementRatioAverage;

    /**
     * 累计暂态超标监测点数占比
     */
    @ApiModelProperty(name = "eventMeasurementRatioAccrued", value = "累计暂态超标监测点数占比")
    private Float harmonicMeasurementRatioAccrued;



    /**
     * 频率偏差
     */
    private Float tAverage;
    private Integer tAccrued;
    private Float oAverage;
    private Float oAccrued;
    private Float chainAverage;
    private Float chainAccrued;
    private Float sameAverage;
    private Float sameAccrued;
    private Float averageOverDay;

    /**
     *  电压偏差
     */
    private Float tAverage1;
    private Integer tAccrued1;
    private Float oAverage1;
    private Float oAccrued1;
    private Float chainAverage1;
    private Float chainAccrued1;
    private Float sameAverage1;
    private Float sameAccrued1;
    private Float averageOverDay1;

    /**
     * 闪变
     */
    private Float tAverage2;
    private Integer tAccrued2;
    private Float oAverage2;
    private Float oAccrued2;
    private Float chainAverage2;
    private Float chainAccrued2;
    private Float sameAverage2;
    private Float sameAccrued2;
    private Float averageOverDay2;

    /**
     * 谐波电压
     */
    private Float tAverage3;
    private Integer tAccrued3;
    private Float oAverage3;
    private Float oAccrued3;
    private Float chainAverage3;
    private Float chainAccrued3;
    private Float sameAverage3;
    private Float sameAccrued3;
    private Float averageOverDay3;

    /**
     *谐波电流
     */
    private Float tAverage4;
    private Integer tAccrued4;
    private Float oAverage4;
    private Float oAccrued4;
    private Float chainAverage4;
    private Float chainAccrued4;
    private Float sameAverage4;
    private Float sameAccrued4;
    private Float averageOverDay4;


    /**
     *间谐波电压
     */
    private Float tAverage5;
    private Integer tAccrued5;
    private Float oAverage5;
    private Float oAccrued5;
    private Float chainAverage5;
    private Float chainAccrued5;
    private Float sameAverage5;
    private Float sameAccrued5;
    private Float averageOverDay5;


    /**
     *三相电压不平衡度
     */
    private Float tAverage6;
    private Integer tAccrued6;
    private Float oAverage6;
    private Float oAccrued6;
    private Float chainAverage6;
    private Float chainAccrued6;
    private Float sameAverage6;
    private Float sameAccrued6;
    private Float averageOverDay6;

    /**
     *负序电流
     */
    private Float tAverage7;
    private Integer tAccrued7;
    private Float oAverage7;
    private Float oAccrued7;
    private Float chainAverage7;
    private Float chainAccrued7;
    private Float sameAverage7;
    private Float sameAccrued7;
    private Float averageOverDay7;

    /**
     *总稳态指标
     */
    private Float tAverage8;
    private Integer tAccrued8;
    private Float oAverage8;
    private Float oAccrued8;
    private Float chainAverage8;
    private Float chainAccrued8;
    private Float sameAverage8;
    private Float sameAccrued8;
    private Float averageOverDay8;

    @Data
    public static class PwRStatSubstationOrgVO extends RStatSubstationOrg2VO {
        /**
         * 监测点类别
         */
        @ApiModelProperty(name = "monitorSort", value = "监测点类别")
        private String monitorSort;
    }
    @Data
    public static class MonitorType extends RStatSubstationOrg2VO {
        /**
         * 监测点类别
         */
        @ApiModelProperty(name = "monitorType", value = "监测点类型")
        private String monitorType;
    }
}

