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.TableField;
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
 *
 * @author szhpt
 * @date 2023-01-11*/
@ApiModel(value = "企业基本信息")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("pc_factory")
public class PcFactory extends BaseEntity
{
    private static final long serialVersionUID = 1L;


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


    @ApiModelProperty(value = "排污单位名称")
    /** 排污单位名称 */
    @Excel(name = "排污单位名称")
    private String factoryName;


    @ApiModelProperty(value = "市编码")
    /** 市编码 */
    @Excel(name = "市编码")
    private String cityCode;


    @ApiModelProperty(value = "市名称")
    /** 市名称 */
    @Excel(name = "市名称")
    private String cityName;


    @ApiModelProperty(value = "县编码")
    /** 县编码 */
    @Excel(name = "县编码")
    private String countryCode;


    @ApiModelProperty(value = "县名称")
    /** 县名称 */
    @Excel(name = "县名称")
    private String countryName;


    @ApiModelProperty(value = "是否重点排污单位")
    /** 是否重点排污单位 */
    @Excel(name = "是否重点排污单位")
    private String wipollunit;


    @ApiModelProperty(value = "许可管理类别")
    /** 许可管理类别 */
    @Excel(name = "许可管理类别")
    private String licenseManType;


    @ApiModelProperty(value = "许可是否整改")
    /** 许可是否整改 */
    @Excel(name = "许可是否整改")
    private String licenseWabarbeitung;


    @ApiModelProperty(value = "绩效管控级别")
    /** 绩效管控级别 */
    @Excel(name = "绩效管控级别")
    private String preConLevel;


    @ApiModelProperty(value = "排污许可证编码")
    /** 排污许可证编码 */
    @Excel(name = "排污许可证编码")
    private String pollDisLicenseCode;


    @ApiModelProperty(value = "排污许可证有效期限")
    /** 排污许可证有效期限 */
    @Excel(name = "排污许可证有效期限")
    private String pollDisLicenseDeadline;


    @ApiModelProperty(value = "排污许可证发证机关")
    /** 排污许可证发证机关 */
    @Excel(name = "排污许可证发证机关")
    private String pollDisLicenseIssuing;


    @ApiModelProperty(value = "统一社会信用代码")
    /** 统一社会信用代码 */
    @Excel(name = "统一社会信用代码")
    private String uscCode;


    @ApiModelProperty(value = "组织机构代码")
    /** 组织机构代码 */
    @Excel(name = "组织机构代码")
    private String insFramCode;


    @ApiModelProperty(value = "注册地址")
    /** 注册地址 */
    @Excel(name = "注册地址")
    private String address;


    @ApiModelProperty(value = "生产经营场所地址")
    /** 生产经营场所地址 */
    @Excel(name = "生产经营场所地址")
    private String prodBusiOperation;


    @ApiModelProperty(value = "邮政编码")
    /** 邮政编码 */
    @Excel(name = "邮政编码")
    private String postalCode;


    @ApiModelProperty(value = "行业类别")
    /** 行业类别 */
    @Excel(name = "行业类别")
    private String industryCategory;


    @ApiModelProperty(value = "其他行业类别")
    /** 其他行业类别 */
    @Excel(name = "其他行业类别")
    private String industryCategoryOther;


    @ApiModelProperty(value = "是否投产")
    /** 是否投产 */
    @Excel(name = "是否投产")
    private String whetherProduction;


    @ApiModelProperty(value = "投产日期")
    /** 投产日期 */
    @Excel(name = "投产日期")
    private String productionDate;


    @ApiModelProperty(value = "生产经营场所中心经度")
    /** 生产经营场所中心经度 */
    @Excel(name = "生产经营场所中心经度")
    private String productionLon;


    @ApiModelProperty(value = "生产经营场所中心纬度")
    /** 生产经营场所中心纬度 */
    @Excel(name = "生产经营场所中心纬度")
    private String productionLat;


    @ApiModelProperty(value = "法定代表人（主要负责人）")
    /** 法定代表人（主要负责人） */
    @Excel(name = "法定代表人", readConverterExp = "主=要负责人")
    private String principalMan;


    @ApiModelProperty(value = "技术负责人")
    /** 技术负责人 */
    @Excel(name = "技术负责人")
    private String technicalMan;


