package com.ejie.ab04b.model;

import java.util.Date;

import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.map.annotate.JsonDeserialize;
import org.codehaus.jackson.map.annotate.JsonSerialize;

import com.ejie.x38.serialization.JsonDateDeserializer;
import com.ejie.x38.serialization.JsonDateSerializer;
import com.ejie.x38.serialization.JsonDateTimeDeserializer;
import com.ejie.x38.serialization.JsonDateTimeSerializer;

/**
 * Ab0493s00 generated by UDA, 02-Feb-2017 13:49:16.
 * 
 * @author UDA
 */

public class TareaOS2 extends TareaProcedimiento implements
		java.io.Serializable {

	private static final long serialVersionUID = 1L;

	private Long idTarea093;
	private TramiteOS2 tramiteOS2;
	private String mailboxTaskId093;
	private Tarea tipoTarea;
	private Long estado093;
	private Date fechaIni093;
	private Date fechaFin093;
	private String usuario093;
	private String notas046;

	private String error;
	private String relanzar;

	/**
	 * Method 'Ab0493s00'.
	 */
	public TareaOS2() {
	}

	/**
	 * Method 'Ab0493s00'.
	 * 
	 * idTarea093 Long
	 * 
	 * @param idTarea093
	 *            the id tarea 093
	 */
	public TareaOS2(Long idTarea093) {
		this.idTarea093 = idTarea093;
	}

	/**
	 * Method 'Ab0493s00'.
	 * 
	 * idTarea093 Long mailboxTaskId093 String tipoTarea Tarea estado093 Long
	 * fechaIni093 Date fechaFin093 Date usuario093 String TramiteOS2 TramiteOS2
	 * 
	 * @param idTarea093
	 *            the id tarea 093
	 * @param mailboxTaskId093
	 *            the mailbox task id 093
	 * @param tipoTarea
	 *            the tipo tarea
	 * @param estado093
	 *            the estado 093
	 * @param fechaIni093
	 *            the fecha ini 093
	 * @param fechaFin093
	 *            the fecha fin 093
	 * @param usuario093
	 *            the usuario 093
	 * @param TramiteOS2
	 *            the tramite OS 2
	 */
	public TareaOS2(Long idTarea093, String mailboxTaskId093, Tarea tipoTarea,
			Long estado093, Date fechaIni093, Date fechaFin093,
			String usuario093, TramiteOS2 TramiteOS2) {

		this.idTarea093 = idTarea093;
		this.tramiteOS2 = TramiteOS2;
		this.mailboxTaskId093 = mailboxTaskId093;
		this.tipoTarea = tipoTarea;
		this.estado093 = estado093;
		this.fechaIni093 = fechaIni093;
		this.fechaFin093 = fechaFin093;
		this.usuario093 = usuario093;
	}

	/**
	 * Method 'getIdTarea093'.
	 * 
	 * Long
	 * 
	 * @return the id tarea 093
	 */

	public Long getIdTarea093() {
		return this.idTarea093;
	}

	/**
	 * Method 'setIdTarea093'.
	 * 
	 * idTarea093 Long
	 * 
	 * @param idTarea093
	 *            the new id tarea 093
	 */

	public void setIdTarea093(Long idTarea093) {
		this.idTarea093 = idTarea093;
	}

	/**
	 * Method 'getTramiteOS2'.
	 * 
	 * TramiteOS2
	 * 
	 * @return the tramite OS 2
	 */
	@JsonIgnore()
	public TramiteOS2 getTramiteOS2() {
		return this.tramiteOS2;
	}

	/**
	 * Method 'setTramiteOS2'.
	 * 
	 * TramiteOS2 TramiteOS2
	 * 
	 * @param TramiteOS2
	 *            the new tramite OS 2
	 */

	public void setTramiteOS2(TramiteOS2 TramiteOS2) {
		this.tramiteOS2 = TramiteOS2;
	}

	/**
	 * Method 'getMailboxTaskId093'.
	 * 
	 * String
	 * 
	 * @return the mailbox task id 093
	 */

	public String getMailboxTaskId093() {
		return this.mailboxTaskId093;
	}

	/**
	 * Method 'setMailboxTaskId093'.
	 * 
	 * mailboxTaskId093 String
	 * 
	 * @param mailboxTaskId093
	 *            the new mailbox task id 093
	 */

	public void setMailboxTaskId093(String mailboxTaskId093) {
		this.mailboxTaskId093 = mailboxTaskId093;
	}

	/**
	 * Method 'getTaskId'.
	 * 
	 * String
	 * 
	 * @return the tipo tarea
	 */

	public Tarea getTipoTarea() {
		return this.tipoTarea;
	}

	/**
	 * Method 'setTaskId'.
	 * 
	 * tipoTarea String
	 * 
	 * @param tipoTarea
	 *            the new tipo tarea
	 */

	public void setTipoTarea(Tarea tipoTarea) {
		this.tipoTarea = tipoTarea;
	}

	/**
	 * Method 'getEstado'.
	 * 
	 * Long
	 * 
	 * @return the estado 093
	 */

	public Long getEstado093() {
		return this.estado093;
	}

	/**
	 * Method 'setEstado'.
	 * 
	 * estado Long
	 * 
	 * @param estado
	 *            the new estado 093
	 */

	public void setEstado093(Long estado) {
		this.estado093 = estado;
	}

	/**
	 * Method 'getFechaIni093'.
	 * 
	 * java.util.Date
	 * 
	 * @return the fecha ini 093
	 */

	@JsonSerialize(using = JsonDateTimeSerializer.class)
	public Date getFechaIni093() {
		return this.fechaIni093;
	}

	/**
	 * Method 'setFechaIni093'.
	 * 
	 * fechaIni093 java.util.Date
	 * 
	 * @param fechaIni093
	 *            the new fecha ini 093
	 */
	@JsonDeserialize(using = JsonDateTimeDeserializer.class)
	public void setFechaIni093(Date fechaIni093) {
		this.fechaIni093 = fechaIni093;
	}

	/**
	 * Method 'getFechaFin093'.
	 * 
	 * java.util.Date
	 * 
	 * @return the fecha fin 093
	 */

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

	/**
	 * Method 'setFechaFin093'.
	 * 
	 * fechaFin093 java.util.Date
	 * 
	 * @param fechaFin093
	 *            the new fecha fin 093
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaFin093(Date fechaFin093) {
		this.fechaFin093 = fechaFin093;
	}

	/**
	 * Method 'getUsuario093'.
	 * 
	 * String
	 * 
	 * @return the usuario 093
	 */

	public String getUsuario093() {
		return this.usuario093;
	}

	/**
	 * Method 'setUsuario093'.
	 * 
	 * usuario093 String
	 * 
	 * @param usuario093
	 *            the new usuario 093
	 */

	public void setUsuario093(String usuario093) {
		this.usuario093 = usuario093;
	}

	/**
	 * @param notas046
	 *            the notas046 to set
	 */
	public void setNotas046(String notas046) {
		this.notas046 = notas046;
	}

	/**
	 * @return the notas046
	 */
	public String getNotas046() {
		return notas046;
	}

	/**
	 * Intended only for logging and debugging.
	 * 
	 * Here, the contents of every main field are placed into the result.
	 * 
	 * String
	 * 
	 * @return the string
	 */
	@Override()
	public String toString() {
		StringBuilder result = new StringBuilder();
		result.append(this.getClass().getName()).append(" Object { ");
		result.append(" [ idTarea093: ").append(this.idTarea093).append(" ]");
		result.append(", [ mailboxTaskId093: ").append(this.mailboxTaskId093)
				.append(" ]");
		result.append(", [ taskId: ").append(this.tipoTarea).append(" ]");
		result.append(", [ estado: ").append(this.estado093).append(" ]");
		result.append(", [ fechaIni093: ").append(this.fechaIni093)
				.append(" ]");
		result.append(", [ fechaFin093: ").append(this.fechaFin093)
				.append(" ]");
		result.append(", [ usuario093: ").append(this.usuario093).append(" ]");
		result.append("}");
		return result.toString();
	}

	public String getError() {
		return error;
	}

	public void setError(String error) {
		this.error = error;
	}

	public String getRelanzar() {
		return relanzar;
	}

	public void setRelanzar(String relanzar) {
		this.relanzar = relanzar;
	}

}
