package com.chinaweal.aiccs.aiccs.force.entity;

import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;

/**
 * 登记机关营业执照作废声明信息
 *
 * @author zhouxy
 * @since 2025/9/26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "xr_liccan_rec")
@ApiModel(value = "XrLiccanRec对象", description = "登记机关营业执照作废声明信息")
@ExcelTarget(value = "XrLiccanRec")
public class XrLiccanRec extends SuperEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 声明ID
     */
    @ApiModelProperty(value = "声明ID")
    @TableId(value = "recid", type = IdType.ASSIGN_UUID)
    private String recId;

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

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

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

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

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

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

    /**
     * 业务类型（国标C13001）
     */
    @ApiModelProperty(value = "业务类型（国标C13001）")
    @TableField("reg_type")
    private String regType;

    /**
     * 作废原因 1 无法缴回 ；2 拒不缴回；3 未缴回
     */
    @ApiModelProperty(value = "作废原因 1 无法缴回 ；2 拒不缴回；3 未缴回")
    @TableField("lican_reason")
    private String liccanReason;

    /**
     * 是否正副本（国标C13019） 1 正副本，2 正本，3 副本
     */
    @ApiModelProperty(value = "是否正副本（国标C13019） 1 正副本，2 正本，3 副本")
    @TableField("isoricop")
    private String isoricop;

    /**
     * 声明内容
     */
    @ApiModelProperty(value = "声明内容")
    @TableField("lican_sta")
    private String liccanSta;

    /**
     * 声明日期
     */
    @ApiModelProperty(value = "声明日期")
    @JsonSerialize(using = LocalDateTimeStringSerializer.class)
    @TableField("lican_date")
    private LocalDate liccanDate;

    /**
     * 营业执照副本编号
     */
    @ApiModelProperty(value = "营业执照副本编号")
    @TableField("liccopy_no")
    private String liccopyNo;

}
