package com.nantian.cloud.dbcapp.entity;

import com.baomidou.mybatisplus.annotation.*;
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;

/**
 * 延期接入企业-基本信息
 */
@Data
@TableName("access_enterprise_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "延期接入企业-基本信息")
public class AccessEnterpriseInfo extends Model<AccessEnterpriseInfo> {

    private static final long serialVersionUID = 1L;

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

    /**
     * 统一社会信用代码
     */
    private String enterpriseCode;

    /**
     * 是否是公共机构
     */
    private String isorg;

    /**
     * 机构类型
     */
    private String orgType;

    /**
     * 组织机构代码
     */
    private String orgCode;

    /**
     * 初设密码
     */
    private String password;

    /**
     * 单位名称
     */
    private String cmpName;

    /**
     * 地址
     */
    private String address;

    /**
     * 邮编
     */
    private String zipCode;

    /**
     * 法人代表
     */
    private String corporationName;

    /**
     * 行政区划代码，具体到县级
     */
    private String regionCode;

    @TableField(exist = false)
    private String regionName;

    /**
     * 营业执照
     */
    private String license;

    /**
     * 组织结构
     */
    private String organization;

    /**
     * 注册地址
     */
    private String registerAddress;

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

    /**
     * 注册资金，万元
     */
    private String registerPrincipal;

    /**
     * 单位类型
     */
    private String typeCode;

    /**
     * 行业编码
     */
    private String industryCode;

    /**
     * 领域编码
     */
    private String fieldCode;

    /**
     * 企业耗能级别
     */
    private String energyConsumeLevel;

    /**
     * 是否央企
     */
    private String center;

    /**
     * 是否能源加工转换类企业
     */
    private String jgzh;

    /**
     * 用能单位主要厂址中心纬度
     */
    private String latitude;

    /**
     * 用能单位主要厂址中心经度
     */
    private String longitude;

    /**
     * 联系电话(法人)
     */
    private String phone;

    /**
     * 传真
     */
    private String fax;

    /**
     * 电子邮箱（法人）
     */
    private String email;

    /**
     * 用能单位网站地址
     */
    //@TableField(strategy= FieldStrategy.IGNORED)
    private String webUrl;

    /**
     * 企业主要生产线名称
     */
    private String productionLine;

    /**
     * 企业主导产品
     */
    private String leadingProduct;

    /**
     * 集团名称
     */
    //@TableField(strategy= FieldStrategy.IGNORED)
    private String groupName;

    /**
     * 集团地址
     */
    //@TableField(strategy= FieldStrategy.IGNORED)
    private String groupAddress;

    /**
     * 申请时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date applyDate;

    /**
     * 审核时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date approvalDate;

    /**
     * 最近一次登陆时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastLoginDate;

    /**
     * 状态（1:“未启动”，2:“推迟”，3:“正在对接”，4:“已完成”）
     */
    private String state;

    /**
     * 企业能耗数据交换时间
     */
    private String uploadTime;

    /**
     * 备注
     */
    //@TableField(strategy= FieldStrategy.IGNORED)
    private String remark;

    private String checkUploadTime;

    /**
     * 是否可以上传
     */
    private String canUploadCountry;

    /**
     * 是否已上传过
     */
    private String uploadedCountry;

    /**
     * 用户id
     */
    private Integer userid;

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

    /**
     * 注销状态（1:未删除，4:已删除）
     */
    private String delFlag;

    /**
     * 部门id
     */
    private Integer deptId;

    /**
     * 通俗行业
     */
    private String tid;

    /**
     * 电网公司户号（总线）
     */
    private String eleNumber;

    /**
     * 能源管理负责人姓名
     */
    private String icsem;

    /**
     * 能源管理负责人电话
     */
    private String icsemTel;

    /**
     * 能源管理负人员姓名
     */
    private String staff;

    /**
     * 能源管理负人员电话
     */
    private String staffTel;

    /**
     * 组织机构代码
     */
    private String organizationCode;

    /**
     * 所属名单
     */
    private String reportNum;

    /**
     * 接入说明
     */
    private String accessNote;


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