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 java.time.LocalDate;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 案件审批表
 * </p>
 *
 * @author Lee
 * @since 2021-03-30
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tscase")
public class TsCase extends Model<TsCase> {

    private static final long serialVersionUID=1L;

    /**
     * 案件id
     */
    @TableId(value = "caseId", type = IdType.ASSIGN_UUID)
    private String caseId;

    /**
     * 案件编号
     */
    @TableField("caseNo")
    private String caseNo;

    /**
     * 案件名称
     */
    @TableField("caseName")
    private String caseName;

    /**
     * 吊销业务id
     */
    private String bizseq;

    /**
     * 违法行为
     */
    @TableField("illegalAct")
    private String illegalAct;

    /**
     * 违法行为_中文
     */
    @TableField("illegalActCn")
    private String illegalActCn;

    /**
     * 主办人姓名
     */
    @TableField("handlerName")
    private String handlerName;

    /**
     * 主办人id
     */
    @TableField("handlerId")
    private String handlerId;

    /**
     * 协办人id
     */
    @TableField("assistantId")
    private String assistantId;

    /**
     *
     * 承办时间
     */
    @TableField("handlerDate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime handlerDate;

    /**
     * 案发地
     */
    private String place;

    /**
     * 案件来源
     */
    @TableField("caseFrom")
    private String caseFrom;

    /**
     * 登记时间
     */
    @TableField("registTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime registTime;

    /**
     * 核查情况及立案（不予立案）理由
     */
    private String situation;

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

    /**
     * 是否立案 "0"不予立案 "1"立案
     */
    @TableField("isRegister")
    private String isRegister;

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

    /**
     * 协办人姓名
     */
    @TableField("assistantName")
    private String assistantName;

    /**
     * '1'公司'2'个人独资企业
     */
    @TableField("bizEntType")
    private String bizEntType;

    /**
     * 听证环节提请审批的理由 、依据及处理意见
     */
    @TableField("hearingToApprRea")
    private String hearingToApprRea;

    /**
     * 复核意见或者听证意见
     */
    @TableField("reviewHearingOpinion")
    private String reviewHearingOpinion;

    /**
     * 当事人陈述、申辩或者听证中提出的主要意见
     */
    @TableField("pleadOpinion")
    private String pleadOpinion;

    /**
     * 处罚决定环节建议作出行政处理决定的内容、主要事实、理由、依据
     */
    @TableField("advicePunishContent")
    private String advicePunishContent;

    /**
     * 是否经过复核（听证）程序 '0'否'1'是
     */
    @TableField("isReviewHearing")
    private String isReviewHearing;

    /**
     * 送达方式 ’1‘公告送达
     */
    @TableField("deliverWay")
    private String deliverWay;

    /**
     * 违法类型 '1'一年未年报实地查无、'2'连续两年未年报、'3'因实地查无列入经营异常名录两年以上 '9'其他
     */
    @TableField("illegalType")
    private String illegalType;

    /**
     * 立案时间
     */
    @TableField("setTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime setTime;

    /**
     * 是否暂存状态'0'否'1'是
     */
    @TableField("status")
    private String status;

    /**
     * 吊销原因
     */
    @TableField("revokeRea")
    private String revokeRea;

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

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

    /**
     * 行政处罚履行期限
     */
    @TableField("punishPerformDeadline")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime punishPerformDeadline;

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

}
