package com.chinaweal.aiccs.aiceps.annual.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.chinaweal.aiccs.common.util.DateUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * 年报基本信息表，年报库直查分表
 *
 * @author lroyia
 * @since 2025/2/25 15:12
 **/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel("年报基本信息表")
@TableName("TRENTBASEINFO")
public class TREntBaseInfoSplit extends Model<TREntBaseInfoSplit> {

    private final static long serialVersionUID = 1L;

    /**
     * 年报主键
     */
    @ApiModelProperty("年报主键")
    @TableId("ENTID")
    private String entid;

    /**
     * 市场主体主键
     */
    @ApiModelProperty("市场主体主键")
    @TableField("ENTITYNO")
    private String entityno;

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

    /**
     * 注册号
     */
    @TableField("REGISTNO")
    @ApiModelProperty("注册号")
    private String registno;

    /**
     * 市场主体名称
     */
    @TableField("ENTNAME")
    @ApiModelProperty("市场主体名称")
    private String entname;

    /**
     * 从业人数
     */
    @TableField("EMPNUMBER")
    @ApiModelProperty("从业人数")
    private Integer empnumber;

    /**
     * 联系电话
     */
    @TableField("ENTPHONE")
    @ApiModelProperty("联系电话")
    private String entphone;

    /**
     * 联系地址
     */
    @TableField("ENTADDRESS")
    @ApiModelProperty("联系地址")
    private String entaddress;

    /**
     * 邮政编码
     */
    @TableField("ENTZIP")
    @ApiModelProperty("邮政编码")
    private String entzip;

    /**
     * 企业邮件
     */
    @TableField("ENTEMAIL")
    @ApiModelProperty("企业邮件")
    private String entemail;

    /**
     * 企业经营状态
     */
    @TableField("ENTSTATE")
    @ApiModelProperty("企业经营状态")
    private String entstate;

    /**
     * 是否有网站或网店（1：是，0：否）
     */
    @ApiModelProperty("是否有网站或网店（1：是，0：否）")
    @TableField("ISWEB")
    private String isweb;

