package com.ruoyi.powerdistribution.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 线路检修完成情况对象 pdm_maintenance_completion_statistics
 * 
 * @author ruoyi
 * @date 2024-12-03
 */
@Data
public class PdmMaintenanceCompletionStatistics extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 事情序号 */
    @Excel(name = "事情序号")
    private String eventNo;

    /** 线路名称 */
    @Excel(name = "线路名称")
    private String electLineName;

    /** 主分支名称 */
    @Excel(name = "主分支名称")
    private String branchName;

    /** 数据状态 */
    @Excel(name = "数据状态")
    private String dataStatus;

    /** 推送状态 */
    @Excel(name = "推送状态")
    private String pushStatus;

    /** 是否可维护 */
    @Excel(name = "是否可维护")
    private String isMaintainable;

    /** 是否纯专变 */
    @Excel(name = "是否纯专变")
    private String isPureSpecia;

    /** 事件类型 */
    @Excel(name = "事件类型")
    private String eventType;

    /** 停电开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone="GMT+8")
    @Excel(name = "停电开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date powerOutageStart;

    /** 停电结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone="GMT+8")
    @Excel(name = "停电结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date powerOutageEnd;

    /** 停电时户数 */
    @Excel(name = "停电时户数")
    private Long powerOutageDuringHouseholds;

    /** 研判停电性质 */
    @Excel(name = "研判停电性质")
    private String powerOutageNature;

    /** 所属市公司 */
    @Excel(name = "所属市公司")
    private String city;

    /** 所属县公司 */
    @Excel(name = "所属县公司")
    private String county;

    /** 所属供电所 */
    @Excel(name = "所属供电所")
    private String station;

    /** 单位编码 */
    @Excel(name = "单位编码")
    private String oranNo;

    /** 变电站名称 */
    @Excel(name = "变电站名称")
    private String substationName;

    /** 停电户次数 */
    @Excel(name = "停电户次数")
    private Long powerOutageHouseholds;

    /** 停电线次数 */
    @Excel(name = "停电线次数")
    private Long powerOutageLine;

    /** 计划检修后无故障持续时间 */
    @Excel(name = "计划检修后无故障持续时间")
    private String faultFreeDuration;

    /** 奖励金额 */
    @Excel(name = "奖励金额")
    private BigDecimal rewardAmount;
    /**
     * 重复停电
     */
    private String repeatPowerCut;
    /**
     * 计划检修超期
     */
    private String maintenanceOverdue;

    private String maintenanceOverdueUnit;
    private String maintenanceOverdueVal;

    /**
     * 重复停电
     */
    private String repeatPowerCutUnit;
    /**
     * 重复停电
     */
    private String repeatPowerCutVal;

    public void setEventNo(String eventNo) 
    {
        this.eventNo = eventNo;
    }

    public String getEventNo() 
    {
        return eventNo;
    }
    public void setElectLineName(String electLineName) 
    {
        this.electLineName = electLineName;
    }

    public String getElectLineName() 
    {
        return electLineName;
    }
    public void setBranchName(String branchName) 
    {
        this.branchName = branchName;
    }

    public String getBranchName() 
    {
        return branchName;
    }
    public void setDataStatus(String dataStatus) 
    {
        this.dataStatus = dataStatus;
    }

    public String getDataStatus() 
    {
        return dataStatus;
    }
    public void setPushStatus(String pushStatus) 
    {
        this.pushStatus = pushStatus;
    }

    public String getPushStatus() 
    {
        return pushStatus;
    }
    public void setIsMaintainable(String isMaintainable) 
    {
        this.isMaintainable = isMaintainable;
    }

    public String getIsMaintainable() 
    {
        return isMaintainable;
    }
    public void setIsPureSpecia(String isPureSpecia) 
    {
        this.isPureSpecia = isPureSpecia;
    }

    public String getIsPureSpecia() 
    {
        return isPureSpecia;
    }
    public void setEventType(String eventType) 
    {
        this.eventType = eventType;
    }

    public String getEventType() 
    {
        return eventType;
    }
    public void setPowerOutageStart(Date powerOutageStart) 
    {
        this.powerOutageStart = powerOutageStart;
    }

    public Date getPowerOutageStart() 
    {
        return powerOutageStart;
    }
    public void setPowerOutageEnd(Date powerOutageEnd) 
    {
        this.powerOutageEnd = powerOutageEnd;
    }

    public Date getPowerOutageEnd() 
    {
        return powerOutageEnd;
    }
    public void setPowerOutageDuringHouseholds(Long powerOutageDuringHouseholds) 
    {
        this.powerOutageDuringHouseholds = powerOutageDuringHouseholds;
    }

    public Long getPowerOutageDuringHouseholds() 
    {
        return powerOutageDuringHouseholds;
    }
    public void setPowerOutageNature(String powerOutageNature) 
    {
        this.powerOutageNature = powerOutageNature;
    }

    public String getPowerOutageNature() 
    {
        return powerOutageNature;
    }
    public void setCity(String city) 
    {
        this.city = city;
    }

    public String getCity() 
    {
        return city;
    }
    public void setCounty(String county) 
    {
        this.county = county;
    }

    public String getCounty() 
    {
        return county;
    }
    public void setStation(String station) 
    {
        this.station = station;
    }

    public String getStation() 
    {
        return station;
    }
    public void setOranNo(String oranNo) 
    {
        this.oranNo = oranNo;
    }

    public String getOranNo() 
    {
        return oranNo;
    }
    public void setSubstationName(String substationName) 
    {
        this.substationName = substationName;
    }

    public String getSubstationName() 
    {
        return substationName;
    }
    public void setPowerOutageHouseholds(Long powerOutageHouseholds) 
    {
        this.powerOutageHouseholds = powerOutageHouseholds;
    }

    public Long getPowerOutageHouseholds() 
    {
        return powerOutageHouseholds;
    }
    public void setPowerOutageLine(Long powerOutageLine) 
    {
        this.powerOutageLine = powerOutageLine;
    }

    public Long getPowerOutageLine() 
    {
        return powerOutageLine;
    }
    public void setFaultFreeDuration(String faultFreeDuration) 
    {
        this.faultFreeDuration = faultFreeDuration;
    }

    public String getFaultFreeDuration() 
    {
        return faultFreeDuration;
    }
    public void setRewardAmount(BigDecimal rewardAmount) 
    {
        this.rewardAmount = rewardAmount;
    }

    public BigDecimal getRewardAmount() 
    {
        return rewardAmount;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("eventNo", getEventNo())
            .append("electLineName", getElectLineName())
            .append("branchName", getBranchName())
            .append("dataStatus", getDataStatus())
            .append("pushStatus", getPushStatus())
            .append("isMaintainable", getIsMaintainable())
            .append("isPureSpecia", getIsPureSpecia())
            .append("eventType", getEventType())
            .append("powerOutageStart", getPowerOutageStart())
            .append("powerOutageEnd", getPowerOutageEnd())
            .append("powerOutageDuringHouseholds", getPowerOutageDuringHouseholds())
            .append("powerOutageNature", getPowerOutageNature())
            .append("city", getCity())
            .append("county", getCounty())
            .append("station", getStation())
            .append("oranNo", getOranNo())
            .append("substationName", getSubstationName())
            .append("powerOutageHouseholds", getPowerOutageHouseholds())
            .append("powerOutageLine", getPowerOutageLine())
            .append("faultFreeDuration", getFaultFreeDuration())
            .append("rewardAmount", getRewardAmount())
            .toString();
    }
}
