package com.ejie.ab63.model;

import java.math.BigDecimal;
import java.util.Date;

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;

/**
 * VExpInfContable  
 * 
 *  
 */

public class VExpInfContable implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	// Clave compuesta
	private Integer idProcedimiento;
	private Integer idExpediente;
	private String expediente;
	private String conceptoResumido;
	private BigDecimal subvencionResuelta;
	private String aplicacionPresupuestaria;
	private Long ejercicioAplPre;
	private Integer agrupacion;
	private Integer gastoIngreso;
	private Long seccion;
	private Long servicio;
	private Long centro;
	private String territorio;
	private Long cac;
	private Long sc;
	private Integer programa;
	private Long partida;
	private String letraControl;
	private Long ejercicioRefInt;
	private Long anyoOrigen;
	private Integer numero;
	private Integer disponible;
	private String terceroMostrar;
	private String tercero;
	private java.util.Date fechaDocumentoD;
	private String refIntD;
	private String refIntO;
	private String tipoDocumento;

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

	/**
	 * Method 'VExpInfContable'.
	 * 
	 * @param idProcedimiento
	 *            Integer
	 * @param idExpediente
	 *            Integer
	 * @param expediente
	 *            String
	 * @param conceptoResumido
	 *            String
	 * @param subvencionResuelta
	 *            BigDecimal
	 * @param aplicacionPresupuestaria
	 *            String
	 * @param ejercicioAplPre
	 *            Long
	 * @param agrupacion
	 *            Integer
	 * @param gastoIngreso
	 *            Integer
	 * @param seccion
	 *            Long
	 * @param servicio
	 *            Long
	 * @param centro
	 *            Long
	 * @param territorio
	 *            String
	 * @param cac
	 *            Long
	 * @param sc
	 *            Long
	 * @param programa
	 *            Integer
	 * @param partida
	 *            Long
	 * @param letraControl
	 *            String
	 * @param ejercicioRefInt
	 *            Long
	 * @param anyoOrigen
	 *            Long
	 * @param numero
	 *            Integer
	 * @param disponible
	 *            Integer
	 * @param terceroMostrar
	 *            String
	 * @param tercero
	 *            String
	 * @param fechaDocumentoD
	 *            Date
	 * @param refIntD
	 *            String
	 * @param refIntO
	 *            String
	 * @param tipoDocumento
	 *            String
	 */
	public VExpInfContable(Integer idProcedimiento, Integer idExpediente, String expediente, String conceptoResumido,
			BigDecimal subvencionResuelta, String aplicacionPresupuestaria, Long ejercicioAplPre, Integer agrupacion,
			Integer gastoIngreso, Long seccion, Long servicio, Long centro, String territorio, Long cac, Long sc,
			Integer programa, Long partida, String letraControl, Long ejercicioRefInt, Long anyoOrigen, Integer numero,
			Integer disponible, String terceroMostrar, String tercero, Date fechaDocumentoD, String refIntD,
			String refIntO, String tipoDocumento) {
		this.idProcedimiento = idProcedimiento;
		this.idExpediente = idExpediente;
		this.expediente = expediente;
		this.conceptoResumido = conceptoResumido;
		this.subvencionResuelta = subvencionResuelta;
		this.aplicacionPresupuestaria = aplicacionPresupuestaria;
		this.ejercicioAplPre = ejercicioAplPre;
		this.agrupacion = agrupacion;
		this.gastoIngreso = gastoIngreso;
		this.seccion = seccion;
		this.servicio = servicio;
		this.centro = centro;
		this.territorio = territorio;
		this.cac = cac;
		this.sc = sc;
		this.programa = programa;
		this.partida = partida;
		this.letraControl = letraControl;
		this.ejercicioRefInt = ejercicioRefInt;
		this.anyoOrigen = anyoOrigen;
		this.numero = numero;
		this.disponible = disponible;
		this.terceroMostrar = terceroMostrar;
		this.tercero = tercero;
		this.fechaDocumentoD = fechaDocumentoD;
		this.refIntD = refIntD;
		this.refIntO = refIntO;
		this.tipoDocumento = tipoDocumento;
	}

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

	public Integer getIdProcedimiento() {
		return this.idProcedimiento;
	}

	/**
	 * Method 'setIdProcedimiento'.
	 *
	 * @param idProcedimiento
	 *            Integer
	 * @return
	 */

	public void setIdProcedimiento(Integer idProcedimiento) {
		this.idProcedimiento = idProcedimiento;
	}

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

	public Integer getIdExpediente() {
		return this.idExpediente;
	}

	/**
	 * Method 'setIdExpediente'.
	 *
	 * @param idExpediente
	 *            Integer
	 * @return
	 */

	public void setIdExpediente(Integer idExpediente) {
		this.idExpediente = idExpediente;
	}

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

	public String getExpediente() {
		return this.expediente;
	}

	/**
	 * Method 'setExpediente'.
	 *
	 * @param expediente
	 *            String
	 * @return
	 */

	public void setExpediente(String expediente) {
		this.expediente = expediente;
	}

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

	public String getConceptoResumido() {
		return this.conceptoResumido;
	}

	/**
	 * Method 'setConceptoResumido'.
	 *
	 * @param conceptoResumido
	 *            String
	 * @return
	 */

	public void setConceptoResumido(String conceptoResumido) {
		this.conceptoResumido = conceptoResumido;
	}

	/**
	 * Method 'getSubvencionResuelta'.
	 *
	 * @return BigDecimal
	 */

	public BigDecimal getSubvencionResuelta() {
		return this.subvencionResuelta;
	}

	/**
	 * Method 'setSubvencionResuelta'.
	 *
	 * @param subvencionResuelta
	 *            BigDecimal
	 * @return
	 */

	public void setSubvencionResuelta(BigDecimal subvencionResuelta) {
		this.subvencionResuelta = subvencionResuelta;
	}

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

	public String getAplicacionPresupuestaria() {
		return this.aplicacionPresupuestaria;
	}

	/**
	 * Method 'setAplicacionPresupuestaria'.
	 *
	 * @param aplicacionPresupuestaria
	 *            String
	 * @return
	 */

	public void setAplicacionPresupuestaria(String aplicacionPresupuestaria) {
		this.aplicacionPresupuestaria = aplicacionPresupuestaria;
	}

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

	public Long getEjercicioAplPre() {
		return this.ejercicioAplPre;
	}

	/**
	 * Method 'setEjercicioAplPre'.
	 *
	 * @param ejercicioAplPre
	 *            Long
	 * @return
	 */

	public void setEjercicioAplPre(Long ejercicioAplPre) {
		this.ejercicioAplPre = ejercicioAplPre;
	}

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

	public Integer getAgrupacion() {
		return this.agrupacion;
	}

	/**
	 * Method 'setAgrupacion'.
	 *
	 * @param agrupacion
	 *            Integer
	 * @return
	 */

	public void setAgrupacion(Integer agrupacion) {
		this.agrupacion = agrupacion;
	}

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

	public Integer getGastoIngreso() {
		return this.gastoIngreso;
	}

	/**
	 * Method 'setGastoIngreso'.
	 *
	 * @param gastoIngreso
	 *            Integer
	 * @return
	 */

	public void setGastoIngreso(Integer gastoIngreso) {
		this.gastoIngreso = gastoIngreso;
	}

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

	public Long getSeccion() {
		return this.seccion;
	}

	/**
	 * Method 'setSeccion'.
	 *
	 * @param seccion
	 *            Long
	 * @return
	 */

	public void setSeccion(Long seccion) {
		this.seccion = seccion;
	}

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

	public Long getServicio() {
		return this.servicio;
	}

	/**
	 * Method 'setServicio'.
	 *
	 * @param servicio
	 *            Long
	 * @return
	 */

	public void setServicio(Long servicio) {
		this.servicio = servicio;
	}

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

	public Long getCentro() {
		return this.centro;
	}

	/**
	 * Method 'setCentro'.
	 *
	 * @param centro
	 *            Long
	 * @return
	 */

	public void setCentro(Long centro) {
		this.centro = centro;
	}

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

	public String getTerritorio() {
		return this.territorio;
	}

	/**
	 * Method 'setTerritorio'.
	 *
	 * @param territorio
	 *            String
	 * @return
	 */

	public void setTerritorio(String territorio) {
		this.territorio = territorio;
	}

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

	public Long getCac() {
		return this.cac;
	}

	/**
	 * Method 'setCac'.
	 *
	 * @param cac
	 *            Long
	 * @return
	 */

	public void setCac(Long cac) {
		this.cac = cac;
	}

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

	public Long getSc() {
		return this.sc;
	}

	/**
	 * Method 'setSc'.
	 *
	 * @param sc
	 *            Long
	 * @return
	 */

	public void setSc(Long sc) {
		this.sc = sc;
	}

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

	public Integer getPrograma() {
		return this.programa;
	}

	/**
	 * Method 'setPrograma'.
	 *
	 * @param programa
	 *            Integer
	 * @return
	 */

	public void setPrograma(Integer programa) {
		this.programa = programa;
	}

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

	public Long getPartida() {
		return this.partida;
	}

	/**
	 * Method 'setPartida'.
	 *
	 * @param partida
	 *            Long
	 * @return
	 */

	public void setPartida(Long partida) {
		this.partida = partida;
	}

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

	public String getLetraControl() {
		return this.letraControl;
	}

	/**
	 * Method 'setLetraControl'.
	 *
	 * @param letraControl
	 *            String
	 * @return
	 */

	public void setLetraControl(String letraControl) {
		this.letraControl = letraControl;
	}

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

	public Long getEjercicioRefInt() {
		return this.ejercicioRefInt;
	}

	/**
	 * Method 'setEjercicioRefInt'.
	 *
	 * @param ejercicioRefInt
	 *            Long
	 * @return
	 */

	public void setEjercicioRefInt(Long ejercicioRefInt) {
		this.ejercicioRefInt = ejercicioRefInt;
	}

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

	public Long getAnyoOrigen() {
		return this.anyoOrigen;
	}

	/**
	 * Method 'setAnyoOrigen'.
	 *
	 * @param anyoOrigen
	 *            Long
	 * @return
	 */

	public void setAnyoOrigen(Long anyoOrigen) {
		this.anyoOrigen = anyoOrigen;
	}

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

	public Integer getNumero() {
		return this.numero;
	}

	/**
	 * Method 'setNumero'.
	 *
	 * @param numero
	 *            Integer
	 * @return
	 */

	public void setNumero(Integer numero) {
		this.numero = numero;
	}

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

	public Integer getDisponible() {
		return this.disponible;
	}

	/**
	 * Method 'setDisponible'.
	 *
	 * @param disponible
	 *            Integer
	 * @return
	 */

	public void setDisponible(Integer disponible) {
		this.disponible = disponible;
	}

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

	public String getTerceroMostrar() {
		return this.terceroMostrar;
	}

	/**
	 * Method 'setTerceroMostrar'.
	 *
	 * @param terceroMostrar
	 *            String
	 * @return
	 */

	public void setTerceroMostrar(String terceroMostrar) {
		this.terceroMostrar = terceroMostrar;
	}

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

	public String getTercero() {
		return this.tercero;
	}

	/**
	 * Method 'setTercero'.
	 *
	 * @param tercero
	 *            String
	 * @return
	 */

	public void setTercero(String tercero) {
		this.tercero = tercero;
	}

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

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

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

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

	public String getRefIntD() {
		return this.refIntD;
	}

	/**
	 * Method 'setRefIntD'.
	 *
	 * @param refIntD
	 *            String
	 * @return
	 */

	public void setRefIntD(String refIntD) {
		this.refIntD = refIntD;
	}

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

	public String getRefIntO() {
		return this.refIntO;
	}

	/**
	 * Method 'setRefIntO'.
	 *
	 * @param refIntO
	 *            String
	 * @return
	 */

	public void setRefIntO(String refIntO) {
		this.refIntO = refIntO;
	}

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

	public String getTipoDocumento() {
		return this.tipoDocumento;
	}

	/**
	 * Method 'setTipoDocumento'.
	 *
	 * @param tipoDocumento
	 *            String
	 * @return
	 */

	public void setTipoDocumento(String tipoDocumento) {
		this.tipoDocumento = tipoDocumento;
	}

	/**
	 * 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 { ");
		// Clave compuesta

		result.append("[ idProcedimiento: ").append(this.idProcedimiento).append(" ]");

		result.append(", [ idExpediente: ").append(this.idExpediente).append(" ]");

		result.append(", [ expediente: ").append(this.expediente).append(" ]");

		result.append(", [ conceptoResumido: ").append(this.conceptoResumido).append(" ]");

		result.append(", [ subvencionResuelta: ").append(this.subvencionResuelta).append(" ]");

		result.append(", [ aplicacionPresupuestaria: ").append(this.aplicacionPresupuestaria).append(" ]");

		result.append(", [ ejercicioAplPre: ").append(this.ejercicioAplPre).append(" ]");

		result.append(", [ agrupacion: ").append(this.agrupacion).append(" ]");

		result.append(", [ gastoIngreso: ").append(this.gastoIngreso).append(" ]");

		result.append(", [ seccion: ").append(this.seccion).append(" ]");

		result.append(", [ servicio: ").append(this.servicio).append(" ]");

		result.append(", [ centro: ").append(this.centro).append(" ]");

		result.append(", [ territorio: ").append(this.territorio).append(" ]");

		result.append(", [ cac: ").append(this.cac).append(" ]");

		result.append(", [ sc: ").append(this.sc).append(" ]");

		result.append(", [ programa: ").append(this.programa).append(" ]");

		result.append(", [ partida: ").append(this.partida).append(" ]");

		result.append(", [ letraControl: ").append(this.letraControl).append(" ]");

		result.append(", [ ejercicioRefInt: ").append(this.ejercicioRefInt).append(" ]");

		result.append(", [ anyoOrigen: ").append(this.anyoOrigen).append(" ]");

		result.append(", [ numero: ").append(this.numero).append(" ]");

		result.append(", [ disponible: ").append(this.disponible).append(" ]");

		result.append(", [ terceroMostrar: ").append(this.terceroMostrar).append(" ]");

		result.append(", [ tercero: ").append(this.tercero).append(" ]");

		result.append(", [ fechaDocumentoD: ").append(this.fechaDocumentoD).append(" ]");

		result.append(", [ refIntD: ").append(this.refIntD).append(" ]");

		result.append(", [ refIntO: ").append(this.refIntO).append(" ]");

		result.append(", [ tipoDocumento: ").append(this.tipoDocumento).append(" ]");
		result.append("}");
		return result.toString();
	}

}
