package com.zksy.data.domain.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

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

/**
 * 企业年报基本信息表
 * @TableName xcr_annual_report_base_info
 */
@TableName(value ="xcr_annual_report_base_info")
@Data
public class XcrAnnualReportBaseInfo extends BasePo implements Serializable {
    @TableField("ANCHEID")
    @JsonProperty("ANCHEID")
    private String ancheid;  // 年报ID

    @TableField("PRIPID")
    @JsonProperty("PRIPID")
    private String pripid;  // 主体身份代码

    @TableField("ANCHEDATE")
    @JsonProperty("ANCHEDATE")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date anchedate;  // 年报时间

    @TableField("ANCHEYEAR")
    @JsonProperty("ANCHEYEAR")
    private String ancheyear;  // 年报年度

    @TableField("REGNO")
    @JsonProperty("REGNO")
    private String regno;  // 注册号

    @TableField("UNISCID")
    @JsonProperty("UNISCID")
    private String uniscid;  // 统一社会信用代码

    @TableField("ENTNAME")
    @JsonProperty("ENTNAME")
    private String entname;  // 企业（机构）名称

    @TableField("ENTTYPE")
    @JsonProperty("ENTTYPE")
    private String enttype;  // 市场主体类型

    @TableField("TEL")
    @JsonProperty("TEL")
    private String tel;  // 企业联系电话

    @TableField("ADDR")
    @JsonProperty("ADDR")
    private String addr;  // 企业通信地址

    @TableField("POSTALCODE")
    @JsonProperty("POSTALCODE")
    private String postalcode;  // 邮政编码

    @TableField("EMAIL")
    @JsonProperty("EMAIL")
    private String email;  // 电子邮箱

    @TableField("BUSST")
    @JsonProperty("BUSST")
    private String busst;  // 经营状态

    @TableField("BUSST_CN")
    @JsonProperty("BUSST_CN")
    private String busstCn;  // 经营状态（中文名称）

    @TableField("EMPNUM")
    @JsonProperty("EMPNUM")
    private Long empnum;  // 从业人数

    @TableField("EMPNUMDIS")
    @JsonProperty("EMPNUMDIS")
    private String empnumdis;  // 从业人数是否公示

    @TableField("ANTYPE")
    @JsonProperty("ANTYPE")
    private String antype;  // 企业年报类别

    @TableField("COLGRANUM")
    @JsonProperty("COLGRANUM")
    private Long colgranum;  // 其中高校毕业生人数(经营者)

    @TableField("COLEMPLNUM")
    @JsonProperty("COLEMPLNUM")
    private Long colemplnum;  // 其中高校毕业生人数(雇工)

    @TableField("RETSOLNUM")
    @JsonProperty("RETSOLNUM")
    private Long retsolnum;  // 其中退役士兵人数(经营者)

    @TableField("RETEMPLNUM")
    @JsonProperty("RETEMPLNUM")
    private Long retemplnum;  // 其中退役士兵人数(雇工)

    @TableField("DISPERNUM")
    @JsonProperty("DISPERNUM")
    private Long dispernum;  // 其中残疾人人数(经营者)

    @TableField("DISEMPLNUM")
    @JsonProperty("DISEMPLNUM")
    private Long disemplnum;  // 其中残疾人人数(雇工)

    @TableField("UNENUM")
    @JsonProperty("UNENUM")
    private Long unenum;  // 其中失业人员再就业人数(经营者)

    @TableField("UNEEMPLNUM")
    @JsonProperty("UNEEMPLNUM")
    private Long uneemplnum;  // 其中失业人员再就业人数(雇工)

    @TableField("DEPENDENTENTNAME")
    @JsonProperty("DEPENDENTENTNAME")
    private String dependententname;  // 隶属企业名称

    @TableField("ASSGRO")
    @JsonProperty("ASSGRO")
    private BigDecimal assgro;  // 资产总额

    @TableField("ASSGRODIS")
    @JsonProperty("ASSGRODIS")
    private String assgrodis;  // 资产总额是否公示

    @TableField("LIAGRO")
    @JsonProperty("LIAGRO")
    private BigDecimal liagro;  // 负债总额

    @TableField("LIAGRODIS")
    @JsonProperty("LIAGRODIS")
    private String liagrodis;  // 负债总额是否公示

    @TableField("VENDINC")
    @JsonProperty("VENDINC")
    private BigDecimal vendinc;  // 营业总收入

    @TableField("VENDINCDIS")
    @JsonProperty("VENDINCDIS")
    private String vendincdis;  // 营业总收入是否公示

    @TableField("MAIBUSINC")
    @JsonProperty("MAIBUSINC")
    private BigDecimal maibusinc;  // 其中主营业务收入

    @TableField("MAIBUSINCDIS")
    @JsonProperty("MAIBUSINCDIS")
    private String maibusincdis;  // 其中主营业务收入是否公示

    @TableField("PROGRO")
    @JsonProperty("PROGRO")
    private BigDecimal progro;  // 利润总额

    @TableField("PROGRODIS")
    @JsonProperty("PROGRODIS")
    private String progrodis;  // 利润总额是否公示

    @TableField("NETINC")
    @JsonProperty("NETINC")
    private BigDecimal netinc;  // 净利润

    @TableField("NETINCDIS")
    @JsonProperty("NETINCDIS")
    private String netincdis;  // 净利润是否公示

    @TableField("RATGRO")
    @JsonProperty("RATGRO")
    private BigDecimal ratgro;  // 纳税总额

    @TableField("RATGRODIS")
    @JsonProperty("RATGRODIS")
    private String ratgrodis;  // 纳税总额是否公示

    @TableField("TOTEQU")
    @JsonProperty("TOTEQU")
    private BigDecimal totequ;  // 所有者权益合计

    @TableField("TOTEQUDIS")
    @JsonProperty("TOTEQUDIS")
    private String totequdis;  // 所有者权益合计是否公示

    @TableField("NUMPARM")
    @JsonProperty("NUMPARM")
    private Long numparm;  // 党员（预备党员）人数

    @TableField("PARINS")
    @JsonProperty("PARINS")
    private String parins;  // 党组织建制

    @TableField("PARINS_CN")
    @JsonProperty("PARINS_CN")
    private String parinsCn;  // 党组织建制（中文名称）

    @TableField("RESPARMSIGN")
    @JsonProperty("RESPARMSIGN")
    private String resparmsign;  // 法定代表人是否党员

    @TableField("RESPARSECSIGN")
    @JsonProperty("RESPARSECSIGN")
    private String resparsecsign;  // 法定代表人是否党组织书记

    @TableField("LASTUPDATETIME")
    @JsonProperty("LASTUPDATETIME")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date lastupdatetime;  // 最后一次修改时间

    @TableField("ENTCHEYEAR")
    @JsonProperty("ENTCHEYEAR")
    private String entcheyear;  // 企业年报年份

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

    @TableField("S_EXT_TIMESTAMP")
    @JsonProperty("S_EXT_TIMESTAMP")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date sExtTimestamp;  // 数据更新时间戳

    @TableField("I_TIME")
    @JsonProperty("I_TIME")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date iTime;  // 插入时间

    @TableField("S_EXT_FROMNODE")
    @JsonProperty("S_EXT_FROMNODE")
    private String sExtFromnode;  // 数据来源节点

    @TableField("MOD_FLAG")
    @JsonProperty("MOD_FLAG")
    private String modFlag;  // 修改标志

    @TableField("UP_TIME")
    @JsonProperty("UP_TIME")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date upTime;  // 修改时间

    @TableField("ID")
    @JsonProperty("ID")
    private Long id;  // id

}