package com.chinaweal.aiccs.aicris.forgiveprudent.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 抽查结果表
 * @author lroyia
 * @since 2025/12/12
 **/
@Data
@ApiModel("抽查结果")
@Accessors(chain = true)
@TableName("AICRIS.RANINSRESULT")
public class RanInsResult implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 结果主键ID
     */
    @ApiModelProperty("结果主键ID")
    @TableId("RESULTID")
    private String resultId;

    /**
     * 抽查计划编号
     */
    @ApiModelProperty("抽查计划编号")
    @TableField("RANINSPLANID")
    private String ranInsPlanId;

    /**
     * 抽查事项
     */
    @ApiModelProperty("抽查事项")
    @TableField("RANINSITEM")
    private String ranInsItem;

    /**
     * 抽查任务编号
     */
    @ApiModelProperty("抽查任务编号")
    @TableField("RANINSTASKID")
    private String ranInsTaskId;

    /**
     * 事项名称
     */
    @ApiModelProperty("事项名称")
    @TableField("RANINSITEMNAME")
    private String ranInsItemName;

    /**
     * 法人主键ID
     */
    @ApiModelProperty("法人主键ID")
    @TableField("REPID")
    private String repId;

    /**
     * 社会统一码
     */
    @ApiModelProperty("社会统一码")
    @TableField("UNISCID")
    private String uniScid;

    /**
     * 注册号
     */
    @ApiModelProperty("注册号")
    @TableField("REGNO")
    private String regNo;

    /**
     * 检查结果（0:未发现问题 1:未按规定公示应当公示的信息 2:通过登记的住所（经营场所）无法联系 3:不配合检查情节严重 4:未发现开展本次抽查涉及的经营活动 5:发现问题,依法责令立即改正或者限期改正 6:发现问题,待后续调查处理 7:合格 8:不合格 9:其他情况）
     */
    @ApiModelProperty("检查结果（0:未发现问题 1:未按规定公示应当公示的信息 2:通过登记的住所（经营场所）无法联系 3:不配合检查情节严重 4:未发现开展本次抽查涉及的经营活动 5:发现问题,依法责令立即改正或者限期改正 6:发现问题,待后续调查处理 7:合格 8:不合格 9:其他情况）")
    @TableField("RANINSCHECKRES")
    private String ranInsCheckRes;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    @TableField("REMARK")
    private String remark;

    /**
     * 检查人员身份证号码
     */
    @ApiModelProperty("检查人员身份证号码")
    @TableField("USERCARDID")
    private String userCardId;

    /**
     * 检查结果录入时间
     */
    @ApiModelProperty("检查结果录入时间")
    @TableField("INSDATE")
    private LocalDateTime insDate;

    /**
     * 录入人员部门ID
     */
    @ApiModelProperty("录入人员部门ID")
    @TableField("DEPID")
    private String depId;

    /**
     * 录入人员部门名称
     */
    @ApiModelProperty("录入人员部门名称")
    @TableField("DEPNAME")
    private String depName;

    /**
     * 法人类型（1:企业 2:机关 3:社团）
     */
    @ApiModelProperty("法人类型（1:企业 2:机关 3:社团）")
    @TableField("REPTYPE")
    private String repType;

    /**
     * 录入人员机构ID
     */
    @ApiModelProperty("录入人员机构ID")
    @TableField("ENTRYID")
    private String entryId;

    /**
     * 所属部门类型
     */
    @ApiModelProperty("所属部门类型")
    @TableField("DEPTYPE")
    private String depType;

    /**
     * 是否已上传（0:未上传 1:已上传，默认0）
     */
    @ApiModelProperty("是否已上传（0:未上传 1:已上传，默认0）")
    @TableField("ISUPLOADED")
    private Long isUploaded;

    /**
     * 检查动作状态（默认0）
     */
    @ApiModelProperty("检查动作状态（默认0）")
    @TableField("CHECKACTIONSTATE")
    private Long checkActionState;

    /**
     * 数据来源（1表示来自生态环境局通过接口传过来的检查结果）
     */
    @ApiModelProperty("数据来源（1表示来自生态环境局通过接口传过来的检查结果）")
    @TableField("DATASOURCE")
    private String dataSource;

    /**
     * 时间戳，数据中心按照该字段推送当天数据
     */
    @ApiModelProperty("时间戳，数据中心按照该字段推送当天数据")
    @TableField("TIMESTAMPS")
    private LocalDateTime timestamps;

    /**
     * 检查完成时间，检查结果审批时间或者导入结果的时间
     */
    @ApiModelProperty("检查完成时间，检查结果审批时间或者导入结果的时间")
    @TableField("FINISHTIME")
    private LocalDateTime finishTime;

    /**
     * 市场主体主键ID，检查结果是市场主体的结果才有该字段
     */
    @ApiModelProperty("市场主体主键ID，检查结果是市场主体的结果才有该字段")
    @TableField("PRIPID")
    private String pripid;

    /**
     * 市场主体主键ID，检查结果是市场主体的结果才有该字段
     */
    @ApiModelProperty("公示截止时间")
    @TableField("PUBEXPDATE")
    private Date pubexpdate;
}
