package com.rjconsultores.ventaboletos.vo.ruta;

import javax.xml.bind.annotation.XmlRootElement;

import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.vo.OrgaoConcedente.OrgaoConcedenteVO;
import com.rjconsultores.ventaboletos.vo.clase.ClaseVO;

@XmlRootElement
public class RutaVO {

	private Long rutaId;
	private String numRuta;
	private String prefixo;
	private String descruta;
	private String orgaoConcedente;
	private Boolean sentido;
	private ClaseVO claseVO;
	private Boolean indTribTarifa;
	private Boolean indTribTaxaEmbarque;
	private Boolean indTribPedagio;
	private OrgaoConcedenteVO orgaoConcedenteVO;
	//campos usados nas consultas resumidas
	private Integer claseId;
	private Integer orgaoConcedenteId;
	private Integer origenId; 
	private Integer destinoId;
	private String descParada;
	private Integer numSecuencia;
	private String descOrigem;
	private String descDestino;
	
	public RutaVO() {
	}
	
	public RutaVO(Integer rutaId) {
		super();
		this.rutaId = Long.valueOf(rutaId);
	}
	
	public RutaVO(Long rutaId, String numRuta, String prefixo, String descruta, String orgaoConcedente) {
		super();
		this.rutaId = rutaId;
		this.numRuta = numRuta;
		this.prefixo = prefixo;
		this.descruta = descruta;
		this.orgaoConcedente = orgaoConcedente;
	}
	
	public RutaVO(Integer rutaId, String numRuta, String prefixo, String descruta, Integer orgaoConcedenteId, String descOrgao, Boolean sentido, Integer claseId, String descClase) {
		super();
		this.rutaId = rutaId.longValue();
		this.numRuta = numRuta;
		this.prefixo = prefixo;
		this.descruta = descruta;
		this.orgaoConcedente = descOrgao;
		this.orgaoConcedenteVO = new OrgaoConcedenteVO(orgaoConcedenteId, descOrgao);
		this.sentido = sentido;
		this.claseVO = new ClaseVO(claseId, descClase);
	}
	
	public RutaVO(Integer rutaId, String numRuta, String prefixo, String descruta, Integer orgaoConcedenteId, String descOrgao, Boolean indValDocObligatorioEmbarcada, Boolean sentido, Integer claseId, String descClase) {
		super();
		this.rutaId = rutaId.longValue();
		this.numRuta = numRuta;
		this.prefixo = prefixo;
		this.descruta = descruta;
		this.orgaoConcedente = descOrgao;
		this.orgaoConcedenteVO = new OrgaoConcedenteVO(orgaoConcedenteId, descOrgao, indValDocObligatorioEmbarcada);
		this.sentido = sentido;
		this.claseVO = new ClaseVO(claseId, descClase);
	}

	public RutaVO(Integer rutaId, String numRuta, String prefixo, String descruta, Integer orgaoConcedenteId, String descOrgao, Boolean indValDocObligatorioEmbarcada, Boolean sentido, Integer claseId, String descClase, Boolean indTribTarifa, Boolean indTribTaxaEmbarque, Boolean indTribPedagio){
		super();
		this.rutaId = rutaId.longValue();
		this.numRuta = numRuta;
		this.prefixo = prefixo;
		this.descruta = descruta;
		this.orgaoConcedente = descOrgao;
		this.orgaoConcedenteVO = new OrgaoConcedenteVO(orgaoConcedenteId, descOrgao, indValDocObligatorioEmbarcada);
		this.sentido = sentido;
		this.claseVO = new ClaseVO(claseId, descClase);
		this.indTribTarifa = indTribTarifa;
		this.indTribTaxaEmbarque = indTribTaxaEmbarque;
		this.indTribPedagio = indTribPedagio;
	}
	
