package com.rjconsultores.ventaboletos.vo.caja;

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

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;


@XmlRootElement
public class CajaDetalleVO {
	
	private Long cajaId;
	private String numAsiento;
	private Integer categoriaId;
	private String numFolioSistema;
	private Integer claseServicioId;
	private Integer marcaId;
	private Integer origenId;
	private Integer destinoId;
	private Integer corridaId;
	private Date fecCorrida;
	private String nombPasajero;
	private BigDecimal precioBase;
	private BigDecimal precioPagado;
	private Integer tipoVentaId;
	private String numSeriePreimpresa;
	private String numFolioPreImpreso;
	private Date fecHorViaje;
	private Date fecHorVenta;
	private Integer puntoVentaId;
	private String numPuntoVenta;
	private BigDecimal numKmViaje;
	private String numOperacion;
	private Integer motivoCancelacionId;
	private Integer empresaPuntoVentaId;
	private Integer empresaCorridaId;
	private Integer turnoId;
	private BigDecimal importeTaxaEmbarque;
	private BigDecimal importePedagio;
	private BigDecimal importeOutros;
	private BigDecimal importeSeguro;
	private Integer rutaId;
	private Integer usuarioId;
	private String numAutorizacion;
	private String ordenSevicio;
	private String uf;
	private String desccategoria;
	private List<PagamentoVO> formaspagamento = new ArrayList<PagamentoVO>();
	private String descPago;
	private String cveCategoria;
	private Integer formaPagoId;
	private BigDecimal vlrFormaPago;
	private String descMotivo;
	private Long transacaoId;
	private Long transacaooriginalId;
	
	private String descnumdoc;
	private String descnumdoc2;
	private String desctipodoc;
	private String desctipodoc2;
	private String desctelefono;
	
	private String tipotarjeta;
	private Integer cantparcelas;
	private String numtarjeta;
	private Date fecoperacion;
	private String nombtitular;	
	
	private Long notacreditovendapacoteId;
	private Long ocdId;
	private String numoperacionOcd;
	private String operadoracartao;
	private String cvesecretaria;
	private String descsecretaria;
	private Boolean indEncargoVenta;
	
	private String descconvenio;
	private String cveconvenio;
	
	private Integer tipoPago;
	
