package cn.cecep.talroad.domain.analysis;

import java.math.BigDecimal;

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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
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.TableField;


/**
 * 执行报告实际排放情况对象 s_ra_action_reports_actual_emissions
 *
 * @author szhpt
 * @date 2023-04-11*/
@ApiModel(value = "执行报告实际排放情况")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("s_ra_action_reports_actual_emissions")
public class SRaActionReportsActualEmissions extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    /** id */
    @TableId(value = "id",type = IdType.AUTO)
    private String id;

    @ApiModelProperty(value = "执行报告类型;字典bus_executive_report（y 年报 s 季报 m 月报 d 日报）")
    /** 执行报告类型;字典bus_executive_report（y 年报 s 季报 m 月报 d 日报） */
    @Excel(name = "执行报告类型", readConverterExp = "Y=年报,S=季报,M=月报,d=日报")
    private String reportType;

    @ApiModelProperty(value = "执行报告时间;年：2023 季：20232(2023第二个季度) 月： 2023-02")
    /** 执行报告时间;年：2023 季：20232(2023第二个季度) 月： 2023-02 */
    @Excel(name = "执行报告时间")
    private String reportTime;

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

    @ApiModelProperty(value = "企业名称")
    /** 企业名称 */
    @Excel(name = "企业名称")
    @TableField(exist = false)
    private String factoryName;

    @ApiModelProperty(value = "行业类别名称")
    /** 行业类别名称 */
    @Excel(name = "行业类别名称")
    @TableField(exist = false)
    private String industryCategoryName;

    @ApiModelProperty(value = "区域名称")
    /** 区域名称 */
    @Excel(name = "区域名称")
    @TableField(exist = false)
    private String countryName;

    @ApiModelProperty(value = "排放类型;排放类型（1废气,2废水）")
    /** 排放类型;排放类型（1废气,2废水） */
    @Excel(name = "排放类型;排放类型", readConverterExp = "1=废气,2=废水")
    private String outletType;

    @ApiModelProperty(value = "排放口名称")
    /** 排放口名称 */
    @Excel(name = "排放口名称")
    private String outletName;


    @ApiModelProperty(value = "排放口编号")
    /** 排放口编号 */
    @Excel(name = "排放口编号")
    private String outletCode;


    @ApiModelProperty(value = "污染物名称")
    /** 污染物名称 */
    @Excel(name = "污染物名称")
    private String pollutantName;

    @ApiModelProperty(value = "污染物code")
    /** 污染物code */
    private String pollutantCode;


    @ApiModelProperty(value = "许可排放量（t）")
    /** 许可排放量（t） */
    @Excel(name = "许可排放量（t）")
    private BigDecimal permittedEmissions;


    @ApiModelProperty(value = "实际排放量（t）")
    /** 实际排放量（t） */
    @Excel(name = "实际排放量（t）")
    private BigDecimal actualEmissions;


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("reportType", getReportType())
            .append("reportTime", getReportTime())
            .append("factoryId", getFactoryId())
            .append("outletType", getOutletType())
            .append("outletName", getOutletName())
            .append("outletCode", getOutletCode())
            .append("pollutantName", getPollutantName())
            .append("pollutantCode", getPollutantCode())
            .append("permittedEmissions", getPermittedEmissions())
            .append("actualEmissions", getActualEmissions())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .toString();
    }
}
