package com.hnshituo.core.auth.vo;

import java.io.Serializable;
import java.util.Date;

import org.springframework.web.multipart.MultipartFile;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.hnshituo.basic.vo.BaseVO;
import com.hnshituo.core.auth.mapper.UserInfoMapper;
import com.hnshituo.orm.annotation.Column;
import com.hnshituo.orm.annotation.Id;
import com.hnshituo.orm.annotation.Table;

@JsonInclude(Include.NON_EMPTY)
@Table(name="CORE_AUTH_USER", namespace=UserInfoMapper.class)
public class UserInfo extends BaseVO implements Serializable {
	
	/*
	 * 新增UserInfo对象，包含user的除department、roles以外的所有信息，只查user表，节省时间
	 */
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -4638410623393187798L;

	/** 用户编号 */
	@Id
	private String id;
	
	private MultipartFile mFile;
	
	/** 个性签名*/
	@Column("INDIVIDUALITY_SIGNATURE")
	private String individuality_signature;

	/** 科室编号 */
	@Column
	private String offices_no;
	
	/** 登录名 */
	@Column("LOGIN_NAME")
	private String loginName;

	/** 密码 */
	@Column
	private String password;

	/** 用户姓名 */
	@Column
	private String username;

	/** 组织ID */
	@Column("DEPT_ID")
	private String deptId;
	
	/** 组织部门名称 */
	@Column("DEPT_NAME")
	private String deptName;

	/** 性别 */
	@Column
	private Integer sex;

	/** 年龄 */
	@Column
	private Integer age;

	/** IP地址 */
	@Column
	private String ip;

	/** 邮箱 */
	@Column
	private String email;

	/** 地址 */
	@Column
	private String address;

	/** 电话 */
	@Column
	private String phone;
	
	/**手机*/
	@Column("TELEPHONE")
	private String telephone;

	/** 照片 */
	@Column
	private byte[] image;
	
	/** 照片 */
	@Column
	private String logo;

	/** 加入公司日期 */
	@Column("JOIN_DATE")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date joinDate;

	/** 生日 */
	@Column
	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date birthday;

	/** 籍贯 */
	@Column("NATIVE_PLACE")
	private String nativePlace;

	/** 政治面貌 */
	@Column
	private String political;

	/** 职务 */
	@Column
	private String duty;

	/** 职称 */
	@Column
	private String title;

	/** 文化程度 */
	@Column
	private String education;

	/** 专业 */
	@Column
	private String profession;

	/** 毕业院校 */
	@Column("GRADUATE_SCHOOL")
	private String graduateSchool;

	/** 是否登录（0-未登录；1-已登录） */
	@Column
	private Integer islogin;

	/** 用户状态（0-启用；1-停用） */
	@Column
	private Integer status;

	/** 创建部门 */
	@Column("CREATE_DEPT_ID")
	private String createDeptId;

	/** 创建人 */
	@Column("CREATE_MAN")
	private String createMan;

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

	/** 修改人 */
	@Column("UPDATE_MAN")
	private String updateMan;

	/** 修改时间 */
	@Column("UPDATE_TIME")
	private Date updateTime;
	
	/** 移动设备 */
	@Column("DEVICE")
	private String device;

	@Column
	private String memo;
	
	@Column		
	private String token;

	/** 科室名称*/
	@Column
	private String offices_name;
	
	/**角色信息串*/
	private String positions;
  
	public String getId() {
		return this.id;
	}

	public String getLoginName() {
		return this.loginName;
	}

	public String getPassword() {
		return this.password;
	}

	public String getUsername() {
		return this.username;
	}

	public String getTelephone() {
		return telephone;
	}

	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}

	public String getDeptId() {
		return this.deptId;
	}
	
	public String getDeptName() {
		return this.deptName;
	}

	public Integer getSex() {
		return this.sex;
	}

	public Integer getAge() {
		return this.age;
	}

	public String getIp() {
		return this.ip;
	}

	public String getEmail() {
		return this.email;
	}

	public String getAddress() {
		return this.address;
	}

	public String getPhone() {
		return this.phone;
	}

	public byte[] getImage() {
		return this.image;
	}
	
	public String getLogo() {
		return this.logo;
	}

	public Date getJoinDate() {
		return this.joinDate;
	}

	public Date getBirthday() {
		return this.birthday;
	}

	public String getNativePlace() {
		return this.nativePlace;
	}

	public String getPolitical() {
		return this.political;
	}

	public String getDuty() {
		return this.duty;
	}

	public String getTitle() {
		return this.title;
	}

	public String getEducation() {
		return this.education;
	}

	public String getProfession() {
		return this.profession;
	}

	public String getGraduateSchool() {
		return this.graduateSchool;
	}

	public Integer getIslogin() {
		return this.islogin;
	}

	public Integer getStatus() {
		return this.status;
	}

	public String getCreateDeptId() {
		return this.createDeptId;
	}

	public String getCreateMan() {
		return this.createMan;
	}

	public Date getCreateTime() {
		return this.createTime;
	}

	public String getUpdateMan() {
		return this.updateMan;
	}

	public Date getUpdateTime() {
		return this.updateTime;
	}

	public String getMemo() {
		return this.memo;
	}

	public void setId(String id) {
		this.id = id;
	}

	public void setLoginName(String loginName) {
		this.loginName = loginName;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public void setDeptId(String deptId) {
		this.deptId = deptId;
	}
	
	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}

	public void setSex(Integer sex) {
		this.sex = sex;
	}

	public void setAge(Integer age) {
		this.age = age;
	}

	public void setIp(String ip) {
		this.ip = ip;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public void setImage(byte[] image) {
		this.image = image;
	}
	
	public void setLogo(String logo) {
		this.logo = logo;
	}

	public void setJoinDate(Date joinDate) {
		this.joinDate = joinDate;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	public void setNativePlace(String nativePlace) {
		this.nativePlace = nativePlace;
	}

	public void setPolitical(String political) {
		this.political = political;
	}

	public void setDuty(String duty) {
		this.duty = duty;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public void setEducation(String education) {
		this.education = education;
	}

	public void setProfession(String profession) {
		this.profession = profession;
	}

	public void setGraduateSchool(String graduateSchool) {
		this.graduateSchool = graduateSchool;
	}

	public void setIslogin(Integer islogin) {
		this.islogin = islogin;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public void setCreateDeptId(String createDeptId) {
		this.createDeptId = createDeptId;
	}

	public void setCreateMan(String createMan) {
		this.createMan = createMan;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public void setUpdateMan(String updateMan) {
		this.updateMan = updateMan;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public void setMemo(String memo) {
		this.memo = memo;
	}

	public MultipartFile getmFile() {
		return mFile;
	}

	public void setmFile(MultipartFile mFile) {
		this.mFile = mFile;
	}

	public void setDevice(String device) {
		this.device = device;
	}

	public String getDevice() {
		return device;
	}

	public String getIndividuality_signature() {
		return individuality_signature;
	}
	public void setIndividuality_signature(String individuality_signature) {
		this.individuality_signature = individuality_signature;
	}

	
	public String getOffices_name() {
		return offices_name;
	}
	public void setOffices_name(String offices_name) {
		this.offices_name = offices_name;
	}
	
	
	public String getOffices_no() {
		return offices_no;
	}

	public void setOffices_no(String offices_no) {
		this.offices_no = offices_no;
	}

	public void setToken(String token) {
		this.token = token;
	}

	public String getToken() {
		return token;
	}

	public void setPositions(String positions) {
		this.positions = positions;
	}

	public String getPositions() {
		return positions;
	}

	
}
