package com.chinaweal.aiccs.aiccs.abnormal.entity;

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.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author Lee
 * @since 2021-03-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(schema = "aiccs", value = "e_baseinfo")
//@TableName("e_baseinfo")
public class EBaseinfo extends Model<EBaseinfo> {

    private static final long serialVersionUID = 1L;

    /**
     * 主体身份代码
     */
    @TableId("PRIPID")
    @ApiModelProperty(value = "主体身份代码")
    private String pripid;

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

    /**
     * 企业（机构）名称
     */
    @TableField("ENTNAME")
    @ApiModelProperty(value = "企业（机构）名称")
    private String entname;

    /**
     * 注册号
     */
    @TableField("REGNO")
    @ApiModelProperty(value = "注册号")
    private String regno;

    /**
     * 市场主体类型
     */
    @TableField("ENTTYPE")
    @ApiModelProperty(value = "市场主体类型")
    private String enttype;

    /**
     * 市场主体类型（中文名称）
     */
    @TableField("ENTTYPE_CN")
    @ApiModelProperty(value = "市场主体类型（中文名称）")
    private String enttypeCn;

    /**
     * 行业门类
     */
    @TableField("INDUSTRYPHY")
    @ApiModelProperty(value = "行业门类")
    private String industryphy;

    /**
     * 行业代码
     */
    @TableField("INDUSTRYCO")
    @ApiModelProperty(value = "行业代码")
    private String industryco;

    /**
     * 成立日期
     */
    @TableField("ESTDATE")
    @ApiModelProperty(value = "成立日期")
    private String estdate;

    /**
     * 登记机关
     */
    @TableField("REGORG")
    @ApiModelProperty(value = "登记机关")
    private String regorg;

    /**
     * 登记机关（中文名称）
     */
    @TableField("REGORG_CN")
    @ApiModelProperty(value = "登记机关（中文名称）")
    private String regorgCn;

    /**
     * 业务范围类型
     */
    @TableField("OPSCOTYPE")
    @ApiModelProperty(value = "业务范围类型")
    private String opscotype;

    /**
     * 业务范围类型（中文名称）
     */
    @TableField("OPSCOTYPE_CN")
    @ApiModelProperty(value = "业务范围类型（中文名称）")
    private String opscotypeCn;

    /**
     * 经营范围
     */
    @TableField("OPSCOPE")
    @ApiModelProperty(value = "经营范围")
    private String opscope;

    /**
     * 经营(驻在)期限自
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    @TableField("OPFROM")
    @ApiModelProperty(value = "经营(驻在)期限自")
    private LocalDate opfrom;

    /**
     * 经营(驻在)期限至
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    @TableField("OPTO")
    @ApiModelProperty(value = "经营(驻在)期限至")
    private LocalDate opto;

    /**
     * 登记状态
     */
    @TableField("REGSTATE")
    @ApiModelProperty(value = "登记状态")
    private String regstate;

    /**
     * 登记状态（中文名称）
     */
    @TableField("REGSTATE_CN")
    @ApiModelProperty(value = "登记状态（中文名称）")
    private String regstateCn;

    /**
     * 住所所在行政区划
     */
    @TableField("DOMDISTRICT")
    @ApiModelProperty(value = "住所所在行政区划")
    private String domdistrict;

    /**
     * 住所
     */
    @TableField("DOM")
    @ApiModelProperty(value = "住所")
    private String dom;

    /**
     * 注册资本(金)
     */
    @TableField("REGCAP")
    @ApiModelProperty(value = "注册资本(金)")
    private BigDecimal regcap;

    /**
     * 注册资本(金)币种
     */
    @TableField("REGCAPCUR")
    @ApiModelProperty(value = "注册资本(金)币种")
    private String regcapcur;

    /**
     * 注册资本(金)币种（中文名称）
     */
    @TableField("REGCAPCUR_CN")
    @ApiModelProperty(value = "注册资本(金)币种（中文名称）")
    private String regcapcurCn;

    /**
     * 注册资本(金)折万美元
     */
    @TableField("REGCAPUSD")
    @ApiModelProperty(value = "注册资本(金)折万美元")
    private BigDecimal regcapusd;

    /**
     * 实收资本
     */
    @TableField("RECCAP")
    @ApiModelProperty(value = "实收资本")
    private BigDecimal reccap;

    /**
     * 实收资本折万美元
     */
    @TableField("RECCAPUSD")
    @ApiModelProperty(value = "实收资本折万美元")
    private BigDecimal reccapusd;

    /**
     * 国别(地区)
     */
    @TableField("COUNTRY")
    @ApiModelProperty(value = "国别(地区)")
    private String country;

    /**
     * 从业人员/农专成员总数
     */
    @TableField("EMPNUM")
    @ApiModelProperty(value = "从业人员/农专成员总数")
    private BigDecimal empnum;

    /**
     * 是否城镇
     */
    @TableField("TOWN")
    @ApiModelProperty(value = "是否城镇")
    private String town;

    /**
     * 法定代表人
     */
    @TableField("NAME")
    @ApiModelProperty(value = "法定代表人")
    private String name;

    /**
     * 统计企业类型
     */
    @TableField("REPORTTYPE")
    @ApiModelProperty(value = "统计企业类型")
    private String reporttype;

    /**
     * 核准日期
     */
    @TableField("APPRDATE")
    @ApiModelProperty(value = "核准日期")
    private LocalDate apprdate;

    /**
     * 数据汇总单位
     */
    @ApiModelProperty(value = "数据汇总单位")
    private String sExtFromnode;

