package com.chinaweal.aiccs.aiccs.revoke.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

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

/**
 * <p>
 * 
 * </p>
 *
 * @author Lee
 * @since 2021-08-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("aiccs.punishdecision")
public class PunishDecision extends Model<PunishDecision> {

    private static final long serialVersionUID=1L;

    /**
     * 处罚决定书id
     */
      @TableId(value = "punishDecisionId",type = IdType.ASSIGN_UUID)
    private String punishDecisionId;

    /**
     * 业务号
     */
    private String bizseq;

    /**
     * 主体身份代码
     */
    private String pripid;

    /**
     * 案件来源及调查经过
     */
    @TableField("caseFromSoOn")
    private String caseFromSoOn;

    /**
     * 案件事实
     */
    @TableField("caseFacts")
    private String caseFacts;

    /**
     * 证据证明
     */
    private String evidences;

    /**
     * 行政处罚告知情况，当事人陈述、申辩、听证意见 ，
复核以及采纳情况和理由
     */
    @TableField("punishNoticeSoOn")
    private String punishNoticeSoOn;

    /**
     * 违法行为性质及定性、处罚依据
     */
    @TableField("illegalActSoOn")
    private String illegalActSoOn;

    /**
     * 自由裁量的事实和理由
     */
    @TableField("discretionSoOn")
    private String discretionSoOn;

    /**
     * 行政处罚的履行方式和期限
     */
    @TableField("punishWaySoOn")
    private String punishWaySoOn;

    /**
     * 救济途径和期限
     */
    @TableField("reliefWaySoOn")
    private String reliefWaySoOn;

    /**
     * 最后更新时间
     */
    @TableField("laupTime")
    private LocalDateTime laupTime;

    /**
     * 地区代码
     */
    @TableField("areaCode")
    private String areaCode;

    /**
     * 决定书内容
     */
    @TableField("punishContent")
    private String punishContent;

    /**
     * 地区代码名称
     */
    @TableField(exist = false)
    private String areaName;


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

}
