package com.chinaweal.aiccs.aiccs.forcedCancellation.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 java.time.LocalDate;
import java.time.LocalDateTime;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 拟强制注销公告明细表（关联公告主表）
 * </p>
 *
 * @author lwd
 * @since 生成时间（如：2025-10-22）
 */

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(schema = "aiccs", value = "FORCE_LOGOUT_NOTICE_DETAIL")
public class ForceLogoutNoticeDetail implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 拟强制注销公告详细ID（主键）
     */
    @TableId("FORCERESID")
    private String forceResId;

    /**
     * 拟强制注销公告主键，关联公告主表（FORCE_LOGOUT_NOTICE）的FORCEID字段
     */
    @TableField("FORCEID")
    private String forceId;

    /**
     * 业务ID
     */
    @TableField("BIZSEQID")
    private String bizseqId;

    /**
     * 主体身份唯一标识代码，代码标识符：C01007，数据元标识符：DA001
     */
    @TableField("PRIPID")
    private String pripid;

    /**
     * 企业或机构的法定全称，数据元标识符：D01003，需公示
     */
    @TableField("ENTNAME")
    private String entName;

    /**
     * 企业的统一社会信用代码，代码标识符：C01018，数据元标识符：D01012，需公示
     */
    @TableField("UNISCID")
    private String uniscid;


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

    /**
     * 市场主体类型（中文名称）
     */
    @TableField("ENTTYPE_CN")
    private String enttypeCn;

    /**
     * 业务状态 "0"导入名单，"1"注销公告，"2"强制注销，"3"强制注销完成
     */
    @TableField("STATUS")
    private String status;

    /**
     * "0"未剔除 "1"已剔除
     */
    @TableField("ISREMOVE")
    private String isRemove;

    /**
     * 剔除批次
     */
    @TableField("REMNO")
    private Integer remNo;

    /**
     * 剔除原因
     */
    @TableField("REMOVEREASON")
    private String removeReason;

    /**
     * 剔除时间
     */
    @TableField("REMOVETIME")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime removeTime;

    /**
     * 是否发送注销公告：0=否，1=是
     */
    @TableField("IS_CANCEL_NOTICE")
    private String isCancelNotice;

    /**
     * 主办人
     */
    @TableField("INTOSPONSOR")
    private String intosponsor;

    /**
     * 主办人ID
     */
    @TableField("INTOSPONSORID")
    private String intosponsorId;

    /**
     * 剔除处理人
     */
    @TableField("REMHANDLER")
    private String remHandler;

    /**
     * 登记状态
     */
    @TableField(exist = false)
    private String regstate;

    /**
     * 登记状态（中文名称）
     */
    @TableField(exist = false)
    private String regstateCn;

    /**
     * '0'未决定公示'1'决定公示中'2'撤销，'3'复议，'4'诉讼
     */
    @TableField("ISDECISIONPUBLISH")
    private String isDecisionPublish;

    /**
     * 决定公示日期
     */
    @TableField("DECISIONPUBLISHDATE")
    private LocalDate decisionPublishDate;

    /**
     * 文书号 业务用
     */
    @TableField(exist = false)
    private String writsno;

    /**
     * 文书生成时间 业务用
     */
    @TableField(exist = false)
    private LocalDateTime writsTime;

    /**
     * 文书生成时间 业务用
     */
    @TableField(exist = false)
    private String writsTimeStr;

    /**
     * 文书地区代码 业务用
     */
    @TableField(exist = false)
    private String areaCode;

    /**
     * 文书类型 业务用
     */
    @TableField(exist = false)
    private String writstype;

    /**
     * 非开业状态 '0'开业，'1'非开业
     */
    @TableField("NOOPENSTATE")
    private String noOpenState;

    /**
     * 决定书起始流水号
     */
    @TableField("decWritStartNo")
    private Integer decWritStartNo;

    /**
     * 第一份决定书文书号
     */
    @TableField("decFirstWrit")
    private String decFirstWrit;

    /**
     * 处理机关码值
     */
    @TableField("handleOrg")
    private String handleOrg;

    /**
     * 处理机关中文名
     */
    @TableField("handleOrgCn")
    private String handleOrgCn;

    /**
     * 预生成的行政处罚决定书文书号
     */
    @TableField(exist = false)
    private String prePunDecWritsno;

    /**
     * 预生成的听证告知书文书号
     */
    @TableField(exist = false)
    private String preHearNotWritsno;

    /**
     * 企业登记机关编码，代码标识符：C01006，数据元标识符：D13023，状态：废除，需公示
     */
    @TableField("REGORG")
    private String regOrg;

    /**
     * 登记机关的中文全称，与REGORG编码一一对应，状态：废除，需公示
     */
    @TableField("REGORG_CN")
    private String regOrgCn;

    /**
     * 作出强制注销决定的日期，数据元标识符：D05003，状态：废除，需公示
     */
    @TableField("DECDATE")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate decDate;

    /**
     * 公告正式发布的日期，数据元标识符：D05015，状态：废除，需公示
     */
    @TableField("ANNDATE")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate annDate;

    /**
     * 公告有效起始日期，数据元标识符：D05030，需公示
     */
    @TableField("NOTICEFROM")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate noticeFrom;

    /**
     * 公告有效截止日期，数据元标识符：D05031，需公示
     */
    @TableField("NOTICETO")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate noticeTo;

    /**
     * 拟强制注销的法定事由编码，代码标识符：C13042；指标项名称由“强制注销事由”调整而来，需公示
     */
    @TableField("FORCERRA")
    private String forceRra;

    /**
     * 法定事由对应的发生日期，状态：废除，需公示
     */
    @TableField("FORCERRADATE")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate forceRraDate;

    /**
     * 异议提交的网址（信息化系统路径），指标项名称由“异议途径”调整而来，需公示
     */
    @TableField("WEBSITE")
    private String website;

    /**
     * 企业原注册号，代码标识符：C01008，数据元标识符：D13001，新增字段，需公示
     */
    @TableField("REGNO")
    private String regNo;

    /**
     * 企业的法定注册地址，数据元标识符：D04001，新增字段，需公示
     */
    @TableField("DOM")
    private String dom;

    /**
     * 企业法定代表人姓名，数据元标识符：D02022，新增字段，需公示
     */
    @TableField("LEREP")
    private String leRep;

    /**
     * 登记意见说明，新增字段，固定值为“拟强制注销”，需公示
     */
    @TableField("FORCEREGOPI")
    private String forceRegopi;

    /**
     * 拟强制注销的处理结果编码，代码标识符：C13044，新增字段，需公示
     */
    @TableField("FORCERES")
    private String forceRes;

    /**
     * 处理结果的确认日期，新增字段，需公示
     */
    @TableField("FORCERESDATE")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate forceResDate;

    /**
     * 终止拟强制注销的原因编码，代码标识符：C13043，新增字段；仅当FORCERES=“2”时填写
     */
    @TableField("ENDFORCERRA")
    private String endForceRra;

    /**
     * 二级部署时的地市标识，采用6位登记机关编码区分不同地市数据
     */
    @TableField("S_EXT_FROMNODE")
    private String sExtFromnode;

    /**
     * 数据初始化或更新的时间戳，记录数据最新操作时间（默认当前时间戳）
     */
    @TableField("S_EXT_DATATIME")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime sExtDatetime;

    /**
     * 创建时间
     */
    @TableField("CREATE_TIME")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField("LAUPTIME")
    private LocalDateTime lauptime;

}
