/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.wechat.model.dbEntity;

import java.util.Date;

import javax.validation.constraints.NotNull;
import javax.validation.groups.Default;

import org.hibernate.validator.constraints.NotBlank;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.wechat.common.utils.StringsUtils;

/**
 * 单表生成Entity
 * 
 * @author tangwc
 * @version 2018-05-23
 */
public class MdeEducationExperience extends BaseEntity {

	private static final long serialVersionUID = 1L;

	public interface SaveGroup extends Default {
	}

	public interface UpdateGroup extends Default {
	}

//	@Null(groups = { SaveGroup.class }, message = "")
	@NotNull(groups = { UpdateGroup.class }, message = "教育经历ID不能为空|Education experience Id can not be empty.")
	private Integer eduId; // 教育履历ID（自增）

	@NotNull(message = "用户code不能为空|User code can not be empty.")
	private String userCode; // 用户code

	@NotNull(message = "学历不能为空|Education can not be empty.")
	private Integer education; // 学历（字典表管理，以数值表示）

	private String educationName; // 学历名称

	@NotBlank
	private String schName; // 学校名称

	private String schCountry; // 学校地址-国家/地区[三位字母代码（ISO 3166-1 alpha-3）]

	private String schProvince; // 学校地址-省（中国）

	private String schCity; // 学校地址-市（中国）

	@NotBlank(message = "专业不能为空|Profession can not be empty.")
	private String speciality; // 专业

	@NotNull(message = "入学时间不能为空|Admission time can not be empty.")
	@JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
	private Date enterDate; // 入学时间
	
	@JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
	private Date quitDate; // 毕业时间
	private String schDescribe; // 说明

	public MdeEducationExperience() {
		super();
	}

	// @Length(min=1, max=11, message="教育履历ID（自增）长度必须介于 1 和 11 之间")
	public Integer getEduId() {
		return eduId;
	}

	public void setEduId(Integer eduId) {
		this.eduId = eduId;
	}

	// @Length(min=1, max=11, message="用户code长度必须介于 1 和 11 之间")
	public String getUserCode() {
		return userCode;
	}

	public void setUserCode(String userCode) {
		this.userCode = userCode;
	}


	public Integer getEducation() {
		return education;
	}

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

	// @Length(min=1, max=255, message="学校名称长度必须介于 1 和 255 之间")
	public String getSchName() {
		return schName;
	}

	public void setSchName(String schName) {
		this.schName = StringsUtils.trim(schName);
	}

	// @Length(min=1, max=3, message="学校地址-国家/地区[三位字母代码（ISO 3166-1 alpha-3）]长度必须介于 1
	// 和 3 之间")
	public String getSchCountry() {
		return schCountry;
	}

	public void setSchCountry(String schCountry) {
		this.schCountry = StringsUtils.trim(schCountry);
	}

	// @Length(min=0, max=6, message="学校地址-省（中国）长度必须介于 0 和 6 之间")
	public String getSchProvince() {
		return schProvince;
	}

	public void setSchProvince(String schProvince) {
		this.schProvince = schProvince;
	}

	// @Length(min=0, max=6, message="学校地址-市（中国）长度必须介于 0 和 6 之间")
	public String getSchCity() {
		return schCity;
	}

	public void setSchCity(String schCity) {
		this.schCity = schCity;
	}

	// @Length(min=1, max=255, message="专业长度必须介于 1 和 255 之间")
	public String getSpeciality() {
		return speciality;
	}

	public void setSpeciality(String speciality) {
		this.speciality = speciality;
	}

	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	// @NotNull(message="入学时间不能为空")
	public Date getEnterDate() {
		return enterDate;
	}

	public void setEnterDate(Date enterDate) {
		this.enterDate = enterDate;
	}

	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	public Date getQuitDate() {
		return quitDate;
	}

	public void setQuitDate(Date quitDate) {
		this.quitDate = quitDate;
	}

	public String getSchDescribe() {
		return schDescribe;
	}

	public void setSchDescribe(String schDescribe) {
		this.schDescribe = schDescribe;
	}

	public String getEducationName() {
		return educationName;
	}

	public void setEducationName(String educationName) {
		this.educationName = StringsUtils.trim(educationName);
	}

}