package cn.cecep.talroad.domain;


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;


/**
 * 污染排放跟踪(实际排放/许可排放)对象 pc_factory_pollutant_emissions_rank
 *
 * @author szhpt
 * @date 2023-02-10*/
@ApiModel(value = "污染排放跟踪(实际排放/许可排放)")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("pc_factory_pollutant_emissions_rank")
public class PcFactoryPollutantEmissionsRank extends BaseEntity
{
    private static final long serialVersionUID = 1L;


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


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


    @ApiModelProperty(value = "污染物类别")
    /** 污染物类别 */
    @Excel(name = "污染物类别")
    private String pollCategory;

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


    @ApiModelProperty(value = "排放量排名")
    /** 排放量排名 */
    @Excel(name = "排放量排名")
    private String emissionsRank;


    @ApiModelProperty(value = "实际排放量")
    /** 实际排放量 */
    @Excel(name = "实际排放量")
    private String emissionsActual;


    @ApiModelProperty(value = "许可排放量")
    /** 许可排放量 */
    @Excel(name = "许可排放量")
    private String emissionsPermit;


    @ApiModelProperty(value = "占比")
    /** 占比 */
    @Excel(name = "占比")
    private String emissionsRatio;

    @ApiModelProperty(value = "0-系统, 1-执行报告")
    /** 0-系统, 1-执行报告 */
    @Excel(name = "来源", readConverterExp = "0=系统,1=执行报告")
    private String dataSource;

    public PcFactoryPollutantEmissionsRank() {
    }

    public PcFactoryPollutantEmissionsRank(String factoryId, String pollCategory, String pollName, String emissionsRank, String emissionsActual, String emissionsPermit, String emissionsRatio, String dataSource) {
        this.factoryId = factoryId;
        this.pollCategory = pollCategory;
        this.pollName = pollName;
        this.emissionsRank = emissionsRank;
        this.emissionsActual = emissionsActual;
        this.emissionsPermit = emissionsPermit;
        this.emissionsRatio = emissionsRatio;
        this.dataSource = dataSource;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("factoryId", getFactoryId())
            .append("pollCategory", getPollCategory())
            .append("pollName", getPollName())
            .append("emissionsRank", getEmissionsRank())
            .append("emissionsActual", getEmissionsActual())
            .append("emissionsPermit", getEmissionsPermit())
            .append("emissionsRatio", getEmissionsRatio())
            .append("dataSource", getDataSource())
            .toString();
    }
}
