package com.ejie.aa20b.model;

import com.ejie.x38.serialization.JsonDateDeserializer;
import com.ejie.x38.serialization.JsonDateSerializer;
import java.util.Date;
import org.codehaus.jackson.map.annotate.JsonDeserialize;
import org.codehaus.jackson.map.annotate.JsonSerialize;

/**
 * Actuacion generated by UDA, 05-mar-2015 10:57:47.
 * 
 * @author UDA
 */

public class Actuacion implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Integer idactuacion;
	private Integer idficha;
	private Long idmaquina;
	private Integer idcuestionario;
	private Integer idparte;
	private Date fecha;
	private String descripcion;
	private Long tiempo;
	private Date feprevista;

	private String act; // Para recoger cuestionario.nrorden &
						// cuestionario.operacion
	private Cuestionario cuestionario;
	private Maquinas maquina;

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

	/**
	 * Method 'Actuacion'.
	 * 
	 * @param idactuacion
	 *            Integer
	 * @param idficha
	 *            Integer
	 * @param idmaquina
	 *            Long
	 * @param idcuestionario
	 *            Integer
	 * @param idparte
	 *            Integer
	 * @param fecha
	 *            Date
	 * @param descripcion
	 *            String
	 * @param tiempo
	 *            Long
	 * @param feprevista
	 *            Date
	 */
	public Actuacion(Integer idactuacion, Integer idficha, Long idmaquina,
			Integer idcuestionario, Integer idparte, Date fecha,
			String descripcion, Long tiempo, Date feprevista) {

		this.idactuacion = idactuacion;
		this.idficha = idficha;
		this.idmaquina = idmaquina;
		this.idcuestionario = idcuestionario;
		this.idparte = idparte;
		this.fecha = fecha;
		this.descripcion = descripcion;
		this.tiempo = tiempo;
		this.feprevista = feprevista;
	}

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

	public Integer getIdactuacion() {
		return this.idactuacion;
	}

	/**
	 * Method 'setIdactuacion'.
	 * 
	 * @param idactuacion
	 *            Integer
	 * @return
	 */

	public void setIdactuacion(Integer idactuacion) {
		this.idactuacion = idactuacion;
	}

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

	public Integer getIdficha() {
		return this.idficha;
	}

	/**
	 * Method 'setIdficha'.
	 * 
	 * @param idficha
	 *            Integer
	 * @return
	 */

	public void setIdficha(Integer idficha) {
		this.idficha = idficha;
	}

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

	public Long getIdmaquina() {
		return this.idmaquina;
	}

	/**
	 * Method 'setIdmaquina'.
	 * 
	 * @param idmaquina
	 *            Long
	 * @return
	 */

	public void setIdmaquina(Long idmaquina) {
		this.idmaquina = idmaquina;
	}

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

	public Integer getIdcuestionario() {
		return this.idcuestionario;
	}

	/**
	 * Method 'setIdcuestionario'.
	 * 
	 * @param idcuestionario
	 *            Integer
	 * @return
	 */

	public void setIdcuestionario(Integer idcuestionario) {
		this.idcuestionario = idcuestionario;
	}

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

	public Integer getIdparte() {
		return this.idparte;
	}

	/**
	 * Method 'setIdparte'.
	 * 
	 * @param idparte
	 *            Integer
	 * @return
	 */

	public void setIdparte(Integer idparte) {
		this.idparte = idparte;
	}

	/**
	 * Method 'getFecha'.
	 * 
	 * @return Date
	 */

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

	/**
	 * Method 'setFecha'.
	 * 
	 * @param fecha
	 *            Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

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

	public String getDescripcion() {
		return this.descripcion;
	}

	/**
	 * Method 'setDescripcion'.
	 * 
	 * @param descripcion
	 *            String
	 * @return
	 */

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

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

	public Long getTiempo() {
		return this.tiempo;
	}

	/**
	 * Method 'setTiempo'.
	 * 
	 * @param tiempo
	 *            Long
	 * @return
	 */

	public void setTiempo(Long tiempo) {
		this.tiempo = tiempo;
	}

	/**
	 * Method 'getFeprevista'.
	 * 
	 * @return Date
	 */

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

	/**
	 * Method 'setFeprevista'.
	 * 
	 * @param feprevista
	 *            Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFeprevista(Date feprevista) {
		this.feprevista = feprevista;
	}

	/**
	 * 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(" [ idactuacion: ").append(this.idactuacion).append(" ]");
		result.append(", [ idficha: ").append(this.idficha).append(" ]");
		result.append(", [ idmaquina: ").append(this.idmaquina).append(" ]");
		result.append(", [ idcuestionario: ").append(this.idcuestionario)
				.append(" ]");
		result.append(", [ idparte: ").append(this.idparte).append(" ]");
		result.append(", [ fecha: ").append(this.fecha).append(" ]");
		result.append(", [ descripcion: ").append(this.descripcion)
				.append(" ]");
		result.append(", [ tiempo: ").append(this.tiempo).append(" ]");
		result.append(", [ feprevista: ").append(this.feprevista).append(" ]");
		result.append("}");
		return result.toString();
	}

	public void setCuestionario(Cuestionario cuestionario) {
		this.cuestionario = cuestionario;
	}

	public Cuestionario getCuestionario() {
		return cuestionario;
	}

	public void setAct(String act) {
		this.act = act;
	}

	public String getAct() {
		return act;
	}

	public void setMaquina(Maquinas maquina) {
		this.maquina = maquina;
	}

	public Maquinas getMaquina() {
		return maquina;
	}

}
