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;

/**
 * Maquinas generated by UDA, 04-mar-2015 15:44:06.
 * 
 * @author UDA
 */

public class Maquinas implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Long idmaquina;
	private String mcodigo;
	private Long idgama;
	private String cmaquina;
	private String emaquina;
	private Date primerMto;
	private Date sigMto;
	private String idedificio;
	private Integer idzona;
	private Integer idplanta;
	private Date feini;
	private String baja;

	private Gamas gama;
	private Edificios edificio;
	private Zonas zona;
	private Plantas planta;
	private String edifZonaPlta;

	// datos de Cuestionarios
	private String operacion;
	private Long semanas;

	private String strFeini; // para recoger los filtros y mantener al Volver.

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

	/**
	 * Method 'Maquinas'.
	 * 
	 * @param idmaquina
	 *            Long
	 * @param mcodigo
	 *            String
	 * @param idgama
	 *            Long
	 * @param cmaquina
	 *            String
	 * @param emaquina
	 *            String
	 * @param primerMto
	 *            Date
	 * @param sigMto
	 *            Date
	 * @param idedificio
	 *            String
	 * @param idzona
	 *            Integer
	 * @param idplanta
	 *            Integer
	 * @param feini
	 *            Date
	 * @param baja
	 *            String
	 * @param gama
	 *            Gamas
	 * @param edificio
	 *            Edificios
	 * @param zona
	 *            Zonas
	 * @param planta
	 *            Plantas
	 * @param edifZonaPlta
	 *            String
	 */
	public Maquinas(Long idmaquina, String mcodigo, Long idgama,
			String cmaquina, String emaquina, Date primerMto, Date sigMto,
			String idedificio, Integer idzona, Integer idplanta, Date feini,
			String baja, Gamas gama, Edificios edificio, Zonas zona,
			Plantas planta, String edifZonaPlta) {

		this.idmaquina = idmaquina;
		this.mcodigo = mcodigo;
		this.idgama = idgama;
		this.cmaquina = cmaquina;
		this.emaquina = emaquina;
		this.primerMto = primerMto;
		this.sigMto = sigMto;
		this.idedificio = idedificio;
		this.idzona = idzona;
		this.idplanta = idplanta;
		this.feini = feini;
		this.baja = baja;
		this.gama = gama;
		this.edificio = edificio;
		this.zona = zona;
		this.planta = planta;
		this.edifZonaPlta = edifZonaPlta;
	}

	/**
	 * 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 'getMcodigo'.
	 * 
	 * @return String
	 */

	public String getMcodigo() {
		return this.mcodigo;
	}

	/**
	 * Method 'setMcodigo'.
	 * 
	 * @param mcodigo
	 *            String
	 * @return
	 */

	public void setMcodigo(String mcodigo) {
		this.mcodigo = mcodigo;
	}

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

	public Long getIdgama() {
		return this.idgama;
	}

	/**
	 * Method 'setIdgama'.
	 * 
	 * @param idgama
	 *            Long
	 * @return
	 */

	public void setIdgama(Long idgama) {
		this.idgama = idgama;
	}

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

	public String getCmaquina() {
		return this.cmaquina;
	}

	/**
	 * Method 'setCmaquina'.
	 * 
	 * @param cmaquina
	 *            String
	 * @return
	 */

	public void setCmaquina(String cmaquina) {
		this.cmaquina = cmaquina;
	}

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

	public String getEmaquina() {
		return this.emaquina;
	}

	/**
	 * Method 'setEmaquina'.
	 * 
	 * @param emaquina
	 *            String
	 * @return
	 */

	public void setEmaquina(String emaquina) {
		this.emaquina = emaquina;
	}

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

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

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

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

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

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

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

	public String getIdedificio() {
		return this.idedificio;
	}

	/**
	 * Method 'setIdedificio'.
	 * 
	 * @param idedificio
	 *            String
	 * @return
	 */

	public void setIdedificio(String idedificio) {
		this.idedificio = idedificio;
	}

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

	public Integer getIdzona() {
		return this.idzona;
	}

	/**
	 * Method 'setIdzona'.
	 * 
	 * @param idzona
	 *            Integer
	 * @return
	 */

	public void setIdzona(Integer idzona) {
		this.idzona = idzona;
	}

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

	public Integer getIdplanta() {
		return this.idplanta;
	}

	/**
	 * Method 'setIdplanta'.
	 * 
	 * @param idplanta
	 *            Integer
	 * @return
	 */

	public void setIdplanta(Integer idplanta) {
		this.idplanta = idplanta;
	}

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

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

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

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

	public String getBaja() {
		return this.baja;
	}

	/**
	 * Method 'setBaja'.
	 * 
	 * @param baja
	 *            String
	 * @return
	 */

	public void setBaja(String baja) {
		this.baja = baja;
	}

	/**
	 * Method 'getGama'.
	 * 
	 * @return Gamas
	 */

	public Gamas getGama() {
		return this.gama;
	}

	/**
	 * Method 'setGama'.
	 * 
	 * @param gama
	 *            Gamas
	 * @return
	 */

	public void setGama(Gamas gama) {
		this.gama = gama;
	}

	/**
	 * Method 'getEdificio'.
	 * 
	 * @return Edificios
	 */

	public Edificios getEdificio() {
		return this.edificio;
	}

	/**
	 * Method 'setEdificio'.
	 * 
	 * @param edificio
	 *            Edificios
	 * @return
	 */

	public void setEdificio(Edificios edificio) {
		this.edificio = edificio;
	}

	/**
	 * Method 'getZona'.
	 * 
	 * @return Zonas
	 */

	public Zonas getZona() {
		return this.zona;
	}

	/**
	 * Method 'setZona'.
	 * 
	 * @param zona
	 *            Zonas
	 * @return
	 */

	public void setZona(Zonas zona) {
		this.zona = zona;
	}

	/**
	 * Method 'getPlanta'.
	 * 
	 * @return Plantas
	 */

	public Plantas getPlanta() {
		return this.planta;
	}

	/**
	 * Method 'setPlanta'.
	 * 
	 * @param planta
	 *            Plantas
	 * @return
	 */

	public void setPlanta(Plantas planta) {
		this.planta = planta;
	}

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

	public String getEdifZonaPlta() {
		return this.edifZonaPlta;
	}

	/**
	 * Method 'setEdifZonaPlta'.
	 * 
	 * @param edifZonaPlta
	 *            String
	 * @return
	 */

	public void setEdifZonaPlta(String edifZonaPlta) {
		this.edifZonaPlta = edifZonaPlta;
	}

	/**
	 * 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(" [ idmaquina: ").append(this.idmaquina).append(" ]");
		result.append(", [ mcodigo: ").append(this.mcodigo).append(" ]");
		result.append(", [ idgama: ").append(this.idgama).append(" ]");
		result.append(", [ cmaquina: ").append(this.cmaquina).append(" ]");
		result.append(", [ emaquina: ").append(this.emaquina).append(" ]");
		result.append(", [ primerMto: ").append(this.primerMto).append(" ]");
		result.append(", [ sigMto: ").append(this.sigMto).append(" ]");
		result.append(", [ idedificio: ").append(this.idedificio).append(" ]");
		result.append(", [ idzona: ").append(this.idzona).append(" ]");
		result.append(", [ idplanta: ").append(this.idplanta).append(" ]");
		result.append(", [ feini: ").append(this.feini).append(" ]");
		result.append(", [ baja: ").append(this.baja).append(" ]");
		result.append(", [ gama: ").append(this.gama).append(" ]");
		result.append(", [ edificio: ").append(this.edificio).append(" ]");
		result.append(", [ zona: ").append(this.zona).append(" ]");
		result.append(", [ planta: ").append(this.planta).append(" ]");
		result.append(", [ edifZonaPlta: ").append(this.edifZonaPlta)
				.append(" ]");
		result.append("}");
		return result.toString();
	}

	public void setOperacion(String operacion) {
		this.operacion = operacion;
	}

	public String getOperacion() {
		return operacion;
	}

	public void setSemanas(Long semanas) {
		this.semanas = semanas;
	}

	public Long getSemanas() {
		return semanas;
	}

	public void setStrFeini(String strFeini) {
		this.strFeini = strFeini;
	}

	public String getStrFeini() {
		return strFeini;
	}

}
