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

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author luorui
 * @date 2025/8/15 11:10
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class WholeStationPowerCutVO {

    /**
     * 计划id
     */
    private Long id;

    /**
     * 事件id
     */
    private Long eventId;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime planCreateTime;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 计划状态
     */
    private String planState;

    /**
     * 方案状态,01-已确认，02-未确认
     */
    private String schemeState;

    /**
     * 计划停电开始时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime planStartTime;

    /**
     * 计划停电结束时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime planEndTime;

    /**
     * 变电站Id
     */
    private String stationId;

    /**
     * 变电站名称
     */
    private String stationName;

    /**
     * 区县Id
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long countyCode;

    /**
     * 区县名称
     */
    private String countyName;

    /**
     * 待转供路线条数
     */
    private Integer transferLineCount;

    /**
     * 待转供负荷（kW）
     */
    private String transferLoads;

    /**
     * 待转供用户
     */
    private Integer userCount;

    // 重要用户
    private Integer transferCriticalUsers;

    // 敏感用户
    private Integer transferSensitiveUsers;

    //保电用户
    private Integer protectUsers;

    /**
     * 停电事件线路文件列表
     */
    private List<FhzgPlanDistMappingFileVO> fileList;

    /**
     * 图上开关段用户数、配变数、附件、用户列表信息（负荷点信息）
     */
    private List<FhzgDistLineSwitchSectionVO> distLineSwitchSectionVOList;

    /**
     * 站内开关（初始渲染线路用）
     */
    private List<BreakerAreaVO> breakerAreaVOList;

    /**
     * 站外开关（初始渲染对侧线路用）
     */
    private List<BreakerAreaVO> outsideBreakerAreaVOList;
}