	public Long getCajaId() {
		return cajaId;
	}
	public void setCajaId(Long cajaId) {
		this.cajaId = cajaId;
	}
	public String getNumAsiento() {
		return numAsiento;
	}
	public void setNumAsiento(String numAsiento) {
		this.numAsiento = numAsiento;
	}
	public Integer getCategoriaId() {
		return categoriaId;
	}
	public void setCategoriaId(Integer categoriaId) {
		this.categoriaId = categoriaId;
	}
	public String getNumFolioSistema() {
		return numFolioSistema;
	}
	public void setNumFolioSistema(String numFolioSistema) {
		this.numFolioSistema = numFolioSistema;
	}
	public Integer getClaseServicioId() {
		return claseServicioId;
	}
	public void setClaseServicioId(Integer claseServicioId) {
		this.claseServicioId = claseServicioId;
	}
	public Integer getMarcaId() {
		return marcaId;
	}
	public void setMarcaId(Integer marcaId) {
		this.marcaId = marcaId;
	}
	public Integer getOrigenId() {
		return origenId;
	}
	public void setOrigenId(Integer origenId) {
		this.origenId = origenId;
	}
	public Integer getDestinoId() {
		return destinoId;
	}
	public void setDestinoId(Integer destinoId) {
		this.destinoId = destinoId;
	}
	public Integer getCorridaId() {
		return corridaId;
	}
	public void setCorridaId(Integer corridaId) {
		this.corridaId = corridaId;
	}
	public Date getFecCorrida() {
		return fecCorrida;
	}
	public void setFecCorrida(Date fecCorrida) {
		this.fecCorrida = fecCorrida;
	}
	public String getNombPasajero() {
		return nombPasajero;
	}
	public void setNombPasajero(String nombPasajero) {
		this.nombPasajero = nombPasajero;
	}
	public BigDecimal getPrecioBase() {
		return precioBase;
	}
	public void setPrecioBase(BigDecimal precioBase) {
		this.precioBase = precioBase;
	}
	public BigDecimal getPrecioPagado() {
		return precioPagado;
	}
	public void setPrecioPagado(BigDecimal precioPagado) {
		this.precioPagado = precioPagado;
	}
	public Integer getTipoVentaId() {
		return tipoVentaId;
	}
	public void setTipoVentaId(Integer tipoVentaId) {
		this.tipoVentaId = tipoVentaId;
	}
	public String getNumSeriePreimpresa() {
		return numSeriePreimpresa;
	}
	public void setNumSeriePreimpresa(String numSeriePreimpresa) {
		this.numSeriePreimpresa = numSeriePreimpresa;
	}
	public String getNumFolioPreImpreso() {
		return numFolioPreImpreso;
	}
	public void setNumFolioPreImpreso(String numFolioPreImpreso) {
		this.numFolioPreImpreso = numFolioPreImpreso;
	}
	public Date getFecHorViaje() {
		return fecHorViaje;
	}
	public void setFecHorViaje(Date fecHorViaje) {
		this.fecHorViaje = fecHorViaje;
	}
	public Date getFecHorVenta() {
		return fecHorVenta;
	}
	public void setFecHorVenta(Date fecHorVenta) {
		this.fecHorVenta = fecHorVenta;
	}
	public Integer getPuntoVentaId() {
		return puntoVentaId;
	}
	public void setPuntoVentaId(Integer puntoVentaId) {
		this.puntoVentaId = puntoVentaId;
	}
	public BigDecimal getNumKmViaje() {
		return numKmViaje;
	}
	public void setNumKmViaje(BigDecimal numKmViaje) {
		this.numKmViaje = numKmViaje;
	}
	public String getNumOperacion() {
		return numOperacion;
	}
	public void setNumOperacion(String numOperacion) {
		this.numOperacion = numOperacion;
	}
	public Integer getMotivoCancelacionId() {
		return motivoCancelacionId;
	}
	public void setMotivoCancelacionId(Integer motivoCancelacionId) {
		this.motivoCancelacionId = motivoCancelacionId;
	}
	public Integer getEmpresaPuntoVentaId() {
		return empresaPuntoVentaId;
	}
	public void setEmpresaPuntoVentaId(Integer empresaPuntoVentaId) {
		this.empresaPuntoVentaId = empresaPuntoVentaId;
	}
	public Integer getEmpresaCorridaId() {
		return empresaCorridaId;
	}
	public void setEmpresaCorridaId(Integer empresaCorridaId) {
		this.empresaCorridaId = empresaCorridaId;
	}
	public Integer getTurnoId() {
		return turnoId;
	}
	public void setTurnoId(Integer turnoId) {
		this.turnoId = turnoId;
	}
	public BigDecimal getImporteTaxaEmbarque() {
		return importeTaxaEmbarque;
	}
	public void setImporteTaxaEmbarque(BigDecimal importeTaxaEmbarque) {
		this.importeTaxaEmbarque = importeTaxaEmbarque;
	}
	public BigDecimal getImportePedagio() {
		return importePedagio;
	}
	public void setImportePedagio(BigDecimal importePedagio) {
		this.importePedagio = importePedagio;
	}
	public BigDecimal getImporteOutros() {
		return importeOutros;
	}
	public void setImporteOutros(BigDecimal importeOutros) {
		this.importeOutros = importeOutros;
	}
	public BigDecimal getImporteSeguro() {
		return importeSeguro;
	}
	public void setImporteSeguro(BigDecimal importeSeguro) {
		this.importeSeguro = importeSeguro;
	}
	public Integer getRutaId() {
		return rutaId;
	}
	public void setRutaId(Integer rutaId) {
		this.rutaId = rutaId;
	}
	public Integer getUsuarioId() {
		return usuarioId;
	}
	public void setUsuarioId(Integer usuarioId) {
		this.usuarioId = usuarioId;
	}
	public String getNumAutorizacion() {
		return numAutorizacion;
	}
	public void setNumAutorizacion(String numAutorizacion) {
		this.numAutorizacion = numAutorizacion;
	}
	public String getOrdenSevicio() {
		return ordenSevicio;
	}
	public void setOrdenSevicio(String ordenSevicio) {
		this.ordenSevicio = ordenSevicio;
	}
	public String getNumPuntoVenta() {
		return numPuntoVenta;
	}
	public void setNumPuntoVenta(String numPuntoVenta) {
		this.numPuntoVenta = numPuntoVenta;
	}
	public String getUf() {
		return uf;
	}
	public void setUf(String uf) {
		this.uf = uf;
	}
	public String getDesccategoria() {
		return desccategoria;
	}
	public void setDesccategoria(String desccategoria) {
		this.desccategoria = desccategoria;
	}
	@XmlElementWrapper
	@XmlElement(name = "pagamento", type = PagamentoVO.class)
	public List<PagamentoVO> getFormaspagamento() {
		return formaspagamento;
	}
	public void setFormaspagamento(List<PagamentoVO> formaspagamento) {
		this.formaspagamento = formaspagamento;
	}
	@XmlTransient
	public String getDescPago() {
		return descPago;
	}
	public void setDescPago(String descPago) {
		this.descPago = descPago;
	}
	public String getCveCategoria() {
		return cveCategoria;
	}
	public void setCveCategoria(String cveCategoria) {
		this.cveCategoria = cveCategoria;
	}
	
