

package com.lutao.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.lutao.annotate.Validation;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 人员资质证书
 *
 * @author guoyc
 * @date 2023-07-20 10:56:48
 */
@Data
@TableName("person_certificate")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "人员资质证书")
public class PersonCertificate extends Model<PersonCertificate> {

    private static final long serialVersionUID = 1L;

    /**
     * 证书主键
     */
    @TableId
    @ApiModelProperty(value="证书主键")
    private Integer id;

    /**
     * 人员id，人员origin_id
     */
    @ApiModelProperty(value="人员id，人员origin_id")
    @Validation(message = "person_certificate表{person_id}不能为空")
    private String personId;

    @ApiModelProperty(value="origin_id")
    private String originId;

    /**
     * 证件号
     */
    @ApiModelProperty(value="证件号")
    @Validation(message = "person_certificate表{certificate}不能为空")
    private String certificate;

    /**
     * 1海上石油作业安全救生培训合格证2井控技术培训合格证3稳性与压载技术培训合格证4防硫化氢技术培训合格证5海洋石油安全生产知识和管理能力培训合格证6特种作业操作证7健康证8五四小证9其它
     */
    @ApiModelProperty(value="1海上石油作业安全救生培训合格证2井控技术培训合格证3稳性与压载技术培训合格证4防硫化氢技术培训合格证5海洋石油安全生产知识和管理能力培训合格证6特种作业操作证7健康证8五四小证9其它")
    @Validation(message = "person_certificate表{certificate_type}不能为空")
    private Integer certificateType;

    /**
     * 初领日期
     */
    @ApiModelProperty(value="初领日期")
    @Validation(message = "person_certificate表{initialcollection_date}不能为空")
    private LocalDateTime initialcollectionDate;

    /**
     * 有效期限
     */
    @ApiModelProperty(value="有效期限")
    @Validation(message = "person_certificate表{effective_date}不能为空")
    private LocalDateTime effectiveDate;

    /**
     * 证书扫描件
     */
    @ApiModelProperty(value="证书扫描件")
    private String certificateFile;

    /**
     * 创建时间
     */
    @ApiModelProperty(value="创建时间")
    private LocalDateTime createDate;

    /**
     * 创建人姓名
     */
    @ApiModelProperty(value="创建人姓名")
    private String createBy;

    /**
     * 修改时间
     */
    @ApiModelProperty(value="修改时间")
    private LocalDateTime updateDate;

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

    /**
     * 系统平台id
     */
    @ApiModelProperty(value="系统平台id")
    private Integer pfId;

    /**
     * 应用id
     */
    @ApiModelProperty(value="应用id")
    private String appId;

    /**
     * 平台id，平台origin_id
     */
    @ApiModelProperty(value="平台id，平台origin_id")
    private String platformId;

    /**
     * 平台编码
     */
    @ApiModelProperty(value="平台编码")
    private String platformCode;

    /**
     * 平台名称
     */
    @ApiModelProperty(value="平台名称")
    private String platformName;

    @ApiModelProperty(value = "数据收集时间")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @ApiModelProperty(value = "数据更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
