package com.zksy.data.domain.po;

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

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

@Data  // Lombok 的 Data 注解自动生成 getter, setter, toString 等方法
@TableName(value = "xcr_tax_registration_establishment")  // MyBatis-Plus 的 TableName 注解指定对应的数据库表名
public class XcrTaxRegistrationEstablishment extends BasePo implements Serializable {
    // 主键类型为 INPUT，表示主键值由外部传入
    @TableField("DJXH")  // 主键类型为 INPUT，表示主键值由外部传入
    @JsonProperty("DJXH")
    private Integer DJXH;  // 序号

    @TableField("NSRSBH")
    @JsonProperty("NSRSBH")
    private String NSRSBH;  // 纳税人识别号

    @TableField("NSRMC")
    @JsonProperty("NSRMC")
    private String NSRMC;  // 纳税人名称

    @TableField("NSRZTMC")
    @JsonProperty("NSRZTMC")
    private String NSRZTMC;  // 纳税人状态

    @TableField("KZZTDJLXMC")
    @JsonProperty("KZZTDJLXMC")
    private String KZZTDJLXMC;  // 课征主体登记类型

    @TableField("DJZCLXMC")
    @JsonProperty("DJZCLXMC")
    private String DJZCLXMC;  // 登记注册类型

    @TableField("ZZJG_DM")
    @JsonProperty("ZZJG_DM")
    private String ZZJG_DM;  // 组织机构代码

    @TableField("PZSLJGMC")
    @JsonProperty("PZSLJGMC")
    private String PZSLJGMC;  // 批准设立机关

    @TableField("ZZHM")
    @JsonProperty("ZZHM")
    private String ZZHM;  // 证照名称

    @TableField("ZZLXMC")
    @JsonProperty("ZZLXMC")
    private String ZZLXMC;  // 证照编号

    @TableField("KYSLRQ")
    @JsonProperty("KYSLRQ")
    private Date KYSLRQ;  // 开业设立日期

    @TableField("JYFW")
    @JsonProperty("JYFW")
    private String JYFW;  // 经营范围

    @TableField("DJRQ")
    @JsonProperty("DJRQ")
    private Date DJRQ;  // 登记日期

    @TableField("SWJGMC")
    @JsonProperty("SWJGMC")
    private String SWJGMC;  // 主管税务机关

    @TableField("ZCDZ")
    @JsonProperty("ZCDZ")
    private String ZCDZ;  // 注册地址

    @TableField("FDDBRXM")
    @JsonProperty("FDDBRXM")
    private String FDDBRXM;  // 法定代表人姓名

    @TableField("SFZJLXMC")
    @JsonProperty("SFZJLXMC")
    private String SFZJLXMC;  // 法定代表人身份证件类型

    @TableField("FDDBRSFZJHM")
    @JsonProperty("FDDBRSFZJHM")
    private String FDDBRSFZJHM;  // 法定代表人身份证号码

    @TableField("FDDBRGDDH")
    @JsonProperty("FDDBRGDDH")
    private String FDDBRGDDH;  // 法定代表人固定电话

    @TableField("FDDBRYDDH")
    @JsonProperty("FDDBRYDDH")
    private String FDDBRYDDH;  // 法定代表人移动电话

    @TableField("HYMC")
    @JsonProperty("HYMC")
    private String HYMC;  // 行业

    @TableField("HSFSMC")
    @JsonProperty("HSFSMC")
    private String HSFSMC;  // 核算方式

    @TableField("ZFJGLXMC")
    @JsonProperty("ZFJGLXMC")
    private String ZFJGLXMC;  // 总分机构类型

    @TableField(value = "ENTERINGTIME")
    @JsonProperty("ENTERINGTIME")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private Date ENTERINGTIME;  // 时间戳

    @TableField("OPTYPE")
    @JsonProperty("OPTYPE")
    private Integer OPTYPE;  // 更新标志位

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