	public RutaVO(Ruta ruta){
		super();
		this.rutaId = ruta.getRutaId().longValue();
		this.numRuta = ruta.getNumRuta();
		this.prefixo = ruta.getPrefixo();
		this.descruta = ruta.getDescruta();
		this.sentido = ruta.getIndSentidoIda();
		this.indTribTarifa = ruta.getIndTribTarifa();
		this.indTribTaxaEmbarque = ruta.getIndTribTaxaEmbarque();
		this.indTribPedagio = ruta.getIndTribPedagio();	
		this.claseId = ruta.getClaseServicio().getClaseservicioId();
		this.orgaoConcedenteId = ruta.getOrgaoConcedente().getOrgaoConcedenteId();
	}
	
	public RutaVO(Long rutaId, String numRuta, String prefixo, String descruta, String descParada, 
			Integer numSequencia, Integer origenId, Integer destinoId ) {
		super();
		this.rutaId = rutaId;
		this.numRuta = numRuta;
		this.prefixo = prefixo;
		this.descruta = descruta;
		this.descParada = descParada;
		this.numSecuencia = numSequencia;
		this.origenId = origenId;
		this.destinoId = destinoId;
		
	}
	 
	public Long getRutaId() {
		return rutaId;
	}

	public void setRutaId(Long rutaId) {
		this.rutaId = rutaId;
	}

	public String getNumRuta() {
		return numRuta;
	}

	public void setNumRuta(String numRuta) {
		this.numRuta = numRuta;
	}

	public String getPrefixo() {
		return prefixo;
	}

	public void setPrefixo(String prefixo) {
		this.prefixo = prefixo;
	}

	public String getDescruta() {
		return descruta;
	}

	public void setDescruta(String descruta) {
		this.descruta = descruta;
	}

	public String getOrgaoConcedente() {
		return orgaoConcedente;
	}

	public void setOrgaoConcedente(String orgaoConcedente) {
		this.orgaoConcedente = orgaoConcedente;
	}

	public Boolean isSentido() {
		return sentido;
	}

	public void setSentido(Boolean sentido) {
		this.sentido = sentido;
	}

	public ClaseVO getClaseVO() {
		return claseVO;
	}

	public void setClaseVO(ClaseVO claseVO) {
		this.claseVO = claseVO;
	}

	public OrgaoConcedenteVO getOrgaoConcedenteVO() {
		return orgaoConcedenteVO;
	}

	public void setOrgaoConcedenteVO(OrgaoConcedenteVO orgaoConcedenteVO) {
		this.orgaoConcedenteVO = orgaoConcedenteVO;
	}

	public Boolean getIndTribTarifa() {
		return indTribTarifa;
	}

	public void setIndTribTarifa(Boolean indTribTarifa) {
		this.indTribTarifa = indTribTarifa;
	}

	public Boolean getIndTribTaxaEmbarque() {
		return indTribTaxaEmbarque;
	}

	public void setIndTribTaxaEmbarque(Boolean indTribTaxaEmbarque) {
		this.indTribTaxaEmbarque = indTribTaxaEmbarque;
	}

	public Boolean getIndTribPedagio() {
		return indTribPedagio;
	}

	public void setIndTribPedagio(Boolean indTribPedagio) {
		this.indTribPedagio = indTribPedagio;
	}

	public Integer getOrgaoConcedenteId() {
		return orgaoConcedenteId;
	}

	public void setOrgaoConcedenteId(Integer orgaoConcedenteId) {
		this.orgaoConcedenteId = orgaoConcedenteId;
	}

	public Integer getClaseId() {
		return claseId;
	}

	public void setClaseId(Integer claseId) {
		this.claseId = claseId;
	}

	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 String getDescParada() {
		return descParada;
	}

	public void setDescParada(String descParada) {
		this.descParada = descParada;
	}

	public Integer getNumSecuencia() {
		return numSecuencia;
	}

	public void setNumSecuencia(Integer numSecuencia) {
		this.numSecuencia = numSecuencia;
	}

	public String getDescOrigem() {
		return descOrigem;
	}

	public void setDescOrigem(String descOrigem) {
		this.descOrigem = descOrigem;
	}

	public String getDescDestino() {
		return descDestino;
	}

	public void setDescDestino(String descDestino) {
		this.descDestino = descDestino;
	}
	
	
	
}
