package com.ejie.ab63.model.terceros;

import java.util.Date;

import com.ejie.x38.serialization.JsonDateDeserializer;
import com.ejie.x38.serialization.JsonDateSerializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

/**
 * DatosTerEmet  
 * 
 *  
 */

public class DatosTerEmet implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Integer idDatoTerEmet;
	private Integer idTercero;
	private Long idTipoEmpresa;
	private Long idDatoEmpleo;
	private Integer datEmpMesAnt;
	private Integer datEmpAnyoAnt;
	private Integer datEmpEjeAnt;
	private Date fechaRegistro;
	private String usuarioRegistro;
	private Date fechaUltmodificacion;
	private String usuarioUltmodificacion;

	/**
	 * Method 'DatosTerEmet'.
	 */
	public DatosTerEmet() {
	}

	/**
	 * Method 'DatosTerEmet'.
	 * 
	 * @param idDatoTerEmet
	 *            Integer
	 */
	public DatosTerEmet(Integer idDatoTerEmet) {
		this.idDatoTerEmet = idDatoTerEmet;
	}

	/**
	 * Method 'DatosTerEmet'.
	 * 
	 * @param idDatoTerEmet
	 *            Integer
	 * @param idTercero
	 *            Integer
	 * @param idTipoEmpresa
	 *            Long
	 * @param idDatoEmpleo
	 *            Long
	 * @param datEmpMesAnt
	 *            Integer
	 * @param datEmpAnyoAnt
	 *            Integer
	 * @param datEmpEjeAnt
	 *            Integer
	 * @param fechaRegistro
	 *            Date
	 * @param usuarioRegistro
	 *            String
	 * @param fechaUltmodificacion
	 *            Date
	 * @param usuarioUltmodificacion
	 *            String
	 */
	public DatosTerEmet(Integer idDatoTerEmet, Integer idTercero, Long idTipoEmpresa, Long idDatoEmpleo,
			Integer datEmpMesAnt, Integer datEmpAnyoAnt, Integer datEmpEjeAnt, Date fechaRegistro,
			String usuarioRegistro, Date fechaUltmodificacion, String usuarioUltmodificacion) {

		this.idDatoTerEmet = idDatoTerEmet;
		this.idTercero = idTercero;
		this.idTipoEmpresa = idTipoEmpresa;
		this.idDatoEmpleo = idDatoEmpleo;
		this.datEmpMesAnt = datEmpMesAnt;
		this.datEmpAnyoAnt = datEmpAnyoAnt;
		this.datEmpEjeAnt = datEmpEjeAnt;
		this.fechaRegistro = fechaRegistro;
		this.usuarioRegistro = usuarioRegistro;
		this.fechaUltmodificacion = fechaUltmodificacion;
		this.usuarioUltmodificacion = usuarioUltmodificacion;
	}

	/**
	 * Method 'getIdDatoTerEmet'.
	 *
	 * @return Integer
	 */

	public Integer getIdDatoTerEmet() {
		return this.idDatoTerEmet;
	}

	/**
	 * Method 'setIdDatoTerEmet'.
	 *
	 * @param idDatoTerEmet
	 *            Integer
	 * @return
	 */

	public void setIdDatoTerEmet(Integer idDatoTerEmet) {
		this.idDatoTerEmet = idDatoTerEmet;
	}

	/**
	 * Method 'getIdTercero'.
	 *
	 * @return Integer
	 */

	public Integer getIdTercero() {
		return this.idTercero;
	}

	/**
	 * Method 'setIdTercero'.
	 *
	 * @param idTercero
	 *            Integer
	 * @return
	 */

	public void setIdTercero(Integer idTercero) {
		this.idTercero = idTercero;
	}

	/**
	 * Method 'getIdTipoEmpresa'.
	 *
	 * @return Long
	 */

	public Long getIdTipoEmpresa() {
		return this.idTipoEmpresa;
	}

	/**
	 * Method 'setIdTipoEmpresa'.
	 *
	 * @param idTipoEmpresa
	 *            Long
	 * @return
	 */

	public void setIdTipoEmpresa(Long idTipoEmpresa) {
		this.idTipoEmpresa = idTipoEmpresa;
	}

	/**
	 * Method 'getIdDatoEmpleo'.
	 *
	 * @return Long
	 */

	public Long getIdDatoEmpleo() {
		return this.idDatoEmpleo;
	}

	/**
	 * Method 'setIdDatoEmpleo'.
	 *
	 * @param idDatoEmpleo
	 *            Long
	 * @return
	 */

	public void setIdDatoEmpleo(Long idDatoEmpleo) {
		this.idDatoEmpleo = idDatoEmpleo;
	}

	/**
	 * Method 'getDatEmpMesAnt'.
	 *
	 * @return Integer
	 */

	public Integer getDatEmpMesAnt() {
		return this.datEmpMesAnt;
	}

	/**
	 * Method 'setDatEmpMesAnt'.
	 *
	 * @param datEmpMesAnt
	 *            Integer
	 * @return
	 */

	public void setDatEmpMesAnt(Integer datEmpMesAnt) {
		this.datEmpMesAnt = datEmpMesAnt;
	}

	/**
	 * Method 'getDatEmpAnyoAnt'.
	 *
	 * @return Integer
	 */

	public Integer getDatEmpAnyoAnt() {
		return this.datEmpAnyoAnt;
	}

	/**
	 * Method 'setDatEmpAnyoAnt'.
	 *
	 * @param datEmpAnyoAnt
	 *            Integer
	 * @return
	 */

	public void setDatEmpAnyoAnt(Integer datEmpAnyoAnt) {
		this.datEmpAnyoAnt = datEmpAnyoAnt;
	}

	/**
	 * Method 'getDatEmpEjeAnt'.
	 *
	 * @return Integer
	 */

	public Integer getDatEmpEjeAnt() {
		return this.datEmpEjeAnt;
	}

	/**
	 * Method 'setDatEmpEjeAnt'.
	 *
	 * @param datEmpEjeAnt
	 *            Integer
	 * @return
	 */

	public void setDatEmpEjeAnt(Integer datEmpEjeAnt) {
		this.datEmpEjeAnt = datEmpEjeAnt;
	}

	/**
	 * Method 'getFechaRegistro'.
	 *
	 * @return java.util.Date
	 */

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFechaRegistro() {
		return this.fechaRegistro;
	}

	/**
	 * Method 'setFechaRegistro'.
	 *
	 * @param fechaRegistro
	 *            java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaRegistro(Date fechaRegistro) {
		this.fechaRegistro = fechaRegistro;
	}

	/**
	 * Method 'getUsuarioRegistro'.
	 *
	 * @return String
	 */

	public String getUsuarioRegistro() {
		return this.usuarioRegistro;
	}

	/**
	 * Method 'setUsuarioRegistro'.
	 *
	 * @param usuarioRegistro
	 *            String
	 * @return
	 */

	public void setUsuarioRegistro(String usuarioRegistro) {
		this.usuarioRegistro = usuarioRegistro;
	}

	/**
	 * Method 'getFechaUltmodificacion'.
	 *
	 * @return java.util.Date
	 */

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFechaUltmodificacion() {
		return this.fechaUltmodificacion;
	}

	/**
	 * Method 'setFechaUltmodificacion'.
	 *
	 * @param fechaUltmodificacion
	 *            java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaUltmodificacion(Date fechaUltmodificacion) {
		this.fechaUltmodificacion = fechaUltmodificacion;
	}

	/**
	 * Method 'getUsuarioUltmodificacion'.
	 *
	 * @return String
	 */

	public String getUsuarioUltmodificacion() {
		return this.usuarioUltmodificacion;
	}

	/**
	 * Method 'setUsuarioUltmodificacion'.
	 *
	 * @param usuarioUltmodificacion
	 *            String
	 * @return
	 */

	public void setUsuarioUltmodificacion(String usuarioUltmodificacion) {
		this.usuarioUltmodificacion = usuarioUltmodificacion;
	}

	/**
	 * Intended only for logging and debugging.
	 * 
	 * Here, the contents of every main field are placed into the result.
	 * 
	 * @return String
	 */
	@Override
	public String toString() {
		StringBuilder result = new StringBuilder();
		result.append(this.getClass().getName()).append(" Object { ");
		result.append(" [ idDatoTerEmet: ").append(this.idDatoTerEmet).append(" ]");
		result.append(", [ idTercero: ").append(this.idTercero).append(" ]");
		result.append(", [ idTipoEmpresa: ").append(this.idTipoEmpresa).append(" ]");
		result.append(", [ idDatoEmpleo: ").append(this.idDatoEmpleo).append(" ]");
		result.append(", [ datEmpMesAnt: ").append(this.datEmpMesAnt).append(" ]");
		result.append(", [ datEmpAnyoAnt: ").append(this.datEmpAnyoAnt).append(" ]");
		result.append(", [ datEmpEjeAnt: ").append(this.datEmpEjeAnt).append(" ]");
		result.append(", [ fechaRegistro: ").append(this.fechaRegistro).append(" ]");
		result.append(", [ usuarioRegistro: ").append(this.usuarioRegistro).append(" ]");
		result.append(", [ fechaUltmodificacion: ").append(this.fechaUltmodificacion).append(" ]");
		result.append(", [ usuarioUltmodificacion: ").append(this.usuarioUltmodificacion).append(" ]");
		result.append("}");
		return result.toString();
	}

}
