package com.chinaweal.aiccs.crgs.punish.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author sh
 * @since 2022-05-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tb_ilc_pun_info_query")
public class TbIlcPunInfoQuery extends Model<TbIlcPunInfoQuery> {

    private static final long serialVersionUID=1L;

    /**
     * 主键
     */
      @TableId("ID")
    private String id;

    /**
     * 注册码；当事人类型如果为1，为注册号/统一社会信用代码；当事人类型为2则是自然人身份证号码
     */
    @TableField("ZCH")
    private String zch;

    /**
     * 统一码
     */
    @TableField("UNISCID")
    private String uniscid;

    /**
     * 送达时间
     */
    @TableField("SDSJ")
    private LocalDateTime sdsj;

    /**
     * 当事人名称
     */
    @TableField("DSRMC")
    private String dsrmc;

    /**
     * 违法行为定性
     */
    @TableField("WFXW")
    private String wfxw;

    /**
     * 处罚依据
     */
    @TableField("CFYJ")
    private String cfyj;

    /**
     * 处罚内容
     */
    @TableField("SPUNCONTENT")
    private String spuncontent;

    /**
     * 操作时间
     */
    @TableField("CZSJ")
    private LocalDateTime czsj;

    /**
     * 签名值字段
     */
    @TableField("S_SIGN_DATA")
    private String sSignData;

    /**
     * 证书序列号
     */
    @TableField("S_SIGN_CERT")
    private String sSignCert;

    /**
     * 处罚登记机关
     */
    @TableField("CFDJJG")
    private String cfdjjg;

    /**
     * 做出处罚决定日期
     */
    @TableField("CFJDSJ")
    private LocalDateTime cfjdsj;

    /**
     * 行政处罚履行方式
     */
    @TableField("XZCFLXFS")
    private String xzcflxfs;

    /**
     * 行政处罚履行期限
     */
    @TableField("XZCFLXSJ")
    private LocalDateTime xzcflxsj;

    /**
     * 公示期限
     */
    @TableField("GSQX")
    private LocalDateTime gsqx;

    /**
     * 罚款金额
     */
    @TableField("PENAM")
    private BigDecimal penam;

    /**
     * 没收金额
     */
    @TableField("FORFAM")
    private BigDecimal forfam;

    @TableField("DTUPDATE")
    private LocalDateTime dtupdate;

    /**
     * 案件编码
     */
    @TableField("SCASECODE")
    private String scasecode;

    /**
     * 案件实际编号
     */
    @TableField("SREALCASECODE")
    private String srealcasecode;

    /**
     * 处罚决定书文号
     */
    @TableField("SBOOKCODE")
    private String sbookcode;

    @TableField("SFLAG")
    private String sflag;

    @TableField("UPDATETIME")
    private LocalDateTime updatetime;

    /**
     * 公示状态，'4'表示不公示
     */
    @TableField("SSTATE")
    private String sstate;

    /**
     * 违法类型编码，有多个时用逗号分隔
     */
    @TableField("SGISTTYPECODE")
    private String sgisttypecode;

    /**
     * 违法类型名称，有多个时用逗号分隔
     */
    @TableField("SGISTTYPENAME")
    private String sgisttypename;

    /**
     * 处罚种类编码，有多个时用逗号分隔
     */
    @TableField("SPUNTYPECODE")
    private String spuntypecode;

    /**
     * 处罚种类名称，有多个时用逗号分隔
     */
    @TableField("SPUNTYPENAME")
    private String spuntypename;

    /**
     * 当事人类型；1-商事主体 2-自然人
     */
    @TableField("DSRTYPE")
    private String dsrtype;

    /**
     * 数据来源系统：1-工商 2-食药 3-质监 4-知识产权
     */
    @TableField("SYSTYPE")
    private String systype;

    /**
     * 立案时间
     */
    @TableField("DTCASEDATE")
    private LocalDateTime dtcasedate;

    /**
     * 案件审批类型（1--行政处罚；2--不予行政处罚；3--销案；4--移送；5--当事人不确定财物处理 6-办理中 7-案
     */
    @TableField("SCHECKTYPE")
    private String schecktype;

    /**
     * 案件审批类型名称
     */
    @TableField("SCHECKTYPENAME")
    private String schecktypename;

    /**
     * 法定代表人
     */
    @TableField("SPRINCIPAL")
    private String sprincipal;

    /**
     * 法定代表人身份证号
     */
    @TableField("SPRINCIPALNO")
    private String sprincipalno;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
