package com.chinaweal.aiccs.aiccs.punishment.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.time.LocalDate;
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 Lee
 * @since 2021-06-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tsbizPunishLock")
public class TsbizPunishLock extends Model<TsbizPunishLock> {

    private static final long serialVersionUID=1L;

    /**
     * 编号ID
     */
    @TableId(value = "lockId", type = IdType.ASSIGN_UUID)
    private String lockId;

    /**
     * 业务号
     */
    @TableField("BIZSEQ")
    private String bizseq;

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

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

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

    /**
     * 主体名称
     */
    @TableField("ENTNAME")
    private String entname;

    /**
     * 惩戒来源
     */
    @TableField("punishFrom")
    private String punishFrom;

    /**
     * 锁定原因
     */
    @TableField("LOCKREASON")
    private String lockreason;

    /**
     * 锁定人员姓名
     */
    @TableField("LOCKUSERNAME")
    private String lockusername;

    /**
     * 锁定人员ID
     */
    @TableField("LOCKUSERID")
    private String lockuserid;

    /**
     * 锁定人员部门ID
     */
    @TableField("LOCKUSERDEPTID")
    private String lockuserdeptid;

    /**
     * 锁定人员单位ID
     */
    @TableField("LOCKUSERUNITID")
    private String lockuserunitid;

    /**
     * 惩戒信息id
     */
    @TableField("punishInfoId")
    private String punishInfoId;

    /**
     * 锁定时间
     */
    @TableField("LOCKTIME")
    private LocalDateTime lockTime;

    /**
     * 锁定开始日期
     */
    @TableField("LOCKSTARTDATE")
    private LocalDateTime lockstartdate;

    /**
     * 锁定结束日期
     */
    @TableField("LOCKENDDATE")
    private LocalDateTime lockenddate;

    /**
     * 惩戒措施
     */
    @TableField("MEASURE")
    private String measure;

    /**
     * 锁定类型（001、警告；002、股权锁定；003、完全锁定；004、注销锁定；005变更事项锁定）
     */
    @TableField("LOCKTYPE")
    private String locktype;

    /**
     * 锁定状态（1、有效；2、无效）
     */
    @TableField("LOCKSTATE")
    private String lockstate;

    /**
     * 9受理中、1审批中、2已通过、3不通过
     */
    private String status;

    /**
     * 主办人
     */
    private String handler;

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

    /**
     * 核准日期
     */
    @TableField("APPROVALDATE")
    private LocalDate approvaldate;

    @TableField("tolockentlistid")
    private String tolockentlistid;

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

}
