package com.njcn.device.pq.pojo.vo.dataClean;

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

import java.util.List;

/**
 * @Author: cdf
 * @CreateTime: 2025-03-31
 * @Description:
 */
@Data
public class DetailAbnormalVO {

    private String monitorId;

    private String date;

    private List<TimeAndTargetKey> dateTargetList;

    private String monitorName;

    private String bdName;

    private String timeSum;

    private String errCount;

    private String targetKey;

    @Data
    public static class TimeAndTargetKey {

        private String date;

        private List<VerifyTargetVO> targetKeys;
    }
    /**
     * 异常实体
     */
    @Data
    public static class DetailAbnormalInnerVO{

        //时间
        private String time;

        private String targetKey;

        //指标类型
        private String targetName;
        //相别
        private String phaseType;
        //合理范围
        private String rangeDesc;
        //最大
        private String max;
        //最小
        private String min;
        //平均
        private String avg;
        //CP95
        private String cp95;
        //幅值
        private String featureAmplitude;

    }

    @Data
    public static class DetailAbnormalCountVO {

        private Integer timeSum;
        private Integer errCount;
        private List<DetailAbnormalInnerVO> time;
    }

    @Data
    public static class DetailLimitCountVO {

        private Integer timeSum;
        private Integer errCount;
        private List<DetailLimitInnerVO> time;
    }


    @Data
    public static class DetailLimitInnerVO{

        //时间
        private String time;

        private String targetKey;

        //指标类型
        private String targetName;

        //相别
        private String phaseType;

        //类型
        private String type;

        //最大
        private String val;

        //限值
        private float overLimitValue;
    }

    @Data
    public static class Assess {

        /**
         * 频率偏差
         */
        @ApiModelProperty("频率偏差")
        private Double freqData = 3.14159;
        @ApiModelProperty("频率偏差限值")
        private Float freqLimit = 3.14159F;

        /**
         * 电压闪变
         */
        @ApiModelProperty("电压闪变")
        private Double flickerData = 3.14159;
        @ApiModelProperty("电压闪变限值")
        private Float flickerLimit = 3.14159F;


        /**
         * 电压偏差上
         */
        @ApiModelProperty("电压上偏差")
        private Double vDevData = 3.14159;
        @ApiModelProperty("电压上偏差限值")
        private Float vDevLimit = 3.14159F;


        /**
         * 电压偏差下
         */
        @ApiModelProperty("电压下偏差")
        private Double uDevData = 3.14159;
        @ApiModelProperty("电压下偏差限值")
        private Float uDevLimit = 3.14159F;

        /**
         * 三相电压不平衡度
         */
        @ApiModelProperty("三相电压不平衡度")
        private Double unbalanceData = 3.14159;
        @ApiModelProperty("三相电压不平衡度限值")
        private Float unbalanceLimit = 3.14159F;


        /**
         * 总谐波畸变率
         */
        @ApiModelProperty("总谐波畸变率")
        private Double uaberranceData = 3.14159;
        @ApiModelProperty("总谐波畸变率限值")
        private Float uaberranceLimit = 3.14159F;


        /**
         * 负序电流限值天数
         */
        @ApiModelProperty("负序电流")
        private Double iNegData= 3.14159;
        @ApiModelProperty("负序电流限值")
        private Float iNegLimit= 3.14159F;


        /**
         * 谐波电压越限天数
         */
        @ApiModelProperty("谐波电压")
        private Double uharmData = 3.14159;
        @ApiModelProperty("谐波电压限值")
        private Float uharmLimit= 3.14159F;
        /**
         * 谐波电流越限天数
         */
        @ApiModelProperty("谐波电流")
        private Double iharmData = 3.14159;
        @ApiModelProperty("谐波电流限值")
        private Float iharmLimit= 3.14159F;
        /**
         * 间谐波限值天数
         */
        @ApiModelProperty("间谐波电压")
        private Double inuharmData = 3.14159;
        @ApiModelProperty("间谐波电压限值")
        private Float inuharmLimit= 3.14159F;



    }


}