    @ApiModelProperty(value = "固定电话")
    /** 固定电话 */
    @Excel(name = "固定电话")
    private String tel;


    @ApiModelProperty(value = "移动电话")
    /** 移动电话 */
    @Excel(name = "移动电话")
    private String mobileTelephone;


    @ApiModelProperty(value = "所在地是否属于大气重点控制区")
    /** 所在地是否属于大气重点控制区 */
    @Excel(name = "所在地是否属于大气重点控制区")
    private String whetherLocalKeyAri;


    @ApiModelProperty(value = "所在地是否属于总磷控制区")
    /** 所在地是否属于总磷控制区 */
    @Excel(name = "所在地是否属于总磷控制区")
    private String whetherLocalKeyPho;


    @ApiModelProperty(value = "所在地是否属于总氮控制区")
    /** 所在地是否属于总氮控制区 */
    @Excel(name = "所在地是否属于总氮控制区")
    private String whetherLocalKeyNitrogen;


    @ApiModelProperty(value = "所在地是否属于重金属污染物特别排放限值实施区域")
    /** 所在地是否属于重金属污染物特别排放限值实施区域 */
    @Excel(name = "所在地是否属于重金属污染物特别排放限值实施区域")
    private String whetherLocalKeyPollArea;


    @ApiModelProperty(value = "是否位于工业园区")
    /** 是否位于工业园区 */
    @Excel(name = "是否位于工业园区")
    private String whetherLocalPark;


    @ApiModelProperty(value = "是否有环评审批文件")
    /** 是否有环评审批文件 */
    @Excel(name = "是否有环评审批文件")
    private String whetherReviewFile;


    @ApiModelProperty(value = "是否有地方政府对违规项目的认定或备案文件")
    /** 是否有地方政府对违规项目的认定或备案文件 */
    @Excel(name = "是否有地方政府对违规项目的认定或备案文件")
    private String whetherGovProFile;


    @ApiModelProperty(value = "环境影响评价审批文件文号或备案编号")
    /** 环境影响评价审批文件文号或备案编号 */
    @Excel(name = "环境影响评价审批文件文号或备案编号")
    private String environmentalCode;


    @ApiModelProperty(value = "地方政府对违规项目的认定或备案文件文号")
    /** 地方政府对违规项目的认定或备案文件文号 */
    @Excel(name = "地方政府对违规项目的认定或备案文件文号")
    private String govProIdentFile;


    @ApiModelProperty(value = "主要污染物总量分配计划文件文号")
    /** 主要污染物总量分配计划文件文号 */
    @Excel(name = "主要污染物总量分配计划文件文号")
    private String majorPollutantsCode;


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


    @ApiModelProperty(value = "大气主要污染物种类")
    /** 大气主要污染物种类 */
    @Excel(name = "大气主要污染物种类")
    private String airMainPollutants;


    @ApiModelProperty(value = "大气污染物排放规律")
    /** 大气污染物排放规律 */
    @Excel(name = "大气污染物排放规律")
    private String airEmissionPollutants;


    @ApiModelProperty(value = "大气污染物排放执行标准")
    /** 大气污染物排放执行标准 */
    @Excel(name = "大气污染物排放执行标准")
    private String airDischargePollutants;


    @ApiModelProperty(value = "废水主要污染物种类")
    /** 废水主要污染物种类 */
    @Excel(name = "废水主要污染物种类")
    private String waterMainPollutants;


    @ApiModelProperty(value = "废水污染物排放规律")
    /** 废水污染物排放规律 */
    @Excel(name = "废水污染物排放规律")
    private String waterEmissionPollutants;


    @ApiModelProperty(value = "废水污染物排放执行标准")
    /** 废水污染物排放执行标准 */
    @Excel(name = "废水污染物排放执行标准")
    private String waterDischargePollutants;


    @ApiModelProperty(value = "排污权使用和交易信息")
    /** 排污权使用和交易信息 */
    @Excel(name = "排污权使用和交易信息")
    private String useTradingEmission;


    @ApiModelProperty(value = "委托贮存/利用/处置环节污染防控技术要求")
    /** 委托贮存/利用/处置环节污染防控技术要求 */
    @Excel(name = "委托贮存/利用/处置环节污染防控技术要求")
    private String sudLinksPollutionPrevention;

