package com.chinaweal.aiccs.aiccs.punishment.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDateTime;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.SuperEntity;
import com.chinaweal.youfool.framework.springboot.json.LocalDateTimeStringSerializer;
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;


/**
 * 行政处罚信用修复信息
 *
 * @author zhouxy
 * @since 2026-1-20
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("CRGS.CASE_CRE_INFORMATION")
@ApiModel(value="CaseCreInformation对象", description="行政处罚信用修复信息")
public class CaseCreInformation extends SuperEntity {

    private static final long serialVersionUID = 1L;

    @TableId(value = "CASECREID", type = IdType.INPUT)
    private String casecreid;

    /**
     * 主体身份标识
     */
    @ApiModelProperty(value = "主体身份标识")
    @TableField("PRIPID")
    private String pripid;

    /**
     * 企业名称
     */
    @ApiModelProperty(value = "企业名称")
    @TableField("ENTNAME")
    private String entname;

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

    /**
     * 案件ID
     */
    @ApiModelProperty(value = "案件ID")
    @TableField("CASEID")
    private String caseid;

    /**
     * 申请修复日期
     */
    @ApiModelProperty(value = "申请修复日期")
    @TableField("REPAIRDATE")
    private Date repairdate;

    /**
     * 修复机关代码
     */
    @ApiModelProperty(value = "修复机关代码")
    @TableField("REPAUTH")
    private String repauth;

    /**
     * 修复机关名称
     */
    @ApiModelProperty(value = "修复机关名称")
    @TableField("REPAUTH_CN")
    private String repauthCn;

    /**
     * 修复日期
     */
    @ApiModelProperty(value = "修复日期")
    @TableField("REPDATE")
    private Date repdate;

    /**
     * 扩展字段来源节点
     */
    @ApiModelProperty(value = "扩展字段来源节点")
    @TableField("S_EXT_FROMNODE")
    private String sExtFromnode;

    /**
     * 扩展数据时间
     */
    @ApiModelProperty(value = "扩展数据时间")
    @TableField("S_EXT_DATATIME")
    @JsonSerialize(using = LocalDateTimeStringSerializer.class)
    private LocalDateTime sExtDatatime;

    /**
     * 数据来源
     */
    @ApiModelProperty(value = "数据来源")
    @TableField("DATASOURCE")
    private String datasource;

    /**
     * 修复文号
     */
    @ApiModelProperty(value = "修复文号")
    @TableField("REPAIRNO")
    private String repairno;

    /**
     * 修复机关统一社会信用代码
     */
    @ApiModelProperty(value = "修复机关统一社会信用代码")
    @TableField("REPAUTH_UNISCID")
    private String repauthUniscid;

}
