package com.hdkj.lt.core.bizms.modle.po.voltageLimitViolation;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 成片电压越限事件表
 *
 * @TableName fhzg_voltage_limit_violation_power_cut
 */
@TableName(value = "fhzg_voltage_limit_violation_power_cut")
@Data
@Accessors(chain = true)
public class FhzgVoltageLimitViolationPowerCut implements Serializable {
    /**
     * 主键
     */
    @TableId
    @ApiModelProperty(value = "主键")
    private Long id;
    /**
     * 越限事件编号
     */
    @ApiModelProperty(value = "越限事件编号")
    private String limitNo;

    /**
     * 越限成因
     */
    @ApiModelProperty(value = "越限成因")
    private String reason;

    /**
     * 事件类型
     */
    @ApiModelProperty(value = "事件类型")
    private String eventType;

    /**
     * 事件创建事件
     */
    @ApiModelProperty(value = "事件创建事件")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime eventCreateTime;

    /**
     * 线路Id
     */
    @ApiModelProperty(value = "线路Id")
    private String lineId;

    /**
     * 线路名称
     */
    @ApiModelProperty(value = "线路名称")
    private String lineName;

    /**
     * 越下限开始时间
     */
    @ApiModelProperty(value = "越下限开始时间")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime voltageLimitStartTime;

    /**
     * 越下限结束时间
     */
    @ApiModelProperty(value = "越下限结束时间")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime voltageLimitEndTime;

    /**
     * 电压指数
     */
    @ApiModelProperty(value = "电压指数")
    private Double voltageIndex;

    /**
     * 电压越上限指数(一般)
     */
    @ApiModelProperty(value = "电压越上限指数(一般)")
    private Double overVoltageIndexNormal;

    /**
     * 电压越上限指数(严重)
     */
    @ApiModelProperty(value = "电压越上限指数(严重)")
    private Double overVoltageIndexHeavy;

    /**
     * 电压越下限指数(一般)
     */
    @ApiModelProperty(value = "电压越下限指数(一般)")
    private Double underVoltageIndexNormal;

    /**
     * 电压越上限时长
     */
    @ApiModelProperty(value = "电压越上限时长")
    private Integer overVoltageTime;

    /**
     * 电压越下限时长
     */
    @ApiModelProperty(value = "电压越下限时长")
    private Integer underVoltageTime;

    /**
     * 电压越下限指数(严重)
     */
    @ApiModelProperty(value = "电压越下限指数(严重)")
    private Double underVoltageIndexHeavy;

    /**
     * 越下限导线条数量(条)
     */
    @ApiModelProperty(value = "越下限导线条数量(条)")
    private Integer underVoltageLineNum;

    /**
     * 导线电压越下限次数(次)
     */
    @ApiModelProperty(value = "导线电压越下限次数(次)")
    private Integer underVoltageLineCount;

    /**
     * 越下限配变数量(台)
     */
    @ApiModelProperty(value = "越下限配变数量(台)")
    private Integer underVoltageTransformerNum;

    /**
     * 配变电压越下限次数(次)
     */
    @ApiModelProperty(value = "配变电压越下限次数(次)")
    private Integer underVoltageTransformerCount;

    /**
     * 越下限中压用户数量(户)
     */
    @ApiModelProperty(value = "越下限中压用户数量(户)")
    private Integer underVoltageMvCustomerNum;

    /**
     * 中压用户越下限次数(次)
     */
    @ApiModelProperty(value = "中压用户越下限次数(次)")
    private Integer underVoltageMvCustomerCount;

    /**
     * 越下限低压用户数量(户)
     */
    @ApiModelProperty(value = "越下限低压用户数量(户)")
    private Integer underVoltageLvCustomerNum;

    /**
     * 低压用户越下限次数(次)
     */
    @ApiModelProperty(value = "低压用户越下限次数(次)")
    private Integer underVoltageLvCustomerCount;

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

    /**
     * 创建人
     */
    private String creator;

    /**
     * 更新时间
     */
    private Date lastTime;

    /**
     * 事件图文件id
     */
    private String fileId;

    /**
     * 更新人
     */
    private String lastEditor;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 所属区县
     */
    @ApiModelProperty(value = "所属区县")
    @TableField(exist = false)
    private String countyName;

    /**
     * 所属区县
     */
    @ApiModelProperty(value = "所属区县编码")
    @TableField(exist = false)
    private Long countyCode;
}