/*
* Copyright 2021 E.J.I.E., S.A.
*
* Licencia con arreglo a la EUPL, Versión 1.1 exclusivamente (la «Licencia»);
* Solo podrá usarse esta obra si se respeta la Licencia.
* Puede obtenerse una copia de la Licencia en
*
* http://ec.europa.eu/idabc/eupl.html
*
* Salvo cuando lo exija la legislación aplicable o se acuerde por escrito,
* el programa distribuido con arreglo a la Licencia se distribuye «TAL CUAL»,
* SIN GARANT�?AS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas.
* Véase la Licencia en el idioma concreto que rige los permisos y limitaciones
* que establece la Licencia.
*/
package com.ejie.ad74a.model.ae01b;

import java.util.Date;

import org.springframework.context.i18n.LocaleContextHolder;

import com.ejie.ad74a.constantes.Constantes;
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;

/**
 * MotAnuCobro generated by UDA, 24-oct-2023 13:37:08.
 * 
 * @author UDA
 */

public class MotAnuCobro implements java.io.Serializable {

	private static final long serialVersionUID = 1L;

	private Long idMotAnuCobro37;
	private String codAnulacion37;
	private String descripcionEs37;
	private String descripcionEu37;
	private Integer indCtaErronea37;
	private String usuAlta37;
	private Date fAlta37;
	private String usuModif37;
	private Date fModif37;

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

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

	/**
	 * Method 'MotAnuCobro'.
	 * 
	 * @param idMotAnuCobro37 Long
	 * @param codAnulacion37  String
	 * @param descripcionEs37 String
	 * @param descripcionEu37 String
	 * @param indCtaErronea37 Integer
	 * @param usuAlta37       String
	 * @param fAlta37         Date
	 * @param usuModif37      String
	 * @param fModif37        Date
	 */
	public MotAnuCobro(Long idMotAnuCobro37, String codAnulacion37, String descripcionEs37, String descripcionEu37,
			Integer indCtaErronea37, String usuAlta37, Date fAlta37, String usuModif37, Date fModif37) {
		this.idMotAnuCobro37 = idMotAnuCobro37;
		this.codAnulacion37 = codAnulacion37;
		this.descripcionEs37 = descripcionEu37;
		this.indCtaErronea37 = indCtaErronea37;
		this.usuAlta37 = usuAlta37;
		this.fAlta37 = fAlta37;
		this.usuModif37 = usuModif37;
		this.fModif37 = fModif37;
	}

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

	public Long getIdMotAnuCobro37() {
		return this.idMotAnuCobro37;
	}

	/**
	 * Method 'setIdMotAnuCobro37'.
	 *
	 * @param idMotAnuCobro37 Long
	 * @return
	 */

	public void setIdMotAnuCobro37(Long idMotAnuCobro37) {
		this.idMotAnuCobro37 = idMotAnuCobro37;
	}

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

	public String getCodAnulacion37() {
		return this.codAnulacion37;
	}

	/**
	 * Method 'setCodAnulacion37'.
	 *
	 * @param codAnulacion37 String
	 * @return
	 */

	public void setCodAnulacion37(String codAnulacion37) {
		this.codAnulacion37 = codAnulacion37;
	}

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

	public String getDescripcionEs37() {
		return this.descripcionEs37;
	}

	/**
	 * Method 'setDescripcionEs37'.
	 *
	 * @param descripcionEs37 String
	 * @return
	 */

	public void setDescripcionEs37(String descripcionEs37) {
		this.descripcionEs37 = descripcionEs37;
	}

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

	public String getDescripcionEu37() {
		return this.descripcionEu37;
	}

	/**
	 * Method 'setDescripcionEu37'.
	 *
	 * @param descripcionEu37 String
	 * @return
	 */

	public void setDescripcionEu37(String descripcionEu37) {
		this.descripcionEu37 = descripcionEu37;
	}

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

	public Integer getIndCtaErronea37() {
		return this.indCtaErronea37;
	}

	/**
	 * Method 'setIndCtaErronea37'.
	 *
	 * @param indCtaErronea37 Integer
	 * @return
	 */

	public void setIndCtaErronea37(Integer indCtaErronea37) {
		this.indCtaErronea37 = indCtaErronea37;
	}

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

	public String getUsuAlta37() {
		return this.usuAlta37;
	}

	/**
	 * Method 'setUsuAlta37'.
	 *
	 * @param usuAlta37 String
	 * @return
	 */

	public void setUsuAlta37(String usuAlta37) {
		this.usuAlta37 = usuAlta37;
	}

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

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

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

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

	public String getUsuModif37() {
		return this.usuModif37;
	}

	/**
	 * Method 'setUsuModif37'.
	 *
	 * @param usuModif37 String
	 * @return
	 */

	public void setUsuModif37(String usuModif37) {
		this.usuModif37 = usuModif37;
	}

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

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

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

	/**
	 * 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(" [ idMotAnuCobro37: ").append(this.idMotAnuCobro37).append(" ]");
		result.append(", [ codAnulacion37: ").append(this.codAnulacion37).append(" ]");
		result.append(", [ descripcionEs37: ").append(this.descripcionEs37).append(" ]");
		result.append(", [ descripcionEu37: ").append(this.descripcionEu37).append(" ]");
		result.append(", [ indCtaErronea37: ").append(this.indCtaErronea37).append(" ]");
		result.append(", [ usuAlta37: ").append(this.usuAlta37).append(" ]");
		result.append(", [ fAlta37: ").append(this.fAlta37).append(" ]");
		result.append(", [ usuModif37: ").append(this.usuModif37).append(" ]");
		result.append(", [ fModif37: ").append(this.fModif37).append(" ]");
		result.append("}");
		return result.toString();
	}

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

	public String getDescripcion() {
		if (LocaleContextHolder.getLocale().getLanguage().equalsIgnoreCase(Constantes.LOCALE_ES.getLanguage())) {
			return this.getDescripcionEs37();
		} else if (LocaleContextHolder.getLocale().getLanguage().equalsIgnoreCase(Constantes.LOCALE_EU.getLanguage())) {
			return this.getDescripcionEu37();
		}
		return "";
	}

}
