package com.njcn.device.pms.pojo.vo;

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

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 专项分析
 * @author wr
 */
@Data
public class SpecialAnalysisMonitorVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 监测点信息
     */
    @ApiModelProperty(name = "specialAnalysisVOList", value = "监测点信息")
    Map<String,List<SpecialAnalysisVO>>  specialAnalysisVOList;

    /**
     * 电压等级分布（监测点）
     */
    @ApiModelProperty(name = "voltageLevelMap", value = "电压等级分布（监测点）")
   List<Map<String,String>> voltageLevelMap;

    /**
     * 同环比详细数据
     */
//    @ApiModelProperty(name = "compareVOMap", value = "同比环比详细数据")
//    Map<String,CompareVO> compareVOMap;

    /**
     * 监测点信息
     */
    @Data
    public static class SpecialAnalysisVO  {
        private static final long serialVersionUID = 1L;

        /**
         * 监测点ID
         */
        @ApiModelProperty(name = "id", value = "监测点ID")
        private String id;

        /**
         * 监测点名称
         */
        @ApiModelProperty(name = "name", value = "监测点名称")
        private String name;

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

        /**
         * 监测点名称
         */
        @ApiModelProperty(name = "orgId", value = "单位Code")
        private String orgId;

        /**
         * 电站ID(外键)
         */
        @ApiModelProperty(name = "powerrId", value = "电站ID(外键)")
        private String powerrId;

        /**
         * 变电站名称
         */
        @ApiModelProperty(name = "powerrName", value = "变电站名称")
        private String powerrName;

        /**
         * 经度
         */
        @ApiModelProperty(name = "longitude", value = "经度")
        private Double longitude;

        /**
         * 维度
         */
        @ApiModelProperty(name = "latitude", value = "维度")
        private Double latitude;

        /**
         * 电压等级(字典)
         */
        @ApiModelProperty(name = "voltageLevel", value = "电压等级(字典)")
        private String voltageLevel;

        /**
         * 监测点容量
         */
        @ApiModelProperty(name = "capacity", value = "监测点容量")
        private Double capacity;

        /**
         * 监测点标签
         */
//        @ApiModelProperty(name = "monitorTag", value = "监测点标签")
//        private String monitorTag;

        /**
         * 关联的监测终端编号(外键)
         */
        @ApiModelProperty(name = "terminalId", value = "关联的监测终端编号(外键)")
        private String terminalId;
    }


    /**
     * 数据比较
     */
    @Data
    public static class CompareVO  {
        private static final long serialVersionUID = 1L;

        @ApiModelProperty(name = "tractionStation", value = "名称")
        private String name;

        @ApiModelProperty(name = "tractionStation", value = "牵引站数量")
        private Integer tractionStation;

        @ApiModelProperty(name = "num", value = "监测点数量")
        private Integer num;

        @ApiModelProperty(name = "ytbSumNum", value = "同比数量")
        private Integer ytbSumNum;

        @ApiModelProperty(name = "yhbSumNum", value = "环比数量")
        private Integer yhbSumNum;

        @ApiModelProperty(name = "sameNum", value = "监测点数量同比")
        private String sameNum;

        @ApiModelProperty(name = "ringNum", value = "监测点数量环比")
        private String ringNum;


    }

    /**
     * 接线类型详细信息
     */
    @Data
    public static class WiringTypeDetail  {
        private static final long serialVersionUID = 1L;

        @ApiModelProperty(name = "connet_group_way", value = "接线类型")
        private String connetGroupWay;

        @ApiModelProperty(name = "num", value = "牵引站数量")
        private Integer num;

        @ApiModelProperty(name = "rateAvg", value = "负载量（平均值）")
        private Integer rateAvg;

        @ApiModelProperty(name = "rate95", value = "负载量（95值）")
        private Integer rate95;

        @ApiModelProperty(name = "rate99", value = "负载量（99值）")
        private Integer rate99;

    }

    @Data
    public static class CompareDetailVO  {
        private static final long serialVersionUID = 1L;

        /**
         * 风电场  same同比 ring环比
         */
        private String sumNum;
        private String ytbSumNum;
        private String yhbSumNum;
        private String sameNum;
        private String ringNum;
        private String capacity;
        private String ytbCapacity;
        private String yhbCapacity;
        private String sameCapacity;
        private String ringCapacity;

        /**
         * 光伏电站 same同比 ring环比
         */
        private String sumNum2;
        private String ytbSumNum2;
        private String yhbSumNum2;
        private String sameNum2;
        private String ringNum2;
        private String capacity2;
        private String ytbCapacity2;
        private String yhbCapacity2;
        private String sameCapacity2;
        private String ringCapacity2;

        /**
         * 电气化铁路 same同比 ring环比
         */
        private String sumNum3;
        private String ytbSumNum3;
        private String yhbSumNum3;
        private String sameNum3;
        private String ringNum3;
        private String capacity3;
        private String ytbCapacity3;
        private String yhbCapacity3;
        private String sameCapacity3;
        private String ringCapacity3;

        /**
         * 冶炼负荷 same同比 ring环比
         */
        private String sumNum4;
        private String ytbSumNum4;
        private String yhbSumNum4;
        private String sameNum4;
        private String ringNum4;
        private String capacity4;
        private String ytbCapacity4;
        private String yhbCapacity4;
        private String sameCapacity4;
        private String ringCapacity4;

    }

    /**
     * 专项分析电气化铁路展示详情
     */
    @Data
    public static class SpecialAnalysisRailwayVO  {
        private static final long serialVersionUID = 1L;

        /**
         * 监测点ID
         */
        @ApiModelProperty(name = "id", value = "监测点ID")
        private String id;

        /**
         * 监测点名称
         */
        @ApiModelProperty(name = "name", value = "监测点名称")
        private String name;

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

        /**
         * 监测点名称
         */
        @ApiModelProperty(name = "orgId", value = "单位Code")
        private String orgId;

        /**
         * 电站ID(外键)
         */
        @ApiModelProperty(name = "powerrId", value = "电站ID(外键)")
        private String powerrId;

        /**
         * 变电站名称
         */
        @ApiModelProperty(name = "powerrName", value = "变电站名称")
        private String powerrName;

        /**
         * 经度
         */
        @ApiModelProperty(name = "longitude", value = "经度")
        private Double longitude;

        /**
         * 维度
         */
        @ApiModelProperty(name = "latitude", value = "维度")
        private Double latitude;

        /**
         * 电压等级(字典)
         */
        @ApiModelProperty(name = "voltageLevel", value = "电压等级(字典)")
        private String voltageLevel;

        /**
         * 监测点容量
         */
        @ApiModelProperty(name = "capacity", value = "监测点容量")
        private Double capacity;


        /**
         * 关联的监测终端编号(外键)
         */
        @ApiModelProperty(name = "RailwayLineName", value = "铁路名称")
        private String railwayLineName;
    }
}
