package com.rjconsultores.ventaboletos.vo.corrida;

import java.util.List;

import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.vo.roloperativo.RolOperativoVO;
import com.rjconsultores.ventaboletos.vo.secuencia.SecuenciaVO;
import com.rjconsultores.ventaboletos.vo.tiposervicio.TipoServicioVO;
import com.rjconsultores.ventaboletos.vo.tramo.TramoVO;

public class CorridaVO {
	private Integer corridaId;
	private String feccorrida;
	private Integer numCorrida;
	private String descServico;
	private String fechorsalida;
	private Integer origenId;
	private Integer destinoId;
	private String descOrigen;
	private String descDestino;	
	private String oricveestado;
	private String descveestado;
	private Integer rutaId;
	private Integer claseServicioId;
	private Integer marcaId;
	private Integer empresaId;
	private TipoServicioVO tipoServicioVO;
	private RolOperativoVO rolOperativoVO;
	private List<TramoVO> lsTramoVO;
	private List<SecuenciaVO> lsSecuenciaVO;
	//campos usados nas consultas resumidas
	private Integer tipoServicioId;
	private Integer rolOperativoId;
	private List<Integer> listTramos;
	private String chaveCorrida;
	private boolean tarifaEmbarcada;
	
	public CorridaVO() {
		super();
	}
	
	public CorridaVO( Corrida corrida ) {
		super();
		this.corridaId = corrida.getId().getCorridaId();
		this.feccorrida = DateUtil.getStringDate( corrida.getId().getFeccorrida());
		this.numCorrida = corrida.getId().getCorridaId();   
		this.fechorsalida = DateUtil.getStringDate(corrida.getFechorsalida(), "dd/MM/yyyy HH:mm:ss.SSS");
		this.origenId = corrida.getOrigem().getParadaId();
		this.destinoId = corrida.getDestino().getParadaId();
		this.tipoServicioId = corrida.getTipoServicio().intValue();
		this.rolOperativoId = corrida.getRolOperativo().getRoloperativoId();
		this.marcaId = corrida.getMarca().getMarcaId().intValue();
		this.claseServicioId = corrida.getClaseServicio().getClaseservicioId();
		this.empresaId = corrida.getEmpresa().getEmpresaId();
		this.rutaId = corrida.getRuta().getRutaId();
		this.tarifaEmbarcada = corrida.getEmpresa().getIndTabelaPrecoEmbarcada();
	}

	public CorridaVO(Integer corridaId, Integer numCorrida, String descServico, String fechorsalida, 
			Integer tiposervicioId, String descservicio, Integer roloperativoId, String descroloperativo, 
			List<TramoVO> lsTramoVO, List<SecuenciaVO> lsSecuenciaVO, Integer rutaId, Integer origenId,
			Integer destinoId, String descOrigen, String descDestino, String oricveestado, String descveestado) {
		this.corridaId = corridaId;
		this.numCorrida = numCorrida;
		this.descServico = descServico;
		this.fechorsalida = fechorsalida;
		this.tipoServicioVO = new TipoServicioVO(tiposervicioId, descservicio);
		this.rolOperativoVO = new RolOperativoVO(roloperativoId, descroloperativo);
		this.lsTramoVO = lsTramoVO;
		this.lsSecuenciaVO = lsSecuenciaVO;
		this.rutaId = rutaId;
		this.origenId = origenId;
		this.descOrigen = descOrigen;
		this.destinoId = destinoId;
		this.descDestino = descDestino;
		this.oricveestado = oricveestado;
		this.descveestado = descveestado;
	}

	public Integer getCorridaId() {
		return corridaId;
	}

	public void setCorridaId(Integer corridaId) {
		this.corridaId = corridaId;
	}

	public Integer getNumCorrida() {
		return numCorrida;
	}

	public void setNumCorrida(Integer numCorrida) {
		this.numCorrida = numCorrida;
	}

	public String getDescServico() {
		return descServico;
	}

	public void setDescServico(String descServico) {
		this.descServico = descServico;
	}

	public String getFechorsalida() {
		return fechorsalida;
	}

	public void setFechorsalida(String fechorsalida) {
		this.fechorsalida = fechorsalida;
	}

	public TipoServicioVO getTipoServicioVO() {
		return tipoServicioVO;
	}

	public void setTipoServicioVO(TipoServicioVO tipoServicioVO) {
		this.tipoServicioVO = tipoServicioVO;
	}

	public RolOperativoVO getRolOperativoVO() {
		return rolOperativoVO;
	}

	public void setRolOperativoVO(RolOperativoVO rolOperativoVO) {
		this.rolOperativoVO = rolOperativoVO;
	}

	public List<TramoVO> getLsTramoVO() {
		return lsTramoVO;
	}

	public void setLsTramoVO(List<TramoVO> lsTramoVO) {
		this.lsTramoVO = lsTramoVO;
	}

	public List<SecuenciaVO> getLsSecuenciaVO() {
		return lsSecuenciaVO;
	}

	public void setLsSecuenciaVO(List<SecuenciaVO> lsSecuenciaVO) {
		this.lsSecuenciaVO = lsSecuenciaVO;
	}

	public Integer getRutaId() {
		return rutaId;
	}

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

	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 getDescOrigen() {
		return descOrigen;
	}

	public void setDescOrigen(String descOrigen) {
		this.descOrigen = descOrigen;
	}

	public String getDescDestino() {
		return descDestino;
	}

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

	public String getOricveestado() {
		return oricveestado;
	}

	public void setOricveestado(String oricveestado) {
		this.oricveestado = oricveestado;
	}

	public String getDescveestado() {
		return descveestado;
	}

	public void setDescveestado(String descveestado) {
		this.descveestado = descveestado;
	}

	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 String getFeccorrida() {
		return feccorrida;
	}

	public void setFeccorrida(String feccorrida) {
		this.feccorrida = feccorrida;
	}

	public Integer getEmpresaId() {
		return empresaId;
	}

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

	public Integer getTipoServicioId() {
		return tipoServicioId;
	}

	public void setTipoServicioId(Integer tipoServicioId) {
		this.tipoServicioId = tipoServicioId;
	}

	public Integer getRolOperativoId() {
		return rolOperativoId;
	}

	public void setRolOperativoId(Integer rolOperativoId) {
		this.rolOperativoId = rolOperativoId;
	}

	public List<Integer> getListTramos() {
		return listTramos;
	}

	public void setListTramos(List<Integer> listTramos) {
		this.listTramos = listTramos;
	}

	public String getChaveCorrida() {
		return chaveCorrida;
	}

	public void setChaveCorrida(String chaveCorrida) {
		this.chaveCorrida = chaveCorrida;
	}

	public boolean isTarifaEmbarcada() {
		return tarifaEmbarcada;
	}

	public void setTarifaEmbarcada(boolean tarifaEmbarcada) {
		this.tarifaEmbarcada = tarifaEmbarcada;
	}
	
}
