/*
* 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.math.BigDecimal;
import java.util.Date;

import com.ejie.ad74a.util.comun.Utilidades;
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;

/**
 * CopagosSeguimiento generated by UDA, 28-jun-2023 10:59:26.
 * 
 * @author UDA
 */

public class CopagosSeguimiento implements java.io.Serializable {

	private static final long serialVersionUID = 1L;

	private Long idLiquidacion;
	private Integer anyo;
	private String mes;
	private Integer idTerritorio;
	private Long numBeneficiarios;
	private BigDecimal importeTotal;
	private Long anyoPago89;
	private String mesPago89;

	// Campos para el filtro
	private Date fEmisionDesde;
	private Date fEmisionHasta;
	private String anyoDesde;
	private String mesDesde;
	private String anyoHasta;
	private String mesHasta;

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

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

	/**
	 * Method 'CopagosSeguimiento'.
	 * 
	 * @param idLiquidacion    Long
	 * @param anyo             Integer
	 * @param mes              String
	 * @param idTerritorio     Integer
	 * @param numBeneficiarios Long
	 * @param importeTotal     BigDecimal
	 */
	public CopagosSeguimiento(Long idLiquidacion, Integer anyo, String mes, Integer idTerritorio, Long numBeneficiarios,
			BigDecimal importeTotal) {
		this.idLiquidacion = idLiquidacion;
		this.anyo = anyo;
		this.mes = mes;
		this.idTerritorio = idTerritorio;
		this.numBeneficiarios = numBeneficiarios;
		this.importeTotal = importeTotal;
	}

	/**
	 * Method 'getIdLiquidacion'.
	 *
	 * @return Long
	 */
	public Long getIdLiquidacion() {
		return this.idLiquidacion;
	}

	/**
	 * Method 'setIdLiquidacion'.
	 *
	 * @param idLiquidacion Long
	 */
	public void setIdLiquidacion(Long idLiquidacion) {
		this.idLiquidacion = idLiquidacion;
	}

	/**
	 * Method 'getAnyo'.
	 *
	 * @return Integer
	 */
	public Integer getAnyo() {
		return this.anyo;
	}

	/**
	 * Method 'setAnyo'.
	 *
	 * @param anyo Integer
	 */
	public void setAnyo(Integer anyo) {
		this.anyo = anyo;
	}

	/**
	 * Method 'getMes'.
	 *
	 * @return String
	 */
	public String getMes() {
		return this.mes;
	}

	/**
	 * Method 'setMes'.
	 *
	 * @param mes String
	 */
	public void setMes(String mes) {
		this.mes = mes;
	}

	/**
	 * Method 'getIdTerritorio'.
	 *
	 * @return Integer
	 */
	public Integer getIdTerritorio() {
		return this.idTerritorio;
	}

	/**
	 * Method 'setIdTerritorio'.
	 *
	 * @param idTerritorio Integer
	 */
	public void setIdTerritorio(Integer idTerritorio) {
		this.idTerritorio = idTerritorio;
	}

	/**
	 * Method 'getNumBeneficiarios'.
	 *
	 * @return Long
	 */
	public Long getNumBeneficiarios() {
		return this.numBeneficiarios;
	}

	/**
	 * Method 'setNumBeneficiarios'.
	 *
	 * @param numBeneficiarios Long
	 */
	public void setNumBeneficiarios(Long numBeneficiarios) {
		this.numBeneficiarios = numBeneficiarios;
	}

	/**
	 * Method 'getImporteTotal'.
	 *
	 * @return BigDecimal
	 */
	public BigDecimal getImporteTotal() {
		return this.importeTotal;
	}

	/**
	 * Method 'setImporteTotal'.
	 *
	 * @param importeTotal BigDecimal
	 */
	public void setImporteTotal(BigDecimal importeTotal) {
		this.importeTotal = importeTotal;
	}

	/**
	 * 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(" [ idLiquidacion: ").append(this.idLiquidacion).append(" ]");
		result.append(", [ anyo: ").append(this.anyo).append(" ]");
		result.append(", [ mes: ").append(this.mes).append(" ]");
		result.append(", [ idTerritorio: ").append(this.idTerritorio).append(" ]");
		result.append(", [ numBeneficiarios: ").append(this.numBeneficiarios).append(" ]");
		result.append(", [ importeTotal: ").append(this.importeTotal).append(" ]");
		result.append("}");
		return result.toString();
	}

	/**
	 * Method 'getImporteTotalStr'.
	 *
	 * @return String
	 */
	public String getImporteTotalStr() {
		return Utilidades.BDtoMoneda(this.importeTotal);
	}

	/**
	 * Method 'getfEmisionDesde'.
	 * 
	 * @return Date
	 */
	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getfEmisionDesde() {
		return fEmisionDesde;
	}

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

	/**
	 * Method 'getfEmisionHasta'.
	 * 
	 * @return Date
	 */
	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getfEmisionHasta() {
		return fEmisionHasta;
	}

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

	public Long getAnyoPago89() {
		return anyoPago89;
	}

	public void setAnyoPago74(Long anyoPago89) {
		this.anyoPago89 = anyoPago89;
	}

	public String getMesPago89() {
		return mesPago89;
	}

	public void setMesPago89(String mesPago89) {
		this.mesPago89 = mesPago89;
	}

	public String getAnyoDesde() {
		return anyoDesde;
	}

	public void setAnyoDesde(String anyoDesde) {
		this.anyoDesde = anyoDesde;
	}

	public String getMesDesde() {
		return mesDesde;
	}

	public void setMesDesde(String mesDesde) {
		this.mesDesde = mesDesde;
	}

	public String getAnyoHasta() {
		return anyoHasta;
	}

	public void setAnyoHasta(String anyoHasta) {
		this.anyoHasta = anyoHasta;
	}

	public String getMesHasta() {
		return mesHasta;
	}

	public void setMesHasta(String mesHasta) {
		this.mesHasta = mesHasta;
	}
}
