package com.hdkj.lt.core.bizms.modle.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class StateEstimation {

    /**
     * 设备数据集合
     */
    private List<StateEstimationCommonResult> periodEquipResult;

    /**
     * 线路状估数据集合
     */
    private List<StateEstimationCommonResult> periodFeederSeResult;

//    /**
//     *  公变状估数据集合
//     */
//    private List<StateEstimationSwitchResult> periodMVTransSeResult;
//
//    /**
//     * 中压用户估数据集合
//     */
//    private List<StateEstimationSwitchResult> periodEnergyConsumerSeResult;
//
//    /**
//     * 中压光伏状估数据集合
//     */
//    private List<StateEstimationSwitchResult> periodPVSeResult;
//
//    /**
//     * 线路段状估数据集合
//     */
//    private List<StateEstimationSwitchResult> periodSegmentSeResult;

    /**
     * 开关状估数据集合
     */
    private List<StateEstimationSwitchResult> periodSwitchSeResult;

    private List<String> pointTime;

    @Data
    public static class StateEstimationCommonResult {
        /**
         * 设备 ID
         */
        private String psrId;
        /**
         * 设备类型
         */
        private String psrType;
        /**
         * 负 载 率 集 合 （ 1 天 96 个点）
         */
        private List<String> loadRates;
        /**
         * 量测有功集合（1 天 96 个点）
         */
        private List<String> seiPs;
        /**
         * 量测无功集合（1 天 96 个点）
         */
        private List<String> seiQs;
        /**
         * 量测电压集合（1 天 96 个点）
         */
        private List<String> seiUs;
        /**
         * 量测电流集合（1 天 96 个点）
         */
        private List<String> seiIs;
        /**
         * 状估有功集合（1 天 96 个点）
         */
        private List<String> seoPs;
        /**
         * 状估无功集合（1 天 96 个点）
         */
        private List<String> seoQs;
        /**
         * 状估电压集合（1 天 96 个点）
         */
        private List<String> seoUs;
        /**
         * 状估电流集合（1 天 96 个点）
         */
        private List<String> seoIs;

        /**
         * 开关是否为自动化开关
         */
        private String isAuto;

    }

    @Data
    public static class StateEstimationSwitchResult extends StateEstimationCommonResult {
        /**
         * 分合状态量测值
         */
        private List<String> seiStatuss;
        /**
         * 分合状态估计值量测值
         */
        private List<String> seoStatuss;
        /**
         * 所属线路ID
         */
        private String feederId;
        /**
         * 是否自动化设备
         */
        private String isAuto;
    }

}
