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_force_deregister_res")
@ApiModel(value = "XrForceDeregisterRes对象", description = "拟强制注销公告详细")
@ExcelTarget(value = "XrForceDeregisterRes")
public class XrForceDeregisterRes extends SuperEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 拟强制注销公告详细ID
     */
    @ApiModelProperty(value = "拟强制注销公告详细ID")
    @TableId(value = "forceresid", type = IdType.ASSIGN_UUID)
    private String forceResId;

    /**
     * 拟强制注销公告ID
     */
    @ApiModelProperty(value = "拟强制注销公告ID")
    @TableField("forceid")
    private String forceId;

    /**
     * 主体身份代码
     */
    @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("reg_org")
    private String regOrg;

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

    /**
     * 公告期自
     */
    @ApiModelProperty(value = "公告期自")
    @JsonSerialize(using = LocalDateTimeStringSerializer.class)
    @TableField("notice_from")
    private LocalDate noticeFrom;

    /**
     * 公告期至
     */
    @ApiModelProperty(value = "公告期至")
    @JsonSerialize(using = LocalDateTimeStringSerializer.class)
    @TableField("notice_to")
    private LocalDate noticeTo;

    /**
     * 拟强制注销登记法定事由（国标C13042）
     */
    @ApiModelProperty(value = "拟强制注销登记法定事由（国标C13042）")
    @TableField("forcerra")
    private String forceRra;

    /**
     * 强制注销事由日期
     */
    @ApiModelProperty(value = "强制注销事由日期")
    @JsonSerialize(using = LocalDateTimeStringSerializer.class)
    @TableField("forcerra_date")
    private LocalDate forceRraDate;

    /**
     * 异议方式
     */
    @ApiModelProperty(value = "异议方式")
    @TableField("website")
    private String website;

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

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

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

    /**
     * 拟强制注销登记意见
     */
    @ApiModelProperty(value = "拟强制注销登记意见")
    @TableField("forceregopi")
    private String forceRegopi;

    /**
     * 拟强制注销结果（国标C13044）
     */
    @ApiModelProperty(value = "拟强制注销结果（国标C13044）")
    @TableField("forceres")
    private String forceRes;

    /**
     * 拟强制注销结果日期
     */
    @ApiModelProperty(value = "拟强制注销结果日期")
    @JsonSerialize(using = LocalDateTimeStringSerializer.class)
    @TableField("forceres_date")
    private LocalDate forceResDate;

    /**
     * 终止拟强制注销理由（国标C13043）
     */
    @ApiModelProperty(value = "终止拟强制注销理由（国标C13043）")
    @TableField("end_forcerra")
    private String endForceRra;

    /**
     * 拟强制注销登记法定事由中文
     */
    @ApiModelProperty(value = "拟强制注销登记法定事由中文")
    @TableField("forcerra_cn")
    private String forceRraCn;

    /**
     * 终止拟强制注销理由中文
     */
    @ApiModelProperty(value = "终止拟强制注销理由中文")
    @TableField("end_forcerra_cn")
    private String endForceRraCn;

}