    /**
     * 是否有投资信息或购买其他公司股权（1：是，0：否）
     */
    @TableField("ISINVEINFO")
    @ApiModelProperty("是否有投资信息或购买其他公司股权（1：是，0：否）")
    private String isinveinfo;
    /**
     * 登记时间
     */
    @JsonFormat(pattern = DateUtils.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8")
    @TableField("REGISTDATE")
    @ApiModelProperty("登记时间")
    private LocalDateTime registdate;

    /**
     * 年报年度
     */
    @ApiModelProperty("年报年度")
    @TableField("REPORTYEAR")
    private String reportyear;

    /**
     *
     */
    @TableField("ISSUEDEPTID")
    private String issuedeptid;

    /**
     * 本年度是否发生股东股权转让（1：是，0：否）
     */
    @ApiModelProperty("本年度是否发生股东股权转让（1：是，0：否）")
    @TableField("ISTRANSFERSTOCK")
    private String istransferstock;

    /**
     * 从业人数是否公示
     */
    @ApiModelProperty("从业人数是否公示")
    @TableField("EMPNUMBERISSHOW")
    private String empnumberisshow;

    /**
     * 隶属关系（隶属企业名称）
     */
    @TableField("RELATIONS")
    @ApiModelProperty("隶属关系（隶属企业名称）")
    private String relations;

    /**
     * 隶属关系是否公示（1：是，2：否）
     */
    @TableField("RELATIONSISSHOW")
    @ApiModelProperty("隶属关系是否公示（1：是，2：否）")
    private String relationsisshow;

    /**
     * 区分内外网填报（n：内网不公示，y：外网填报公示）n表示已经提交纸质年报,w企业选择不公示
     */
    @TableField("ONAICCIPS")
    @ApiModelProperty("区分内外网填报（n：内网不公示，y：外网填报公示）n表示已经提交纸质年报,w企业选择不公示")
    private String onaiccips;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = DateUtils.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8")
    @TableField("CREATEDATE")
    @ApiModelProperty("创建时间")
    private LocalDateTime createdate;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = DateUtils.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8")
    @TableField("UPDATEDATE")
    @ApiModelProperty("更新时间")
    private LocalDateTime updatedate;

    /**
     * 数据的状态（0：正常，1：更新，2：删除）
     */
    @TableField("DSTATE")
    @ApiModelProperty("数据的状态（0：正常，1：更新，2：删除）")
    private String dstate;

    /**
     * 企业类型
     */
    @TableField("ENTITYTYPE")
    @ApiModelProperty("企业类型")
    private String entitytype;

    /**
     * 企业子类型
     */
    @TableField("SUBENTITYTYPE")
    @ApiModelProperty("企业子类型")
    private String subentitytype;

    /**
     * 登记机关
     */
    @TableField("登记机关")
    @ApiModelProperty("登记机关")
    private String orgid;

    /**
     * 数据同步状态
     */
    @TableField("ISSYNC")
    @ApiModelProperty("数据同步状态")
    private String issync;

    /**
     * 主营业务活动
     */
    @TableField("MAINBUSIACT")
    @ApiModelProperty("主营业务活动")
    private String mainbusiact;

    /**
     * 女性从业人员数量
     */
    @TableField("WOMEMPNUM")
    @ApiModelProperty("女性从业人员数量")
    private Integer womempnum;

    /**
     * 控股情况(1，国有控股 2，集体控股 3，私人控股 4，港澳台商控股  5 外商控股 9 其他)
     */
    @TableField("HOLDINGSMSG")
    @ApiModelProperty("控股情况(1，国有控股 2，集体控股 3，私人控股 4，港澳台商控股  5 外商控股 9 其他)")
    private String holdingsmsg;

    /**
     * 女性从业人员数量是否公示（1：是，2：否）
     */
    @TableField("WOMEMPNUMWHETHER")
    @ApiModelProperty("女性从业人员数量是否公示（1：是，2：否）")
    private String womempnumwhether;

    /**
     * 控股情况是否公示（1：是，2：否）
     */
    @TableField("HOLDINGSMSGWHETHER")
    @ApiModelProperty("控股情况是否公示（1：是，2：否）")
    private String holdingsmsgwhether;

    /**
     * 是否有社保信息 1 是 2 否(不使用了)
     */
    @TableField("ISSOCIALSECURITY")
    @ApiModelProperty("是否有社保信息 1 是 2 否(不使用了)")
    private String issocialsecurity;

    /**
     * 是否有担保信息（1：是，2：否）
     */
    @TableField("ISGUARANTEE")
    @ApiModelProperty("是否有担保信息（1：是，2：否）")
    private String isguarantee;

    /**
     * 隶属企业统一社会信用代码/注册号（只有分公司使用）
     */
    @TableField("BELONGENTERPRISE")
    @ApiModelProperty("隶属企业统一社会信用代码/注册号（只有分公司使用）")
    private String belongenterprise;

    /**
     * 添加信息的用户ip地址
     */
    @TableField("IP")
    @ApiModelProperty("添加信息的用户ip地址")
    private String ip;

    /**
     * P表示PC填录，M标识手机,y 业务系统报的，w是微信端报的(广州的修改为微信端年报的标识修改为issync字段的wx)
     */
    @TableField("ISPC")
    @ApiModelProperty("P表示PC填录，M标识手机,y 业务系统报的，w是微信端报的(广州的修改为微信端年报的标识修改为issync字段的wx)")
    private String ispc;

    /**
     * 如果是手机，则是手机唯一标识，如果是PC，则是mac地址（PC暂时获取不到请求计算机的mac）
     */
    @TableField("IMSTANDMAC")
    @ApiModelProperty("如果是手机，则是手机唯一标识，如果是PC，则是mac地址（PC暂时获取不到请求计算机的mac）")
    private String imstandmac;
}
