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;


/**
 * 排污口对象 m_supermonitor_drain_outlet
 *
 * @author szhpt
 * @date 2023-01-10*/
@ApiModel(value = "排污口")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("m_supermonitor_drain_outlet")
public class SupermonitorDrainOutlet extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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


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


    @ApiModelProperty(value = "排口id")
    /** 排口id*/
    @Excel(name = "排口id")
    private String outletId;


    @ApiModelProperty(value = "排放口类型（1入河、2雨水）")
    /** 排放口类型（入河、雨水）*/
    @Excel(name = "排放口类型", readConverterExp = "入=河、雨水")
    private String outletType;


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

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

    @ApiModelProperty(value = "入河排污口批复文号")
    /** 入河排污口批复文号*/
    @Excel(name = "入河排污口批复文号")
    private String approvalDocument;


    @ApiModelProperty(value = "其他信息")
    /** 其他信息*/
    @Excel(name = "其他信息")
    private String otherInformation;


    @ApiModelProperty(value = "排放口地理位置-经度")
    /** 排放口地理位置-经度*/
    @Excel(name = "排放口地理位置-经度")
    private String lon;


    @ApiModelProperty(value = "排放口地理位置-纬度")
    /** 排放口地理位置-纬度*/
    @Excel(name = "排放口地理位置-纬度")
    private String lat;


    @ApiModelProperty(value = "排水去向")
    /** 排水去向*/
    @Excel(name = "排水去向")
    private String drainageTo;


    @ApiModelProperty(value = "排放规律")
    /** 排放规律*/
    @Excel(name = "排放规律")
    private String emissionsLaws;


    @ApiModelProperty(value = "间歇式排放时间段")
    /** 间歇式排放时间段*/
    @Excel(name = "间歇式排放时间段")
    private String intermittentEmissionPeriod;


    @ApiModelProperty(value = "受纳自然水体信息-名称")
    /** 受纳自然水体信息-名称*/
    @Excel(name = "受纳自然水体信息-名称")
    private String receivingWaterName;


    @ApiModelProperty(value = "受纳自然水体信息-功能目标")
    /** 受纳自然水体信息-功能目标*/
    @Excel(name = "受纳自然水体信息-功能目标")
    private String receivingWaterObjective;


    @ApiModelProperty(value = "汇入受纳自然水体处地理坐标-经度")
    /** 汇入受纳自然水体处地理坐标-经度*/
    @Excel(name = "汇入受纳自然水体处地理坐标-经度")
    private String receivingWaterLon;


    @ApiModelProperty(value = "汇入受纳自然水体处地理坐标-纬度")
    /** 汇入受纳自然水体处地理坐标-纬度*/
    @Excel(name = "汇入受纳自然水体处地理坐标-纬度")
    private String receivingWaterLat;

    @ApiModelProperty(value = "入河口名称")
    /** 入河口名称*/
    @Excel(name = "入河口名称")
    private String riversOutletName;

    @ApiModelProperty(value = "入河口编号")
    /** 入河口编号*/
    @Excel(name = "入河口编号")
    private String riversOutletCode;


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("factoryId", getFactoryId())
            .append("outletId", getOutletId())
            .append("outletType", getOutletType())
            .append("outletCode", getOutletCode())
            .append("outletName", getOutletName())
            .append("approvalDocument", getApprovalDocument())
            .append("otherInformation", getOtherInformation())
            .append("lon", getLon())
            .append("lat", getLat())
            .append("drainageTo", getDrainageTo())
            .append("emissionsLaws", getEmissionsLaws())
            .append("intermittentEmissionPeriod", getIntermittentEmissionPeriod())
            .append("receivingWaterName", getReceivingWaterName())
            .append("receivingWaterObjective", getReceivingWaterObjective())
            .append("receivingWaterLon", getReceivingWaterLon())
            .append("receivingWaterLat", getReceivingWaterLat())
            .append("riversOutletName", getRiversOutletName())
            .append("riversOutletCode", getRiversOutletCode())
            .toString();
    }
}