    @ApiModelProperty(value = "工业园区名称")
    /** 工业园区名称 */
    @Excel(name = "工业园区名称")
    private String industrialParkName;

    @ApiModelProperty(value = "工业园区编码")
    /** 工业园区编码 */
    @Excel(name = "工业园区编码")
    private String industrialParkCode;

    @ApiModelProperty(value = "是否有主要污染物总量分配计划文件")
    /** 是否有主要污染物总量分配计划文件 */
    @Excel(name = "是否有主要污染物总量分配计划文件")
    private String pollutantTotalFileWhere;

    @ApiModelProperty(value = "总许可量-备注信息")
    private String mainAllowableRemark;

    @ApiModelProperty(value = "生态环境信用类别")
    private String ecoEnvCreditLevel;

    @ApiModelProperty(name = "行业名称")
    @TableField(exist = false)
    private String indusName;
    @ApiModelProperty(name = "生产状态,1表示在生产、2表示部分生产、0表示停产")
    private String productionStatus;

    @ApiModelProperty(name = "分数")
    private Integer score;
    @ApiModelProperty(name = "排污许可行业名称")
    private String industryPermissionName;
    @ApiModelProperty(name = "重点排污单位类型")
    private String wipollunitType;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("factoryName", getFactoryName())
            .append("cityCode", getCityCode())
            .append("cityName", getCityName())
            .append("countryCode", getCountryCode())
            .append("countryName", getCountryName())
            .append("wipollunit", getWipollunit())
            .append("licenseManType", getLicenseManType())
            .append("licenseWabarbeitung", getLicenseWabarbeitung())
            .append("preConLevel", getPreConLevel())
            .append("pollDisLicenseCode", getPollDisLicenseCode())
            .append("pollDisLicenseDeadline", getPollDisLicenseDeadline())
            .append("pollDisLicenseIssuing", getPollDisLicenseIssuing())
            .append("uscCode", getUscCode())
            .append("insFramCode", getInsFramCode())
            .append("address", getAddress())
            .append("prodBusiOperation", getProdBusiOperation())
            .append("postalCode", getPostalCode())
            .append("industryCategory", getIndustryCategory())
            .append("industryCategoryOther", getIndustryCategoryOther())
            .append("whetherProduction", getWhetherProduction())
            .append("productionDate", getProductionDate())
            .append("productionLon", getProductionLon())
            .append("productionLat", getProductionLat())
            .append("principalMan", getPrincipalMan())
            .append("technicalMan", getTechnicalMan())
            .append("tel", getTel())
            .append("mobileTelephone", getMobileTelephone())
            .append("whetherLocalKeyAri", getWhetherLocalKeyAri())
            .append("whetherLocalKeyPho", getWhetherLocalKeyPho())
            .append("whetherLocalKeyNitrogen", getWhetherLocalKeyNitrogen())
            .append("whetherLocalKeyPollArea", getWhetherLocalKeyPollArea())
            .append("whetherLocalPark", getWhetherLocalPark())
            .append("whetherReviewFile", getWhetherReviewFile())
            .append("whetherGovProFile", getWhetherGovProFile())
            .append("environmentalCode", getEnvironmentalCode())
            .append("govProIdentFile", getGovProIdentFile())
            .append("majorPollutantsCode", getMajorPollutantsCode())
            .append("majorPollutantCategories", getMajorPollutantCategories())
            .append("airMainPollutants", getAirMainPollutants())
            .append("airEmissionPollutants", getAirEmissionPollutants())
            .append("airDischargePollutants", getAirDischargePollutants())
            .append("waterMainPollutants", getWaterMainPollutants())
            .append("waterEmissionPollutants", getWaterEmissionPollutants())
            .append("waterDischargePollutants", getWaterDischargePollutants())
            .append("useTradingEmission", getUseTradingEmission())
            .append("sudLinksPollutionPrevention", getSudLinksPollutionPrevention())
            .append("industrialParkName", getIndustrialParkName())
            .append("industrialParkCode", getIndustrialParkCode())
            .append("pollutantTotalFileWhere", getPollutantTotalFileWhere())
            .append("ecoEnvCreditLevel", getEcoEnvCreditLevel())
            .append("score", getScore())
            .toString();
    }
}
