package com.ejie.ad74a.model;

import java.sql.Clob;
import java.sql.SQLException;
import java.util.Date;

import com.ejie.ad74a.util.UtilSQL;
import com.ejie.x38.serialization.JsonDateTimeDeserializer;
import com.ejie.x38.serialization.JsonDateTimeSerializer;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

/**
 * ErrorJms generated by UDA, 16-mar-2023 16:37:34.
 * 
 * @author UDA
 */

public class ErrorJms extends ModeloDatos implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Long id50;
	private String error50;
	private String errormsg50;
	private String procedure50;
	private Date fecrecep50;
	private Clob mensaje50;
	private String idjms50;
	private String tipomensaje50;
	private String estado50;
	private String mensaje50Str;
	private Date fecrecep50desde;
	private Date fecrecep50hasta;

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

	/**
	 * Method 'ErrorJms'.
	 * 
	 * @param id50 Long
	 */
	public ErrorJms(Long id50) {
		this.id50 = id50;
	}

	/**
	 * Method 'ErrorJms'.
	 * 
	 * @param id50          Long
	 * @param error50       String
	 * @param errormsg50    String
	 * @param procedure50   String
	 * @param fecrecep50    Date
	 * @param mensaje50     Clob
	 * @param idjms50       String
	 * @param tipomensaje50 String
	 * @param estado50      String
	 */
	public ErrorJms(Long id50, String error50, String errormsg50, String procedure50, Date fecrecep50, Clob mensaje50,
			String idjms50, String tipomensaje50, String estado50) {

		this.id50 = id50;
		this.error50 = error50;
		this.errormsg50 = errormsg50;
		this.procedure50 = procedure50;
		this.fecrecep50 = fecrecep50;
		this.mensaje50 = mensaje50;
		this.idjms50 = idjms50;
		this.tipomensaje50 = tipomensaje50;
		this.estado50 = estado50;
		this.mensaje50Str = UtilSQL.clobToString(this.mensaje50);
	}

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

	public Long getId50() {
		return this.id50;
	}

	/**
	 * Method 'setId50'.
	 *
	 * @param id50 Long
	 * @return
	 */

	public void setId50(Long id50) {
		this.id50 = id50;
	}

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

	public String getError50() {
		return this.error50;
	}

	/**
	 * Method 'setError50'.
	 *
	 * @param error50 String
	 * @return
	 */

	public void setError50(String error50) {
		this.error50 = error50;
	}

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

	public String getErrormsg50() {
		return this.errormsg50;
	}

	/**
	 * Method 'setErrormsg50'.
	 *
	 * @param errormsg50 String
	 * @return
	 */

	public void setErrormsg50(String errormsg50) {
		this.errormsg50 = errormsg50;
	}

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

	public String getProcedure50() {
		return this.procedure50;
	}

	/**
	 * Method 'setProcedure50'.
	 *
	 * @param procedure50 String
	 * @return
	 */

	public void setProcedure50(String procedure50) {
		this.procedure50 = procedure50;
	}

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

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

	/**
	 * Method 'setFecrecep50'.
	 *
	 * @param fecrecep50 java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateTimeDeserializer.class)
	public void setFecrecep50(Date fecrecep50) {
		this.fecrecep50 = fecrecep50;
	}

	/**
	 * Method 'getMensaje50'.
	 *
	 * @return Clob
	 */
	@JsonIgnore

	public Clob getMensaje50() {
		return this.mensaje50;
	}

	/**
	 * Method 'getMensaje50Str'.
	 *
	 * @return String
	 */
	public String getMensaje50Str() {
		return this.mensaje50Str;
	}

	/**
	 * Method 'setMensaje50'.
	 *
	 * @param mensaje50 Clob
	 * @return
	 */

	public void setMensaje50(Clob mensaje50) {
		this.mensaje50 = mensaje50;
	}

	/**
	 * Method 'setMensaje50'.
	 *
	 * @param mensaje50 String
	 * @return
	 */
	public void setMensaje50(String mensaje50) throws SQLException {
		this.mensaje50 = UtilSQL.stringToClob(mensaje50);
	}

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

	public String getIdjms50() {
		return this.idjms50;
	}

	/**
	 * Method 'setIdjms50'.
	 *
	 * @param idjms50 String
	 * @return
	 */

	public void setIdjms50(String idjms50) {
		this.idjms50 = idjms50;
	}

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

	public String getTipomensaje50() {
		return this.tipomensaje50;
	}

	/**
	 * Method 'setTipomensaje50'.
	 *
	 * @param tipomensaje50 String
	 * @return
	 */

	public void setTipomensaje50(String tipomensaje50) {
		this.tipomensaje50 = tipomensaje50;
	}

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

	public String getEstado50() {
		return this.estado50;
	}

	/**
	 * Method 'setEstado50'.
	 *
	 * @param estado50 String
	 * @return
	 */

	public void setEstado50(String estado50) {
		this.estado50 = estado50;
	}

	/**
	 * 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(" [ id50: ").append(this.id50).append(" ]");
		result.append(", [ error50: ").append(this.error50).append(" ]");
		result.append(", [ errormsg50: ").append(this.errormsg50).append(" ]");
		result.append(", [ procedure50: ").append(this.procedure50).append(" ]");
		result.append(", [ fecrecep50: ").append(this.fecrecep50).append(" ]");
		result.append(", [ idjms50: ").append(this.idjms50).append(" ]");
		result.append(", [ tipomensaje50: ").append(this.tipomensaje50).append(" ]");
		result.append(", [ estado50: ").append(this.estado50).append(" ]");
		result.append("}");
		return result.toString();
	}

	/**
	 * Method 'getFecrecep50desde'.
	 *
	 * @return java.util.Date
	 */
	@JsonSerialize(using = JsonDateTimeSerializer.class)
	public Date getFecrecep50desde() {
		return this.fecrecep50desde;
	}

	/**
	 * Method 'setFecrecep50'.
	 *
	 * @param fecrecep50 java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateTimeDeserializer.class)
	public void setFecrecep50desde(Date fecrecep50desde) {
		this.fecrecep50desde = fecrecep50desde;
	}

	/**
	 * Method 'getFecrecep50hasta'.
	 *
	 * @return java.util.Date
	 */
	@JsonSerialize(using = JsonDateTimeSerializer.class)
	public Date getFecrecep50hasta() {
		return this.fecrecep50hasta;
	}

	/**
	 * Method 'setFecrecep50hasta'.
	 *
	 * @param fecrecep50hasta java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateTimeDeserializer.class)
	public void setFecrecep50hasta(Date fecrecep50hasta) {
		this.fecrecep50hasta = fecrecep50hasta;
	}

}
