package com.chinaweal.aiccs.aicbizqy.entity.datamove;

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

/**
 * <p>
 * 企业公示_行政处罚信息表
 * </p>
 *
 * @author lwd
 * @since 2025-11-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("SJZX_SHARE.KSQY_E_IM_CASE") // 包含GZGS.前缀
public class EImCase extends Model<EImCase> {

    private static final long serialVersionUID = 1L;

    /**
     * 行政处罚ID
     */
    @TableId(value = "CASEID")
    @TableField("CASEID")
    private String caseid;

    /**
     * 主体身份代码
     */
    @TableField("PRIPID")
    private String pripid;

    /**
     * 企业（机构）名称
     */
    @TableField("ENTNAME")
    private String entname;

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

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

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

    /**
     * 违法行为类型
     */
    @TableField("ILLEGACTTYPE")
    private String illegacttype;

    /**
     * 处罚种类
     */
    @TableField("PENTYPE")
    private String pentype;

    /**
     * 处罚种类（中文名称）
     */
    @TableField("PENTYPE_CN")
    private String pentypeCn;

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

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

    /**
     * 处罚内容
     */
    @TableField("PENCONTENT")
    private String pencontent;

    /**
     * 作出行政处罚决定机关名称
     */
    @TableField("JUDAUTH")
    private String judauth;

    /**
     * 作出处罚决定书日期
     */
    @TableField("PENDECISSDATE")
    private Date pendecissdate;

    /**
     * 公示日期
     */
    @TableField("PUBLICDATE")
    private Date publicdate;

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

    @Override
    protected Serializable pkVal() {
        return caseid; // 以行政处罚ID作为主键
    }
}
