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

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 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-06-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("aiccs.entlock")
public class EntLock extends Model<EntLock> {

    private static final long serialVersionUID=1L;

    /**
     * 标识id
     */
    @TableId("ELID")
    private String elid;

    /**
     * 统一社会信用代码
     */
    @TableField("UNISCID")
    private String uniscid;
    /**
     * 主体身份代码
     */
    @TableField("PRIPID")
    private String pripid;

    /**
     * 业户名称
     */
    @TableField("ENTNAME")
    private String entname;

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

    /**
     * 锁定原因
     */
    @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;

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

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


    /**
     * 锁定开始日期
     */
    @TableField("LOCKSTARTDATE")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime lockstartdate;

    /**
     * 锁定结束日期
     */
    @TableField("LOCKENDDATE")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime lockenddate;

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

    /**
     * 解锁人员姓名
     */
    @TableField("UNLUSERNAME")
    private String unlusername;

    /**
     * 解锁原因
     */
    @TableField("ULOCKREASON")
    private String unlockreason;

    /**
     * 解锁人员ID
     */
    @TableField("UNLUSERID")
    private String unluserid;

    /**
     * 解锁人员部门ID
     */
    @TableField("ULDEPTID")
    private String uldeptid;

    /**
     * 解锁人员单位ID
     */
    @TableField("ULUNITID")
    private String ulunitid;

    /**
     * 解锁操作日期
     */
    @TableField("UNLDATE")
    private LocalDateTime unldate;

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

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

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

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



    /**
     * 最后修改时间
     */
    @TableField("laupTime")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime laupTime;



    /**
     * 状态：'0'未解锁 '1'拟解锁 '2'解锁中 '3'以解锁
     */
    @TableField("state")
    private String state;

    /**
     * 文件路径
     */
    @TableField("FILEPATH")
    private String filepath;

    /**
     * 文件名
     */
    @TableField("FILENAME")
    private String filename;

    /**
     * 解锁具体原因
     */
    @TableField("ULOCKSPECIFICREASON")
    private String uLockSpecificReason;

    /**
     * 解锁具体原因代码值
     */
    @TableField("ulsrcode")
    private String uLSRCode;

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

    /**
     * 法定代表人证件号
     */
    @TableField("cerno")
    private String cerno;

    /**
     * 证件类型
     */
    @TableField("certype")
    private String certype;

    /**
     * 是否删除 0未删除，1已删除
     */
    @TableField("isdelete")
    private String isdelete;

    /**
     * 来源部门
     */
    @TableField("department")
    private String department;

    /**
     * 登记机关
     */
    @TableField("regorg")
    private String regorg;

    /**
     * 泰富锁定id
     */
    @TableField("tflockid")
    private String tflockid;

    /**
     * 警示内容
     */
    @TableField("warningcontent")
    private String warningcontent;

    /**
     * 锁定次数
     */
    @TableField(exist = false)
    private long lockcount;

    /**
     * 地址
     */
    @TableField(exist = false)
    private String address;

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

}
