package com.rjconsultores.ventaboletos.vo.tramo;

import java.io.Serializable;
import java.math.BigDecimal;

import org.hibernate.type.IntegerType;

import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.vo.parada.ParadaVO;
import com.rjconsultores.ventaboletos.vo.via.ViaVO;

public class TramoVO implements Serializable{
	private static final long serialVersionUID = -8840675316985686236L;
	private Integer tramoId;
	private String desctramo;
	private ParadaVO origem;
	private ParadaVO destino;
	private ViaVO via;
	private Integer numsecuencia;
	private BigDecimal valorTarifa;
	private BigDecimal valorTaxa;
	private BigDecimal valorSeguro;
	private BigDecimal valorPedagio;
	private BigDecimal valorOutros;
	private BigDecimal tarifaMinima;
	private Integer aliasorigenId;
	private Integer aliasdestinoId;
	private String descAliasorigen;
	private String descAliasdestino;
	//campos usados nas consultas resumidas 
	private Integer origemId;
	private Integer destinoId;
	private Integer rutaId;
	private Integer monedaId;
	private Integer empresaId;

	public TramoVO() {
		//construtor default
	}
	
	public TramoVO(Integer tramoId) {
		super();
		this.tramoId = tramoId;
	}
	
	public TramoVO(Integer tramoId, String desctramo, ParadaVO origem, ParadaVO destino, ViaVO via, Integer numsecuencia,
			BigDecimal valorTarifa, BigDecimal valorTaxa, BigDecimal valorSeguro, BigDecimal valorPedagio,
			BigDecimal valorOutros) {
		super();
		this.tramoId = tramoId;
		this.desctramo = desctramo;
		this.origem = origem;
		this.destino = destino;
		this.via = via;
		this.numsecuencia = numsecuencia;
		this.valorTarifa = valorTarifa;
		this.valorTaxa = valorTaxa;
		this.valorSeguro = valorSeguro;
		this.valorPedagio = valorPedagio;
		this.valorOutros = valorOutros;
	}
	
	public TramoVO(Integer tramoId, String desctramo, ParadaVO origem, ParadaVO destino, ViaVO via, Integer numsecuencia, BigDecimal valorTarifa, BigDecimal valorTaxa, BigDecimal valorSeguro, BigDecimal valorPedagio, BigDecimal valorOutros, BigDecimal tarifaMinima, Integer aliasorigenId, Integer aliasdestinoId, String descAliasorigen, String descAliasdestino, Integer origemId, Integer destinoId, Integer rutaId, Integer monedaId, Integer empresaId) {
		super();
		this.tramoId = tramoId;
		this.desctramo = desctramo;
		this.origem = origem;
		this.destino = destino;
		this.via = via;
		this.numsecuencia = numsecuencia;
		this.valorTarifa = valorTarifa;
		this.valorTaxa = valorTaxa;
		this.valorSeguro = valorSeguro;
		this.valorPedagio = valorPedagio;
		this.valorOutros = valorOutros;
		this.tarifaMinima = tarifaMinima;
		this.aliasorigenId = aliasorigenId;
		this.aliasdestinoId = aliasdestinoId;
		this.descAliasorigen = descAliasorigen;
		this.descAliasdestino = descAliasdestino;
		this.origemId = origemId;
		this.destinoId = destinoId;
		this.rutaId = rutaId;
		this.monedaId = monedaId;
		this.empresaId = empresaId;
	}

	public TramoVO( Tramo tramo ) {
		super();
		this.tramoId = tramo.getTramoId();
		this.desctramo = tramo.getDesctramo();
		this.origemId = tramo.getOrigem().getParadaId();
		this.destinoId = tramo.getDestino().getParadaId();

	}
	
	public TramoVO( Integer origenId, Integer destinoId ) {
		super();
		this.origemId =origenId;
		this.destinoId =destinoId;

	}

	public Integer getTramoId() {
		return tramoId;
	}

	public void setTramoId(Integer tramoId) {
		this.tramoId = tramoId;
	}

	public String getDesctramo() {
		return desctramo;
	}

	public void setDesctramo(String desctramo) {
		this.desctramo = desctramo;
	}

	public ParadaVO getOrigem() {
		return origem;
	}

	public void setOrigem(ParadaVO origem) {
		this.origem = origem;
	}

	public ParadaVO getDestino() {
		return destino;
	}

	public void setDestino(ParadaVO destino) {
		this.destino = destino;
	}

	public ViaVO getVia() {
		return via;
	}

	public void setVia(ViaVO via) {
		this.via = via;
	}

	public Integer getNumsecuencia() {
		return numsecuencia;
	}

	public void setNumsecuencia(Integer numsecuencia) {
		this.numsecuencia = numsecuencia;
	}

	public BigDecimal getValorTarifa() {
		return valorTarifa;
	}

	public void setValorTarifa(BigDecimal valorTarifa) {
		this.valorTarifa = valorTarifa;
	}

	public BigDecimal getValorTaxa() {
		return valorTaxa;
	}

	public void setValorTaxa(BigDecimal valorTaxa) {
		this.valorTaxa = valorTaxa;
	}

	public BigDecimal getValorSeguro() {
		return valorSeguro;
	}

	public void setValorSeguro(BigDecimal valorSeguro) {
		this.valorSeguro = valorSeguro;
	}

	public BigDecimal getValorPedagio() {
		return valorPedagio;
	}

	public void setValorPedagio(BigDecimal valorPedagio) {
		this.valorPedagio = valorPedagio;
	}

	public BigDecimal getValorOutros() {
		return valorOutros;
	}

	public void setValorOutros(BigDecimal valorOutros) {
		this.valorOutros = valorOutros;
	}

	public Integer getAliasorigenId() {
		return aliasorigenId;
	}

	public void setAliasorigenId(Integer aliasorigenId) {
		this.aliasorigenId = aliasorigenId;
	}

	public Integer getAliasdestinoId() {
		return aliasdestinoId;
	}

	public void setAliasdestinoId(Integer aliasdestinoId) {
		this.aliasdestinoId = aliasdestinoId;
	}

	public String getDescAliasorigen() {
		return descAliasorigen;
	}

	public void setDescAliasorigen(String descAliasorigen) {
		this.descAliasorigen = descAliasorigen;
	}

	public String getDescAliasdestino() {
		return descAliasdestino;
	}

	public void setDescAliasdestino(String descAliasdestino) {
		this.descAliasdestino = descAliasdestino;
	}

	public Integer getOrigemId() {
		return origemId;
	}

	public void setOrigemId(Integer origemId) {
		this.origemId = origemId;
	}

	public Integer getDestinoId() {
		return destinoId;
	}

	public void setDestinoId(Integer destinoId) {
		this.destinoId = destinoId;
	}

	public Integer getRutaId() {
		return rutaId;
	}

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

	public BigDecimal getTarifaMinima() {
		return tarifaMinima;
	}

	public void setTarifaMinima(BigDecimal tarifaMinima) {
		this.tarifaMinima = tarifaMinima;
	}

	public Integer getMonedaId() {
		return monedaId;
	}

	public void setMonedaId(Integer monedaId) {
		this.monedaId = monedaId;
	}

	public Integer getEmpresaId() {
		return empresaId;
	}

	public void setEmpresaId(Integer empresaId) {
		this.empresaId = empresaId;
	}

}