    /**
     * 数据汇总时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss")
    @TableField("s_Ext_Datatime")
    @ApiModelProperty(value = "数据汇总时间")
    private LocalDateTime sExtDatatime;


    /**
     * 国民行业经济名称(名称)
     */
    @ApiModelProperty(value = "国民行业经济名称(名称)")
    private String industryName;

    /**
     * 核查日期
     */
    @ApiModelProperty(value = "核查日期")
    private String revDate;

    /**
     * 电话
     */
    @ApiModelProperty(value = "电话")
    private String phone;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱")
    private String email;

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

    /**
     * 官网
     */
    @ApiModelProperty(value = "官网")
    private String website;

    /**
     * 监管机关
     */
    @TableField("regulatory")
    @ApiModelProperty(value = "监管机关")
    private String regulatory;

    /**
     * 监管机关（名称）
     */
    @ApiModelProperty(value = "监管机关（名称）")
    private String regulatoryName;

    /**
     * 营业期限（开始）
     */
    @ApiModelProperty(value = "营业期限（开始）")
    private String openFrom;

    /**
     * 营业期限（结束）
     */
    @ApiModelProperty(value = "营业期限（结束）")
    private String openTo;

    /**
     * 风险评分
     */
    @ApiModelProperty(value = "风险评分")
    private Integer score;

    /**
     * 风险等级
     */
    @ApiModelProperty(value = "风险等级")
    private String level;

    /**
     * 更新人
     */
    private String updateBy;

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

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 信用标签
     */
    @ApiModelProperty(value = "信用标签")
    private String label;

    /**
     * 分支机构
     */
    @ApiModelProperty(value = "分支机构")
    private String branch;

    /**
     * 对外投资
     */
    @ApiModelProperty(value = "对外投资")
    private String investment;

    /**
     * 字号名称
     */
    @ApiModelProperty(value = "字号名称")
    private String traname;

    /**
     * 资金数额
     */
    @ApiModelProperty(value = "资金数额")
    private BigDecimal fundam;

    /**
     * 组成形式
     */
    @ApiModelProperty(value = "组成形式")
    private String compform;

    /**
     * 组成形式（中文名称）
     */
    @ApiModelProperty(value = "组成形式（中文名称）")
    private String compformCn;

    /**
     * 属地监管工商所
     */
    @ApiModelProperty(value = "属地监管工商所")
    private String localadm;

    /**
     * 经营场所所在行政区划
     */
    @ApiModelProperty(value = "经营场所所在行政区划")
    private String oplocdistrict;

    /**
     * 经营场所
     */
    @ApiModelProperty(value = "经营场所")
    private String oploc;

    /**
     * 经营场所联系电话
     */
    @ApiModelProperty(value = "经营场所联系电话")
    private String tel;

    /**
     * 经营场所邮政编码
     */
    @ApiModelProperty(value = "经营场所邮政编码")
    private String postalcode;

    /**
     * 辖区
     */
    @ApiModelProperty(value = "辖区")
    private String region;

    /**
     * 街道长名称（地区+街道名）
     */
    @ApiModelProperty(value = "街道长名称（地区+街道名）")
    private String streetLong;

    /**
     * 街道名称
     */
    @ApiModelProperty(value = "街道名称")
    private String streetName;

    /**
     * 主体状态(市标)
     */
    @ApiModelProperty(value = "主体状态(市标)")
    @TableField("ENTSTATUS")
    private String entStatus;

    /**
     * 主体状态字符串
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "主体状态字符串")
    private String entStatusStr;


    /**
     * 片区
     */
    @TableField("SAREACODE_JX")
    private String sareacodeJx;

    /**
     * 片区中文
     */
    @TableField("SAREANAME_JX")
    private String sareanameJx;

    /**
     *
     */
    @TableField("SAREACODE_JXMX")
    private String sareacodeJxmx;

    /**
     *
     */
    @TableField("SAREANAME_JXMX")
    private String sareanameJxmx;

    /**
     * 登记机关转换后的机构代码
     */
    @TableField("ACCEPTREGORG")
    private String acceptRegorg;

    /**
     * 登记机关转换后的机构中文
     */
    @TableField("ACCEPTREGORG_CN")
    private String acceptregorgCn;

    /**
     * 法人名称
     */
    @TableField("LEREP")
    private String lerep;

    /**
     * 法人证件类型
     */
    @TableField("CERTYPE")
    private String certype;

    /**
     * 法人证件号码
     */
    @TableField("CERNO")
    private String cerno;

    /**
     * 属地监管所
     */
    @TableField("SUPORG")
    private String suporg;

    /**
     * 属地监管所中文
     */
    @TableField("SUPORG_CN")
    private String suporgCn;

    /**
     * 片区代码暂存
     */
    @TableField("sareacode_temp")
    private String sareacodeTemp;

    /**
     * 片区名称暂存
     */
    @TableField("sareaname_temp")
    private String sareanameTemp;

    /**
     * 监管机关暂存字段
     */
    @TableField("regulatory_temp")
    private String regulatoryTemp;

    /**
     * 监管机关名称暂存字段
     */
    @TableField("regulatory_name_temp")
    private String regulatoryNameTemp;


    @ApiModelProperty("查询统一社会信用代码/注册码")
    @TableField(exist = false)
    private String searchUscc;

    /**
     * 修改后的属地机关编号
     */
    @ApiModelProperty(value = "修改后的属地机关编号")
    @TableField(exist = false)
    private String afterDeptid;

    /**
     * 退认领id
     */
    @TableField("assign_id")
    private String assignId;

    @TableField(exist = false)
    private String reportYear;

    @Override
    protected Serializable pkVal() {
        return this.pripid;
    }

    @ApiModelProperty(value = "企业类型，企业：company 个体户：individual 农专：farmer")
    @TableField(exist = false)
    private String enterType;

}
