package cn.com.countrygarden.bi.main.model.writtenExamination;

import java.io.Serializable;
import java.text.SimpleDateFormat;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import java.util.Date;

/**
 * 选拔得分表
 *
 * @author 汤婷
 * @email www.justintoforest@gamail.com
 * @url
 * @date 2018-10-17
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@Table(name = "personnel_selectionscore")
public class PersonnelSelectionscore implements Serializable {
	private static final long serialVersionUID = 1L;
	/**
	 * 
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Integer id;
	/**
	 * 人才信息_ID
	 */
	@Column(name = "personnel_id")
	private Integer personnelId;

	/**
	 * 人才信息_标签id
	 */
	@Column(name = "personnel_tag_id")
	private Integer personneltagId;

	/**
	 * 选拔类型ID
	 */
	@Column(name = "personnel_selection_type_id")
	private Integer personnelSelectionTypeId;
	/**
	 * 描述
	 */
	@Column(name = "selectiondescription")
	private String selectiondescription;
	/**
	 * 得分
	 */
	@Column(name = "score")
	private Double score;
	/**
	 * 附件名称
	 */
	@Column(name = "appendix_name")
	private String appendixName;
	/**
	 * 附件地址
	 */
	@Column(name = "appendix")
	private String appendix;
	/**
	 * 创建时间
	 */

	@Column(name = "selection_time")
	@JSONField(format = "yyyy/MM/dd HH:mm")
	@JsonFormat(pattern = "yyyy/MM/dd HH:mm", timezone = "GMT+8")
	private Date selectionTime;
	@JSONField(format = "yyyy/MM/dd HH:mm")
	@JsonFormat(pattern = "yyyy/MM/dd HH:mm", timezone = "GMT+8")
	private Date createdDate;
	/**
	 * 创建人
	 */
	@Column(name = "created_by")
	private String createdBy;
	/**
	 * 创建人
	 */
	@Column(name = "created_name")
	private String createdName;

	/**
	 * 修改时间
	 */
	@JSONField(format = "yyyy/MM/dd HH:mm")
	@JsonFormat(pattern = "yyyy/MM/dd HH:mm", timezone = "GMT+8")
	private Date updatedDate;
	/**
	 * 修改人
	 */
	@Column(name = "updated_by")
	private String updatedBy;
	/**
	 * 标识符（0未删除，1已经删除）
	 */
	@Column(name = "flag")
	private Integer flag;

	public String getAppendixName() {
		return appendixName;
	}

	public Integer getPersonneltagId() {
		return personneltagId;
	}

	public void setPersonneltagId(Integer personneltagId) {
		this.personneltagId = personneltagId;
	}

	public void setAppendixName(String appendixName) {
		this.appendixName = appendixName;
	}

	public Date getSelectionTime() {
		return selectionTime;
	}

	public void setSelectionTime(Date selectionTime) {
		this.selectionTime = selectionTime;
	}

	public PersonnelSelectionscore() {
		super();
	}

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

	public Integer getPersonnelSelectionTypeId() {
		return personnelSelectionTypeId;
	}

	public void setPersonnelSelectionTypeId(Integer personnelSelectionTypeId) {
		this.personnelSelectionTypeId = personnelSelectionTypeId;
	}

	public Integer getId() {
		return id;
	}

	public void setPersonnelId(Integer personnelId) {
		this.personnelId = personnelId;
	}

	public String getCreatedName() {
		return createdName;
	}

	public void setCreatedName(String createdName) {
		this.createdName = createdName;
	}

	public Integer getPersonnelId() {
		return personnelId;
	}

	public void setSelectiondescription(String selectiondescription) {
		this.selectiondescription = selectiondescription;
	}

	public String getSelectiondescription() {
		return selectiondescription;
	}

	

	public Double getScore() {
		return score;
	}

	public void setScore(Double score) {
		this.score = score;
	}

	public void setAppendix(String appendix) {
		this.appendix = appendix;
	}

	public String getAppendix() {
		return appendix;
	}

	public void setCreatedDate(Date createdDate) {
		this.createdDate = createdDate;
	}

	public Date getCreatedDate() {
		return createdDate;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	public String getCreatedBy() {
		return createdBy;
	}

	public void setUpdatedDate(Date updatedDate) {
		this.updatedDate = updatedDate;
	}

	public Date getUpdatedDate() {
		return updatedDate;
	}

	public void setUpdatedBy(String updatedBy) {
		this.updatedBy = updatedBy;
	}

	public String getUpdatedBy() {
		return updatedBy;
	}

	public Integer getFlag() {
		return flag;
	}

	public void setFlag(Integer flag) {
		this.flag = flag;
	}

	
	
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((appendix == null) ? 0 : appendix.hashCode());
		result = prime * result + ((appendixName == null) ? 0 : appendixName.hashCode());
		result = prime * result + ((createdBy == null) ? 0 : createdBy.hashCode());
		result = prime * result + ((createdDate == null) ? 0 : createdDate.hashCode());
		result = prime * result + ((createdName == null) ? 0 : createdName.hashCode());
		result = prime * result + ((flag == null) ? 0 : flag.hashCode());
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		result = prime * result + ((personnelId == null) ? 0 : personnelId.hashCode());
		result = prime * result + ((personnelSelectionTypeId == null) ? 0 : personnelSelectionTypeId.hashCode());
		result = prime * result + ((personneltagId == null) ? 0 : personneltagId.hashCode());
		result = prime * result + ((score == null) ? 0 : score.hashCode());
		result = prime * result + ((selectionTime == null) ? 0 : selectionTime.hashCode());
		result = prime * result + ((selectiondescription == null) ? 0 : selectiondescription.hashCode());
		result = prime * result + ((updatedBy == null) ? 0 : updatedBy.hashCode());
		result = prime * result + ((updatedDate == null) ? 0 : updatedDate.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		PersonnelSelectionscore other = (PersonnelSelectionscore) obj;
		if (appendix == null) {
			if (other.appendix != null)
				return false;
		} else if (!appendix.equals(other.appendix))
			return false;
		if (appendixName == null) {
			if (other.appendixName != null)
				return false;
		} else if (!appendixName.equals(other.appendixName))
			return false;
		if (createdBy == null) {
			if (other.createdBy != null)
				return false;
		} else if (!createdBy.equals(other.createdBy))
			return false;
		if (createdDate == null) {
			if (other.createdDate != null)
				return false;
		} else if (!createdDate.equals(other.createdDate))
			return false;
		if (createdName == null) {
			if (other.createdName != null)
				return false;
		} else if (!createdName.equals(other.createdName))
			return false;
		if (flag == null) {
			if (other.flag != null)
				return false;
		} else if (!flag.equals(other.flag))
			return false;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		if (personnelId == null) {
			if (other.personnelId != null)
				return false;
		} else if (!personnelId.equals(other.personnelId))
			return false;
		if (personnelSelectionTypeId == null) {
			if (other.personnelSelectionTypeId != null)
				return false;
		} else if (!personnelSelectionTypeId.equals(other.personnelSelectionTypeId))
			return false;
		if (personneltagId == null) {
			if (other.personneltagId != null)
				return false;
		} else if (!personneltagId.equals(other.personneltagId))
			return false;
		if (score == null) {
			if (other.score != null)
				return false;
		} else if (!score.equals(other.score))
			return false;
		if (selectionTime == null) {
			if (other.selectionTime != null)
				return false;
		} else if (!selectionTime.equals(other.selectionTime))
			return false;
		if (selectiondescription == null) {
			if (other.selectiondescription != null)
				return false;
		} else if (!selectiondescription.equals(other.selectiondescription))
			return false;
		if (updatedBy == null) {
			if (other.updatedBy != null)
				return false;
		} else if (!updatedBy.equals(other.updatedBy))
			return false;
		if (updatedDate == null) {
			if (other.updatedDate != null)
				return false;
		} else if (!updatedDate.equals(other.updatedDate))
			return false;
		return true;
	}

	public String toString() {
		return "========PersonnelSelectionscore==========="+"personnelId:"+personnelId+",personneltagId:"+personneltagId+",personnelSelectionTypeId:"+personnelSelectionTypeId;
	}

}
