package com.nantian.cloud.jljc.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * 报表1-1企业信息
 * @since 2020-09-16
 * @author stz
 */
@Data
@TableName("t_report_enterprise")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "报表1-1企业信息")
public class TReportEnterprise extends Model<TReportEnterprise> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id")
    @ApiModelProperty(value = "id")
    private Long id;

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

    /**
     * 年度
     */
    @ApiModelProperty(value = "年度")
    private String year;

    /**
     * 企业名称
     */
    @ApiModelProperty(value = "企业名称")
    private String enterpriseName;

    /**
     * 密码
     */
    @ApiModelProperty(value = "密码")
    private String password;

    /**
     * 领域编码（100：工业，200：交通运输、仓储和邮政业，300：住宿和 餐饮业，400：批发和零售业，500：教育，600：其他）
     */
    @ApiModelProperty(value = "领域编码（100：工业，200：交通运输、仓储和邮政业，300：住宿和 餐饮业，400：批发和零售业，500：教育，600：其他）")
    private String field;

    /**
     * 地区（dict_region表的id）
     */
    @ApiModelProperty(value = "地区（dict_region表的id）")
    private String parea;

    /**
     * 地区2（dict_region表的id）
     */
    @ApiModelProperty(value = "地区2（dict_region表的id）")
    private String area;

    /**
     * 行业（trade_kind表的code）
     */
    @ApiModelProperty(value = "行业（trade_kind表的code）")
    private String ptrade;

    /**
     * 行业2（trade_kind表的code）
     */
    @ApiModelProperty(value = "行业2（trade_kind表的code）")
    private String trade;

    /**
     * 单位类型（dict_enterprise_type表的id）
     */
    @ApiModelProperty(value = "（dict_enterprise_type表的id）")
    private String enterpriseType;

    /**
     * 法人代表姓名
     */
    @ApiModelProperty(value = "法人代表姓名")
    private String corporationName;

    /**
     * 法人单位代码
     */
    @ApiModelProperty(value = "法人单位代码")
    private String corporationUnitCode;

    /**
     * 注册日期
     */
    @ApiModelProperty(value = "注册日期")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd", timezone = "GMT+8")
    private Date registerDate;

    /**
     * 注册资金，万元
     */
    @ApiModelProperty(value = "注册资金，万元")
    private String registerPrincipal;

    /**
     * 单位联系电话
     */
    @ApiModelProperty(value = "单位联系电话")
    private String telephone;

    /**
     * 是否央企（1：是，2：否）
     */
    @ApiModelProperty(value = "是否央企（1：是，2：否）")
    private String center;

    /**
     * 所属央企集团名称
     */
    @ApiModelProperty(value = "所属央企集团名称")
    private String centerName;

    /**
     * 单位地址
     */
    @ApiModelProperty(value = "单位地址")
    private String address;

    /**
     * 地理坐标
     */
    @ApiModelProperty(value = "地理坐标")
    private String geographicalCoordinates;

    /**
     * 企业网址
     */
    @ApiModelProperty(value = "企业网址")
    private String website;

    /**
     * 邮编
     */
    @ApiModelProperty(value = "邮编")
    private String zipCode;

    /**
     * 行政区划代码，具体到县级
     */
    @ApiModelProperty(value = "行政区划代码，具体到县级")
    private String regionCode;

    /**
     * 填报人电子邮箱
     */
    @ApiModelProperty(value = "填报人电子邮箱")
    private String email;

    /**
     * 能源管理机构名称
     */
    @ApiModelProperty(value = "能源管理机构名称")
    private String energyControlName;

    /**
     * 机构电话或传真（区号）
     */
    @ApiModelProperty(value = "机构电话或传真（区号）")
    private String fax;

    /**
     * 单位主管节能领导姓名
     */
    @ApiModelProperty(value = "单位主管节能领导姓名")
    private String leader;

    /**
     * 单位主管节能领导联系电话
     */
    @ApiModelProperty(value = "单位主管节能领导联系电话")
    private String leaderTel;

    /**
     * 单位主管节能领导职务
     */
    @ApiModelProperty(value = "单位主管节能领导职务")
    private String leaderJob;

    /**
     * 能源管理负责人姓名
     */
    @ApiModelProperty(value = "能源管理负责人姓名")
    private String icsem;

    /**
     * 能源管理负责人手机
     */
    @ApiModelProperty(value = "能源管理负责人手机")
    private String icsemTel;

    /**
     * 能源管理负责人培训号
     */
    @ApiModelProperty(value = "能源管理负责人培训号")
    private String icsemTrainNum;

    /**
     * 能源管理师证号
     */
    @ApiModelProperty(value = "能源管理师证号")
    private String icsemCertificate;

    /**
     * 能源管理负人员姓名
     */
    @ApiModelProperty(value = "能源管理负人员姓名")
    private String staff;

    /**
     * 能源管理负人员手机
     */
    @ApiModelProperty(value = "能源管理负人员手机")
    private String staffTel;

    /**
     * 能源管理负人员培训号
     */
    @ApiModelProperty(value = "能源管理负人员培训号")
    private String staffTrainNum;

    /**
     * 是否通过能源管理体系认证（1：是，2：否）
     */
    @ApiModelProperty(value = "是否通过能源管理体系认证（1：是，2：否）")
    private String certificate;

    /**
     * 是否有加工环节（1：是，2：否）
     */
    @ApiModelProperty(value = "是否有加工环节（1：是，2：否）")
    private String processingLink;

    /**
     * 加工环节信息json
     */
    @ApiModelProperty(value = "加工环节信息json")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String processingLinkJson;

    /**
     * 通过认证日期
     */
    @ApiModelProperty(value = "通过认证日期")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd", timezone = "GMT+8")
    private Date certificateDate;

    /**
     * 认证机构
     */
    @ApiModelProperty(value = "认证机构")
    private String certificateOrgan;

    /**
     * 企业类别信息id集合，分号隔开
     */
    @ApiModelProperty(value = "企业类别信息id集合，分号隔开")
    private String epcType;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private Integer userid;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 注销状态（1：未删除，4：已删除）
     */
    @ApiModelProperty(value = "注销状态（1：未删除，4：已删除）")
    private String delFlag;

    /**
     * 部门id
     */
    @ApiModelProperty(value = "部门id")
    private Integer deptId;

    /**
     * 产品信息Json
     */
    @ApiModelProperty(value = "产品信息Json")
    private String productinfos;

    /**
     * 指标信息Json
     */
    @ApiModelProperty(value = "指标信息Json")
    private String indicators;

    /**
     * 用能种类Json
     */
    @ApiModelProperty(value = "用能种类Json")
    private String energyTypes;

    /**
     *  报表信息id
     */
    @ApiModelProperty(value = "报表信息id")
    private Long reportId;

    /**
     * 主键值
     */
    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