	public Integer getFormaPagoId() {
		return formaPagoId;
	}
	public void setFormaPagoId(Integer formaPagoId) {
		this.formaPagoId = formaPagoId;
	}
	@XmlTransient
	public BigDecimal getVlrFormaPago() {
		return vlrFormaPago;
	}
	public void setVlrFormaPago(BigDecimal vlrFormaPago) {
		this.vlrFormaPago = vlrFormaPago;
	}
	
	
	public String getDescMotivo() {
		return descMotivo;
	}
	public void setDescMotivo(String descMotivo) {
		this.descMotivo = descMotivo;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((cajaId == null) ? 0 : cajaId.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		CajaDetalleVO other = (CajaDetalleVO) obj;
		if (cajaId == null) {
			if (other.cajaId != null)
				return false;
		} else if (!cajaId.equals(other.cajaId))
			return false;
		return true;
	}
	public Long getTransacaoId() {
		return transacaoId;
	}
	public void setTransacaoId(Long transacaoId) {
		this.transacaoId = transacaoId;
	}
	public Long getTransacaooriginalId() {
		return transacaooriginalId;
	}
	public void setTransacaooriginalId(Long transacaooriginalId) {
		this.transacaooriginalId = transacaooriginalId;
	}
	public String getDescnumdoc() {
		return descnumdoc;
	}
	public void setDescnumdoc(String descnumdoc) {
		this.descnumdoc = descnumdoc;
	}
	public String getDescnumdoc2() {
		return descnumdoc2;
	}
	public void setDescnumdoc2(String descnumdoc2) {
		this.descnumdoc2 = descnumdoc2;
	}
	public String getDesctipodoc() {
		return desctipodoc;
	}
	public void setDesctipodoc(String desctipodoc) {
		this.desctipodoc = desctipodoc;
	}
	public String getDesctipodoc2() {
		return desctipodoc2;
	}
	public void setDesctipodoc2(String desctipodoc2) {
		this.desctipodoc2 = desctipodoc2;
	}
	public String getDesctelefono() {
		return desctelefono;
	}
	public void setDesctelefono(String desctelefono) {
		this.desctelefono = desctelefono;
	}
	@XmlTransient
	public String getTipotarjeta() {
		return tipotarjeta;
	}
	public void setTipotarjeta(String tipotarjeta) {
		this.tipotarjeta = tipotarjeta;
	}
	@XmlTransient
	public Integer getCantparcelas() {
		return cantparcelas;
	}
	public void setCantparcelas(Integer cantparcelas) {
		this.cantparcelas = cantparcelas;
	}
	@XmlTransient
	public String getNumtarjeta() {
		return numtarjeta;
	}
	public void setNumtarjeta(String numtarjeta) {
		this.numtarjeta = numtarjeta;
	}
	@XmlTransient
	public Date getFecoperacion() {
		return fecoperacion;
	}
	public void setFecoperacion(Date fecoperacion) {
		this.fecoperacion = fecoperacion;
	}
	@XmlTransient
	public String getNombtitular() {
		return nombtitular;
	}
	public void setNombtitular(String nombtitular) {
		this.nombtitular = nombtitular;
	}
	@XmlTransient
	public Long getNotacreditovendapacoteId() {
		return notacreditovendapacoteId;
	}
	public void setNotacreditovendapacoteId(Long notacreditovendapacoteId) {
		this.notacreditovendapacoteId = notacreditovendapacoteId;
	}
	@XmlTransient
	public Long getOcdId() {
		return ocdId;
	}
	public void setOcdId(Long ocdId) {
		this.ocdId = ocdId;
	}
	@XmlTransient
	public String getNumoperacionOcd() {
		return numoperacionOcd;
	}
	public void setNumoperacionOcd(String numoperacionOcd) {
		this.numoperacionOcd = numoperacionOcd;
	}
	@XmlTransient
	public String getOperadoracartao() {
		return operadoracartao;
	}
	public void setOperadoracartao(String operadoracartao) {
		this.operadoracartao = operadoracartao;
	}
	@XmlTransient
	public String getCvesecretaria() {
		return cvesecretaria;
	}
	public void setCvesecretaria(String cvesecretaria) {
		this.cvesecretaria = cvesecretaria;
	}
	@XmlTransient
	public Integer getTipoPago() {
		return tipoPago;
	}
	public void setTipoPago(Integer tipoPago) {
		this.tipoPago = tipoPago;
	}
	public Boolean getIndEncargoVenta() {
		return indEncargoVenta;
	}
	public void setIndEncargoVenta(Boolean indEncargoVenta) {
		this.indEncargoVenta = indEncargoVenta;
	}
	public String getDescconvenio() {
		return descconvenio;
	}
	public void setDescconvenio(String descconvenio) {
		this.descconvenio = descconvenio;
	}
	public String getCveconvenio() {
		return cveconvenio;
	}
	public void setCveconvenio(String cveconvenio) {
		this.cveconvenio = cveconvenio;
	}
	@XmlTransient
	public String getDescsecretaria() {
		return descsecretaria;
	}
	public void setDescsecretaria(String descsecretaria) {
		this.descsecretaria = descsecretaria;
	}
	
}
