package cn.cecep.talroad.domain;


import cn.cecep.talroad.common.core.annotation.Excel;
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;

import java.util.List;


/**
 * 知识库-生态环境标准-分类对象 b_enterprise_ir_ees_type
 *
 * @author szhpt
 * @date 2023-03-14*/
@ApiModel(value = "知识库-生态环境标准-分类")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("b_enterprise_ir_ees_type")
public class BEnterpriseIrEesType
{
    private static final long serialVersionUID = 1L;


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


    @ApiModelProperty(value = "分类编码;主类编码以10开头，如水环境 101，大气环境102；子类编码为父类编码加序号如水环境质量10101，水污染物排放10102")
    /** 分类编码;主类编码以10开头，如水环境 101，大气环境102；子类编码为父类编码加序号如水环境质量10101，水污染物排放10102 */
    @Excel(name = "分类编码;主类编码以10开头，如水环境 101，大气环境102；子类编码为父类编码加序号如水环境质量10101，水污染物排放10102")
    private String eesClassify;


    @ApiModelProperty(value = "分类名称")
    /** 分类名称 */
    @Excel(name = "分类名称")
    private String eesType;


    @ApiModelProperty(value = "分类级别")
    /** 分类级别 */
    @Excel(name = "分类级别")
    private String eesName;


    @ApiModelProperty(value = "分类父编码，主类父编码默认为0")
    /** 分类父编码，主类父编码默认为0 */
    @Excel(name = "分类父编码，主类父编码默认为0")
    private String eesTitle;

    @TableField(exist = false)
    private List<BEnterpriseIrEesType> children;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("eesClassify", getEesClassify())
            .append("eesType", getEesType())
            .append("eesName", getEesName())
            .append("eesTitle", getEesTitle())
            .append("children", getChildren())
            .toString();
    }
}
