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_rubbish
 *
 * @author szhpt
 * @date 2023-04-03*/
@ApiModel(value = "关联分析系统-企业生产过程分析-垃圾处理量分析")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("s_ra_real_time_analysis_rubbish")
public class SRaRealTimeAnalysisRubbish 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 = "企业名称")
    private String factoryName;

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

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

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

    @ApiModelProperty(value = "入炉方式")
    /** 入炉方式 */
    @Excel(name = "入炉方式")
    private String feedingMethod;

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

    @ApiModelProperty(value = "统计时间")
    /** 统计时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH")
    @Excel(name = "统计时间", dateFormat = "yyyy-MM-dd HH")
    private Date analyseTime;

    @ApiModelProperty(value = "垃圾处理量（kg）")
    /** 垃圾处理量（kg） */
    @Excel(name = "垃圾处理量(kg)")
    private BigDecimal rubbishNumber;




    @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("rubbishNumber", getRubbishNumber())
            .append("updateTime", getUpdateTime())
            .append("createTime", getCreateTime())
            .append("analyseTime", getAnalyseTime())
            .append("feedingMethod", getFeedingMethod())
            .toString();
    }
    public static class SRaRealTimeAnalysisFactoryRubbish{
        @Excel(name = "企业名称")
        private String factoryName;
        @Excel(name = "所在区县")
        private String districtName;
        @Excel(name = "垃圾处理量(kg)")
        private BigDecimal rubbishNumber;
        @Excel(name = "统计时间")
        private String analyseTimeStr;

        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 getRubbishNumber() {
            return rubbishNumber;
        }

        public void setRubbishNumber(BigDecimal rubbishNumber) {
            this.rubbishNumber = rubbishNumber;
        }

        public String getAnalyseTimeStr() {
            return analyseTimeStr;
        }

        public void setAnalyseTimeStr(String analyseTimeStr) {
            this.analyseTimeStr = analyseTimeStr;
        }
    }
    public static class SRaRealTimeAnalysisDeviceRubbish{
        @Excel(name = "企业名称")
        private String factoryName;
        @Excel(name = "所在区县")
        private String districtName;
        @Excel(name = "垃圾处理量(kg)")
        private BigDecimal rubbishNumber;
        @Excel(name = "统计时间")
        private String analyseTimeStr;
        @Excel(name = "设备名称")
        private String deviceName;

        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 getRubbishNumber() {
            return rubbishNumber;
        }

        public void setRubbishNumber(BigDecimal rubbishNumber) {
            this.rubbishNumber = rubbishNumber;
        }

        public String getAnalyseTimeStr() {
            return analyseTimeStr;
        }

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

        public String getDeviceName() {
            return deviceName;
        }

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