package com.zksy.info.domain;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 行政许可信息表
 * @TableName e_admin_license_info
 */
@TableName(value ="e_admin_license_info")
@Data
public class EAdminLicenseInfo implements Serializable {
    /**
     * 主键
     */
    @ApiModelProperty("主键")
    @TableId(type = IdType.ASSIGN_UUID)
    @ExcelIgnore
    private String id;

    /**
     * 行政相对人名称
     */
    @ExcelProperty(value = "相对人名称",index = 0)
    @ApiModelProperty("相对人名称")
    private String relativePersonName;

    /**
     * 行政相对人类别
     */
    @ExcelProperty(value = "相对人类别",index = 1)
    @ApiModelProperty("相对人类别")
    private String relativePersonType;

    /**
     * 主体编码
     */
    @ExcelProperty(value = "主体编码",index = 2)
    @ApiModelProperty("主体编码")
    private String entityCode;

    /**
     * 工商注册号
     */
    @ApiModelProperty("工商注册号")
    @ExcelProperty(value = "工商注册号",index = 3)
    private String businessRegistrationNumber;

    /**
     * 法定代表人
     */
    @ApiModelProperty("法定代表人")
    @ExcelProperty(value = "法定代表人",index = 4)
    private String legalRepresentative;

    /**
     * 法定代表人证件类型
     */
    @ApiModelProperty("法定代表人证件类型")
    @ExcelProperty(value = "法定代表人证件类型",index = 5)
    private String legalRepresentativeIdType;

    /**
     * 法定代表人证件号码
     */
    @ApiModelProperty("法定代表人证件号码")
    @ExcelProperty(value = "法定代表人证件号码",index = 6)
    private String legalRepresentativeIdNumber;

    /**
     * 证件类型
     */
    @ApiModelProperty("证件类型")
    @ExcelProperty(value = "证件类型",index = 7)
    private String idType;

    /**
     * 行政许可决定文书名称
     */
    @ApiModelProperty("行政许可决定文书名称")
    @ExcelProperty(value = "行政许可决定文书名称",index = 8)
    private String licenseDocumentName;

    /**
     * 行政许可决定文书号
     */
    @ApiModelProperty("行政许可决定文书号")
    @ExcelProperty(value = "行政许可决定文书号",index = 9)
    private String licenseDocumentNumber;

    /**
     * 许可类别
     */
    @ApiModelProperty("许可类别")
    @ExcelProperty(value = "许可类别",index = 10)
    private String licenseCategory;

    /**
     * 其他许可类别说明
     */
    @ApiModelProperty("其他许可类别说明")
    @ExcelProperty(value = "其他许可类别说明",index = 11)
    private String otherLicenseCategoryDescription;

    /**
     * 许可证书名称
     */
    @ApiModelProperty("许可证书名称")
    @ExcelProperty(value = "许可证书名称",index = 12)
    private String licenseCertificateName;

    /**
     * 许可编号
     */
    @ApiModelProperty("许可编号")
    @ExcelProperty(value = "许可编号",index = 13)
    private String licenseNumber;

    /**
     * 许可内容
     */
    @ApiModelProperty("许可内容")
    @ExcelProperty(value = "许可内容",index = 14)
    private String licenseContent;

    /**
     * 许可决定日期
     */
    @ApiModelProperty("许可决定日期")
    @ExcelProperty(value = "许可决定日期",index = 15)
    @DateTimeFormat(value = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate licenseDecisionDate;

    /**
     * 有效期自
     */
    @ApiModelProperty("有效期自")
    @ExcelProperty(value = "有效期自",index = 16)
    @DateTimeFormat(value = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate validFrom;

    /**
     * 有效期至
     */
    @ApiModelProperty("有效期至")
    @ExcelProperty(value = "有效期至",index = 17)
    @DateTimeFormat(value = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate validTo;

    /**
     * 许可机关
     */
    @ApiModelProperty("许可机关")
    @ExcelProperty(value = "许可机关",index = 18)
    private String licenseIssuingAuthority;

    /**
     * 许可机关统一社会信用代码
     */
    @ApiModelProperty("许可机关统一社会信用代码")
    @ExcelProperty(value = "许可机关统一社会信用代码",index = 19)
    private String licenseIssuingAuthorityCode;

    /**
     * 当前状态
     */
    @ApiModelProperty("当前状态")
    @ExcelProperty(value = "当前状态",index = 20)
    private String currentStatus;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    @ExcelProperty(value = "备注",index = 21)
    private String remarks;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelIgnore
    private LocalDateTime createTime;

    /**
     * 创建人
     */
    @ExcelIgnore
    @ApiModelProperty("创建人")
    private String createBy;

    /**
     * 修改时间
     */
    @ExcelIgnore
    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    /**
     * 修改人
     */
    @ExcelIgnore
    @ApiModelProperty("修改人")
    private String updateBy;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}