package com.wechat.model.dbEntity;

import java.math.BigDecimal;
import java.util.Date;

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

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

/**
 * 单表生成Entity
 * 
 * @author tangwc
 * @version 2018-05-23
 */
public class MdeWorkExperience extends BaseEntity {
	public interface SaveGroup extends Default {}

	public interface UpdateGroup extends Default {}

	private static final long serialVersionUID = 1L;

	@NotNull(groups = { UpdateGroup.class }, message = "Work experience ID cannot be empty|")
	private Integer workId; // 工作履历ID（自增）

	//@NotNull(message = "用户code不能为空|usercode can not be null")
	private String userCode; // 用户code
	private String coId; // 酒店id（酒店公司信息表）
	private String coName; // 酒店名称（用户选择&lsquo;其他&rsquo;选项是填充的内容）

	@NotNull(message = "职位头衔不能为空|Job title cannot be empty")
	private String positionTitle; // 职位头衔（职位信息表code）

	@NotNull(message = "入职时间不能为空|Entry time cannot be empty")
	@JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
	private Date enterDate; // 入职时间
	
	@JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
	private Date quitDate; // 离职时间
	
	private String onJob; // 在职标识[0-离职；1-在职]
	private String showFlag; // 职位头衔显示[0-显示；1-不显示]
	private String enFlag; // 英文版本标识[1-中文；2-英文]
	
	private BigDecimal pay; // 薪资


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

	public void setWorkId(Integer workId) {
		this.workId = workId;
	}

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

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

	// @Length(min=0, max=11, message="酒店id（酒店公司信息表）长度必须介于 0 和 11 之间")
	public String getCoId() {
		return coId;
	}

	public void setCoId(String coId) {
		this.coId = coId;
	}

	// @Length(min=0, max=255, message="酒店名称（用户选择&lsquo;其他&rsquo;选项是填充的内容）长度必须介于 0 和
	// 255 之间")
	public String getCoName() {
		return coName;
	}

	public void setCoName(String coName) {
		this.coName = StringsUtils.trim(coName);
	}

	// @Length(min=1, max=6, message="职位头衔（职位信息表code）长度必须介于 1 和 6 之间")
	public String getPositionTitle() {
		return positionTitle;
	}

	public void setPositionTitle(String positionTitle) {
		this.positionTitle = StringsUtils.trim(positionTitle);
	}

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

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

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

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

	// @Length(min=1, max=1, message="在职标识[0-离职；1-在职]长度必须介于 1 和 1 之间")
	public String getOnJob() {
		return onJob;
	}

	public void setOnJob(String onJob) {
		this.onJob = onJob;
	}

	// @Length(min=1, max=1, message="职位头衔显示[0-显示；1-不显示]长度必须介于 1 和 1 之间")
	public String getShowFlag() {
		return showFlag;
	}

	public void setShowFlag(String showFlag) {
		this.showFlag = showFlag;
	}

	// @Length(min=1, max=1, message="英文版本标识[1-中文；2-英文]长度必须介于 1 和 1 之间")
	public String getEnFlag() {
		return enFlag;
	}

	public void setEnFlag(String enFlag) {
		this.enFlag = enFlag;
	}

	public BigDecimal getPay() {
		return pay;
	}

	public void setPay(BigDecimal pay) {
		this.pay = pay;
	}


}