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")
public class ForceLogoutNotice implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 拟强制注销公告ID（主键）
     */
    @TableId("FORCEID")
    private String forceId;

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

    /**
     * 公告标题，格式要求：XXX市场监管局（或行政审批局）XXXX年XX月XX日拟强制注销公告
     */
    @TableField("NOTICETITLE")
    private String noticeTitle;

    /**
     * 公告详细内容，包含拟强制注销的企业名单、依据、异议方式等信息
     */
    @TableField("NOTICECONTENT")
    private String noticeContent;

    /**
     * 作出决定机关的编码，代码标识符：C01006，数据元标识符：D01016
     */
    @TableField("JUDAUTH")
    private String judAuth;

    /**
     * 作出决定机关的中文全称，与JUDAUTH编码一一对应
     */
    @TableField("JUDAUTH_CN")
    private String judAuthCn;

    /**
     * 公告开始日期，数据元标识符：D05030，用于界定公告的有效起始时间
     */
    @TableField("NOTICEFROM")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate noticeFrom;

    /**
     * 公告结束日期，数据元标识符：D05031，用于界定公告的有效截止时间
     */
    @TableField("NOTICETO")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate noticeTo;

    /**
     * 二级部署时区分不同地市系统的标识，采用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;

}
