package com.ygtx.gxt.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ygtx.common.annotation.Excel;
import com.ygtx.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 停机记录对象 ads_bo_fujian_sis_wind_turbine_downtime_detail_df_std
 * 
 * @author ygtx
 * @date {datetime}
 */
public class GxtShutdownRecord extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 区域公司名称 */
    @Excel(name = "区域公司名称")
    private String regionCompanyName;

    /** 场站名称 */
    @Excel(name = "场站名称")
    private String stationName;

    /** 风机名称 */
    @Excel(name = "风机名称")
    private String turbineName;

    /** 监控状态名称 */
    @Excel(name = "监控状态名称")
    private String monitorStatusName;

    /** 停机状态描述 */
    @Excel(name = "停机状态描述")
    private String downtimeDesc;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 一级原因描述 */
    @Excel(name = "一级原因描述")
    private String firstReasonDesc;

    /** 持续时长(h) */
    @Excel(name = "持续时长(h)")
    private BigDecimal duration;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 总停机损失电量 */
    @Excel(name = "总停机损失电量")
    private BigDecimal totalOutageLossElec;

    /** 风机型号 */
    @Excel(name = "风机型号")
    private String turbineModel;

    /** 风机wt编码 */
    @Excel(name = "风机wt编码")
    private String turbineWt;

    /** 数据产生时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "数据产生时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date dataGenTime;

    /** 二级原因描述 */
    @Excel(name = "二级原因描述")
    private String secondReasonDesc;

    /** 审批状态 */
    @Excel(name = "审批状态")
    private String approvalStatus;

    /** 原停机记录ID */
    @Excel(name = "原停机记录ID")
    private String downtimeIdPre;

    /** 工单业务ID */
    @Excel(name = "工单业务ID")
    private String workOrderBizId;

    public void setRegionCompanyName(String regionCompanyName) {
        this.regionCompanyName = regionCompanyName;
    }

    public String getRegionCompanyName() {
        return regionCompanyName;
    }

    public void setStationName(String stationName) {
        this.stationName = stationName;
    }

    public String getStationName() {
        return stationName;
    }

    public void setTurbineName(String turbineName) {
        this.turbineName = turbineName;
    }

    public String getTurbineName() {
        return turbineName;
    }

    public void setMonitorStatusName(String monitorStatusName) {
        this.monitorStatusName = monitorStatusName;
    }

    public String getMonitorStatusName() {
        return monitorStatusName;
    }

    public void setDowntimeDesc(String downtimeDesc) {
        this.downtimeDesc = downtimeDesc;
    }

    public String getDowntimeDesc() {
        return downtimeDesc;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setFirstReasonDesc(String firstReasonDesc) {
        this.firstReasonDesc = firstReasonDesc;
    }

    public String getFirstReasonDesc() {
        return firstReasonDesc;
    }

    public void setDuration(BigDecimal duration) {
        this.duration = duration;
    }

    public BigDecimal getDuration() {
        return duration;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getRemark() {
        return remark;
    }

    public void setTotalOutageLossElec(BigDecimal totalOutageLossElec) {
        this.totalOutageLossElec = totalOutageLossElec;
    }

    public BigDecimal getTotalOutageLossElec() {
        return totalOutageLossElec;
    }

    public void setTurbineModel(String turbineModel) {
        this.turbineModel = turbineModel;
    }

    public String getTurbineModel() {
        return turbineModel;
    }

    public void setTurbineWt(String turbineWt) {
        this.turbineWt = turbineWt;
    }

    public String getTurbineWt() {
        return turbineWt;
    }

    public void setDataGenTime(Date dataGenTime) {
        this.dataGenTime = dataGenTime;
    }

    public Date getDataGenTime() {
        return dataGenTime;
    }

    public void setSecondReasonDesc(String secondReasonDesc) {
        this.secondReasonDesc = secondReasonDesc;
    }

    public String getSecondReasonDesc() {
        return secondReasonDesc;
    }

    public void setApprovalStatus(String approvalStatus) {
        this.approvalStatus = approvalStatus;
    }

    public String getApprovalStatus() {
        return approvalStatus;
    }

    public void setDowntimeIdPre(String downtimeIdPre) {
        this.downtimeIdPre = downtimeIdPre;
    }

    public String getDowntimeIdPre() {
        return downtimeIdPre;
    }

    public void setWorkOrderBizId(String workOrderBizId) {
        this.workOrderBizId = workOrderBizId;
    }

    public String getWorkOrderBizId() {
        return workOrderBizId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("regionCompanyName", getRegionCompanyName())
            .append("stationName", getStationName())
            .append("turbineName", getTurbineName())
            .append("monitorStatusName", getMonitorStatusName())
            .append("downtimeDesc", getDowntimeDesc())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("firstReasonDesc", getFirstReasonDesc())
            .append("duration", getDuration())
            .append("remark", getRemark())
            .append("totalOutageLossElec", getTotalOutageLossElec())
            .append("turbineModel", getTurbineModel())
            .append("turbineWt", getTurbineWt())
            .append("dataGenTime", getDataGenTime())
            .append("secondReasonDesc", getSecondReasonDesc())
            .append("approvalStatus", getApprovalStatus())
            .append("downtimeIdPre", getDowntimeIdPre())
            .append("workOrderBizId", getWorkOrderBizId())
            .toString();
    }
}