package com.hdkj.lt.bf.entity.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.hdkj.lt.base.serializer.BigDecimalSerializer;
import com.hdkj.lt.core.bizms.modle.dto.FhzgFaultDistMappingFileDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

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


/**
 * @author Liuaini
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "故障区段信息")
public class FhzgFaultPowerCutSectionVO  {

    //fhzg_fault_power_cut.fault_no
    @ApiModelProperty("故障id")
    private String faultNo;

    //fhzg_fault_power_cut.id
    @ApiModelProperty("id")
    private Long faultId;

    //开始开关
    @ApiModelProperty("开始开关")
    private String startSwitch;

    //结束开关
    @ApiModelProperty("结束开关")
    private String endSwitch;

    //开始开关名称
    @ApiModelProperty("开始开关名称")
    private String startSwitchName;

    //结束开关名称
    @ApiModelProperty("结束开关名称")
    private String endSwitchName;

    //故障区段状态（默认0：未确认，1：已确认）
    @ApiModelProperty("故障区段状态（默认0：未确认，1：已确认）")
    private Integer sectionStatus;

    //线路文件列表
    @ApiModelProperty("线路文件列表")
    private List<FhzgFaultDistMappingFileDTO> fileList;

    //创建时间
    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

    //方案生成时间
    @ApiModelProperty("方案生成时间")
    private String schemeCreateTime;

    //方案生成时长
    @ApiModelProperty("方案生成时长")
    private String schemeCreateDuration;

    // 光伏用户
    @ApiModelProperty("光伏用户")
    private Integer pvUsers;

    //待转供用户数量
    @ApiModelProperty("待转供用户数量")
    private Integer userCount;

    // 重要用户
    @ApiModelProperty("重要用户")
    private Integer transferCriticalUsers;

    // 敏感用户
    @ApiModelProperty("敏感用户")
    private Integer transferSensitiveUsers;

    //用户负荷
    @ApiModelProperty("用户负荷")
    @JsonSerialize(using = BigDecimalSerializer.Keep6DecimalSerializer.class)
    private BigDecimal userLoads;

    //保电用户
    @ApiModelProperty("保电用户")
    private Integer protectUsers;

    //故障来源
    @ApiModelProperty("故障来源")
    private String faultSource;

}
