package org.jeecg.modules.basedata.entity;

import java.io.Serializable;
import java.util.Date;
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 lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

import javax.validation.constraints.NotEmpty;

/**
 * @Description: 人员表
 * @author： jeecg-boot
 * @date：   2019-05-09
 * @version： V1.0
 */
@Data
@TableName("fd_personnel")
public class FdPersonnel implements Serializable {
    private static final long serialVersionUID = 1L;
    
	/**客户联系人主键*/
	@TableId(type = IdType.UUID)
	private java.lang.String id;
	/**人员编码*/
	@Excel(name = "人员编码", width = 15)
	@NotEmpty(message = "人员编码不能为空")
	private java.lang.String code;
	/**人员名称*/
	@Excel(name = "人员名称", width = 15)
	@NotEmpty(message = "人员名称不能为空")
	private java.lang.String name;
	/**英文名称*/
	@Excel(name = "英文名称", width = 15)
	private java.lang.String enName;
	/**性别*/
	@Excel(name = "性别", width = 15)
	@NotEmpty(message = "性别不能为空")
	private java.lang.String gender;
	/**人员类别，参照数据字典*/
	@Excel(name = "人员类别，参照数据字典", width = 15)
	// @NotEmpty(message = "人员类别不能为空")
	private java.lang.String category;
	/**手机*/
	@Excel(name = "手机", width = 15)
	private java.lang.String mobile;
	/**电话*/
	@Excel(name = "电话", width = 15)
	private java.lang.String tel;
	/**所属部门*/
	@Excel(name = "所属部门", width = 15)
	private java.lang.String pkDepart;
	/**所属公司*/
	@Excel(name = "所属公司", width = 15)
	private java.lang.String pkOrg;
	/**人员状态，参照数据字典*/
	@Excel(name = "人员状态，参照数据字典", width = 15)
	@NotEmpty(message = "人员状态不能为空")
	private java.lang.String status;
	/**邮箱*/
	@Excel(name = "邮箱", width = 15)
	private java.lang.String email;
	/**直属领导*/
	@Excel(name = "直属领导", width = 15)
	private java.lang.String pkPersonnel;
	/**删除标记0正常1删除*/
	@Excel(name = "删除标记0正常1删除", width = 15)
	private java.lang.String delFlag;
	/**可用状态0正常1失效*/
	@Excel(name = "可用状态0正常1失效", width = 15)
	private java.lang.String enable;
	/**版本号*/
	@Excel(name = "版本号", width = 15)
	private java.lang.String version;
	/**创建人*/
	@Excel(name = "创建人", width = 15)
	private java.lang.String createBy;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private java.util.Date createTime;
	/**最后修改人*/
	@Excel(name = "最后修改人", width = 15)
	private java.lang.String updateBy;
	/**最后修改时间*/
	@Excel(name = "最后修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private java.util.Date updateTime;
	/**备注*/
	@Excel(name = "备注", width = 15)
	private java.lang.String memo;
	/**扩展字段1*/
	@Excel(name = "扩展字段1", width = 15)
	private java.lang.String def1;
	/**扩展字段2*/
	@Excel(name = "扩展字段2", width = 15)
	private java.lang.String def2;
	/**扩展字段3*/
	@Excel(name = "扩展字段3", width = 15)
	private java.lang.String def3;
	/**扩展字段4*/
	@Excel(name = "扩展字段4", width = 15)
	private java.lang.String def4;
	/**扩展字段5*/
	@Excel(name = "扩展字段5", width = 15)
	private java.lang.String def5;

	//角色id
	@TableField(exist = false)
	private String roleId;

	//角色名称
	@TableField(exist = false)
	private String roleName;

	//登陆名
	@TableField(exist = false)
	private String username;

	/**部门名称*/
	@Excel(name = "部门名称", width = 15)
	@TableField(exist = false)
	private java.lang.String departName;

	//公司名称
	@TableField(exist = false)
	private String orgName;

	/**部门表中的人员主键*/
	@Excel(name = "部门表中的人员主键", width = 15)
	@TableField(exist = false)
	private java.lang.String pkPersonnelId;
	/**做查询审批人员使用*/
	@TableField(exist = false)
	private String parentId;


	/**直属领导名称*/
	@Excel(name = "直属领导", width = 15)
	@TableField(exist = false)
	private java.lang.String namePersonnel;
}
