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 com.fasterxml.jackson.annotation.JsonFormat;
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 java.util.Date;


/**
 * 企业排放信息-在线监测排放趋势-废水对象 b_main_emission_online_mon_water
 *
 * @author szhpt
 * @date 2023-01-31*/
@ApiModel(value = "企业排放信息-在线监测排放趋势-废水")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("b_main_emission_online_mon_water")
public class BMainEmissionOnlineMonWater 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 factoryName;


    @ApiModelProperty(value = "监测点位名称")
    /** 监测点位名称 */
    @Excel(name = "监测点位名称")
    private String monName;


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


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


    @ApiModelProperty(value = "排口类型")
    /** 排口类型 */
    @Excel(name = "排口类型")
    private String outletType;


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


    @ApiModelProperty(value = "监测时间")
    /** 监测时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "监测时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date monitoningTime;


    @ApiModelProperty(value = "浓度日均值")
    /** 浓度日均值 */
    @Excel(name = "浓度日均值")
    private String meanConcentrationDay;


    @ApiModelProperty(value = "浓度单位")
    /** 浓度单位 */
    @Excel(name = "浓度单位")
    private String meanUnit;


    @ApiModelProperty(value = "烟气流量(m3/h)")
    /** 烟气流量(m3/h) */
    @Excel(name = "烟气流量(m3/h)")
    private String flueGasFlowRate;


    @ApiModelProperty(value = "污染物排放量(kg)")
    /** 污染物排放量(kg) */
    @Excel(name = "污染物排放量(kg)")
    private String pollutionDischarge;


    @ApiModelProperty(value = "是否有效")
    /** 是否有效 */
    @Excel(name = "是否有效", readConverterExp="0=否,1=是")
    private String whetherEffective;


    @ApiModelProperty(value = "修约排放量(kg)")
    /** 修约排放量(kg) */
    @Excel(name = "修约排放量(kg)")
    private String revisingDischarge;


    @ApiModelProperty(value = "修约说明")
    /** 修约说明 */
    @Excel(name = "修约说明")
    private String revisingExplain;


    @ApiModelProperty(value = "纳入计算排放量(kg)")
    /** 纳入计算排放量(kg) */
    @Excel(name = "纳入计算排放量(kg)")
    private String inclusionCalculationDischarge;

    @ApiModelProperty(value = "标记说明：N正常  F停运  M维护/维修  S手工输入的设定值  D故障/断电  C校准  T超测量上限")
    @Excel(name = "标记说明")
    private String tagExplain;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("factoryId", getFactoryId())
            .append("factoryName", getFactoryName())
            .append("monName", getMonName())
            .append("pollutionCategory", getPollutionCategory())
            .append("outletCode", getOutletCode())
            .append("outletType", getOutletType())
            .append("pollutionType", getPollutionType())
            .append("monitoningTime", getMonitoningTime())
            .append("meanConcentrationDay", getMeanConcentrationDay())
            .append("meanUnit", getMeanUnit())
            .append("flueGasFlowRate", getFlueGasFlowRate())
            .append("pollutionDischarge", getPollutionDischarge())
            .append("whetherEffective", getWhetherEffective())
            .append("revisingDischarge", getRevisingDischarge())
            .append("revisingExplain", getRevisingExplain())
            .append("inclusionCalculationDischarge", getInclusionCalculationDischarge())
            .toString();
    }
}
