package cn.cecep.talroad.domain.analysis;


import cn.cecep.talroad.common.core.annotation.Excel;
import cn.cecep.talroad.common.core.web.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.Version;
import java.util.Date;


/**
 * 关联分析系统-企业生产过程分析-机组负荷分析对象 s_ra_real_time_analysis_power
 *
 * @author szhpt
 * @date 2023-04-02*/
@ApiModel(value = "关联分析系统-企业生产过程分析-机组负荷分析")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("s_ra_real_time_analysis_power")
public class SRaRealTimeAnalysisPower extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "数据主键")
    /** 数据主键 */
    @TableId(value = "data_id",type = IdType.ASSIGN_UUID)
    private String dataId;

    @ApiModelProperty(value = "企业主键")
    /** 企业主键 */
    private String factoryId;

    @ApiModelProperty(value = "企业名称")
    /** 企业名称 */
    @Excel(name = "企业名称",sort = 1)
    private String factoryName;

    @ApiModelProperty(value = "所在区县")
    /** 所在区县名称 */
    @Excel(name = "所在区县",sort = 2)
    private String districtName;

    @ApiModelProperty(value = "所在区县编码")
    /** 所在区县编码 */
    private String districtCode;

    @ApiModelProperty(value = "设备名称")
    /** 设备名称 */
    @Excel(name = "设备名称",sort = 3)
    private String deviceName;

    @ApiModelProperty(value = "设备编号")
    /** 设备编号 */
    private String deviceId;

    @ApiModelProperty(value = "机组负荷（MW）")
    /** 机组负荷（MW） */
    @Excel(name = "机组负荷(MW)",sort = 5)
    private BigDecimal powerNumber;

    @ApiModelProperty(value = "统计时间")
    /** 统计时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH")
    @Excel(name = "统计时间", dateFormat = "yyyy-MM-dd HH",sort = 4)
    private Date analyseTime;
    @ApiModelProperty(value = "统计时间列表展示")
    @TableField(exist = false)
    private String analyseTimeStr;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("dataId", getDataId())
            .append("factoryId", getFactoryId())
            .append("factoryName", getFactoryName())
            .append("districtName", getDistrictName())
            .append("districtCode", getDistrictCode())
            .append("deviceName", getDeviceName())
            .append("deviceId", getDeviceId())
            .append("powerNumber", getPowerNumber())
            .append("updateTime", getUpdateTime())
            .append("createTime", getCreateTime())
            .append("analyseTime", getAnalyseTime())
            .toString();
    }

    public static class SRaRealTimeAnalysisFactoryPower{
        @Excel(name = "企业名称")
        private String factoryName;
        @Excel(name = "所在区县")
        private String districtName;
        @Excel(name = "统计时间")
        private String analyseTimeStr;
        @Excel(name = "机组负荷(MW)")
        private BigDecimal powerNumber;

        public String getFactoryName() {
            return factoryName;
        }

        public void setFactoryName(String factoryName) {
            this.factoryName = factoryName;
        }

        public String getDistrictName() {
            return districtName;
        }

        public void setDistrictName(String districtName) {
            this.districtName = districtName;
        }

        public BigDecimal getPowerNumber() {
            return powerNumber;
        }

        public void setPowerNumber(BigDecimal powerNumber) {
            this.powerNumber = powerNumber;
        }

        public String getAnalyseTimeStr() {
            return analyseTimeStr;
        }

        public void setAnalyseTimeStr(String analyseTimeStr) {
            this.analyseTimeStr = analyseTimeStr;
        }
    }
    public static class SRaRealTimeAnalysisDevicePower{
        @Excel(name = "企业名称")
        private String factoryName;
        @Excel(name = "所在区县")
        private String districtName;
        @Excel(name = "设备名称")
        private String deviceName;
        @Excel(name = "统计时间")
        private String analyseTimeStr;
        @Excel(name = "机组负荷(MW)")
        private BigDecimal powerNumber;


        public String getFactoryName() {
            return factoryName;
        }

        public void setFactoryName(String factoryName) {
            this.factoryName = factoryName;
        }

        public String getDeviceName() {
            return deviceName;
        }

        public void setDeviceName(String deviceName) {
            this.deviceName = deviceName;
        }

        public String getDistrictName() {
            return districtName;
        }

        public void setDistrictName(String districtName) {
            this.districtName = districtName;
        }

        public BigDecimal getPowerNumber() {
            return powerNumber;
        }

        public void setPowerNumber(BigDecimal powerNumber) {
            this.powerNumber = powerNumber;
        }

        public String getAnalyseTimeStr() {
            return analyseTimeStr;
        }

        public void setAnalyseTimeStr(String analyseTimeStr) {
            this.analyseTimeStr = analyseTimeStr;
        }
    }
}
