package com.rjconsultores.ventaboletos.relatorios.utilitarios;

import java.math.BigDecimal;
import java.sql.Timestamp;

//Mantis 15600
public class RelatorioOrigemDestinoBean implements Comparable<RelatorioOrigemDestinoBean> {

	private String nombempresa;
	private BigDecimal corrida_1;
	private Timestamp fechorsalida;
	private String origem;
	private String destino;
	private BigDecimal km_tramo;
	private String descruta;
	private Integer indsentidoida;
	private BigDecimal km_corrida;
	private BigDecimal absolutos;
	private BigDecimal receita;
	private BigDecimal preciobase;
	private BigDecimal equivalente_total_corrida;
	private Integer disponibilidade;
	private Integer viagens;
	private Integer absoluto_total_corrida;
	private BigDecimal importetaxaembarque;
	private BigDecimal importepedagio;
	private Integer numSequencia;
	private Integer numSequencia2;
	private Integer origemId;
	private Integer destinoId;
	private Integer rutaId;

	public String getNombempresa() {
		return nombempresa;
	}

	public BigDecimal getCorrida_1() {
		return corrida_1;
	}

	public Timestamp getFechorsalida() {
		return fechorsalida;
	}

	public String getOrigem() {
		return origem;
	}

	public String getDestino() {
		return destino;
	}

	public BigDecimal getKm_tramo() {
		return km_tramo;
	}

	public String getDescruta() {
		return descruta;
	}

	public Integer getIndsentidoida() {
		return indsentidoida;
	}

	public BigDecimal getKm_corrida() {
		return km_corrida;
	}

	public BigDecimal getAbsolutos() {
		return absolutos;
	}

	public BigDecimal getReceita() {
		return receita;
	}

	public BigDecimal getPreciobase() {
		return preciobase;
	}

	public BigDecimal getEquivalente_total_corrida() {
		return equivalente_total_corrida;
	}

	public Integer getDisponibilidade() {
		return disponibilidade;
	}

	public Integer getViagens() {
		return viagens;
	}

	public Integer getAbsoluto_total_corrida() {
		return absoluto_total_corrida;
	}

	public BigDecimal getImportetaxaembarque() {
		return importetaxaembarque;
	}

	public BigDecimal getImportepedagio() {
		return importepedagio;
	}

	public void setNombempresa(String nombempresa) {
		this.nombempresa = nombempresa;
	}

	public void setCorrida_1(BigDecimal corrida_1) {
		this.corrida_1 = corrida_1;
	}

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

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

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

	public void setKm_tramo(BigDecimal km_tramo) {
		this.km_tramo = km_tramo;
	}

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

	public void setIndsentidoida(Integer indsentidoida) {
		this.indsentidoida = indsentidoida;
	}

	public void setKm_corrida(BigDecimal km_corrida) {
		this.km_corrida = km_corrida;
	}

	public void setAbsolutos(BigDecimal absolutos) {
		this.absolutos = absolutos;
	}

	public void setReceita(BigDecimal receita) {
		this.receita = receita;
	}

	public void setPreciobase(BigDecimal preciobase) {
		this.preciobase = preciobase;
	}

	public void setEquivalente_total_corrida(BigDecimal equivalente_total_corrida) {
		this.equivalente_total_corrida = equivalente_total_corrida;
	}

	public void setDisponibilidade(Integer disponibilidade) {
		this.disponibilidade = disponibilidade;
	}

	public void setViagens(Integer viagens) {
		this.viagens = viagens;
	}

	public void setAbsoluto_total_corrida(Integer absoluto_total_corrida) {
		this.absoluto_total_corrida = absoluto_total_corrida;
	}

	public void setImportetaxaembarque(BigDecimal importetaxaembarque) {
		this.importetaxaembarque = importetaxaembarque;
	}

	public void setImportepedagio(BigDecimal importepedagio) {
		this.importepedagio = importepedagio;
	}

	// Gets criados por causa do mantis 15600. O relatorio Não tinha um Bean, a consulta SQL era executada dentro do jasper e o relatorio não era gerado (ou demorava muito) para o usuario.
	// Os fields estao com nome em maiusculo no jasper.
	public String getNOMBEMPRESA() {
		return getNombempresa();
	}

	public BigDecimal getCORRIDA_1() {
		return getCorrida_1();
	}

	public Timestamp getFECHORSALIDA() {
		return getFechorsalida();
	}

	public String getORIGEM() {
		return getOrigem();
	}

	public String getDESTINO() {
		return getDestino();
	}

	public BigDecimal getKM_TRAMO() {
		return getKm_tramo();
	}

	public String getDESCRUTA() {
		return getDescruta();
	}

	public Integer getINDSENTIDOIDA() {
		return getIndsentidoida();
	}

	public BigDecimal getKM_CORRIDA() {
		return getKm_corrida();
	}

	public BigDecimal getABSOLUTOS() {
		return getAbsolutos();
	}

	public BigDecimal getRECEITA() {
		return getReceita();
	}

	public BigDecimal getPRECIOBASE() {
		return getPreciobase();
	}

	public BigDecimal getEQUIVALENTE_TOTAL_CORRIDA() {
		return getEquivalente_total_corrida();
	}

	public Integer getDISPONIBILIDADE() {
		return getDisponibilidade();
	}

	public Integer getVIAGENS() {
		return getViagens();
	}

	public Integer getABSOLUTO_TOTAL_CORRIDA() {
		return getAbsoluto_total_corrida();
	}

	public BigDecimal getIMPORTETAXAEMBARQUE() {
		return getImportetaxaembarque();
	}

	public BigDecimal getIMPORTEPEDAGIO() {
		return getImportepedagio();
	}

	public Integer getNumSequencia() {
		return numSequencia == null ? 0 : numSequencia;
	}

	public void setNumSequencia(Integer numSequencia) {
		this.numSequencia = numSequencia;
	}

	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 Integer getNumSequencia2() {
		return numSequencia2 == null ? 0 : numSequencia2;
	}

	public void setNumSequencia2(Integer numSequencia2) {
		this.numSequencia2 = numSequencia2 ;
	}

	@Override
	public int compareTo(RelatorioOrigemDestinoBean o) {
		if(this.getCorrida_1().equals(o.getCorrida_1())){
			if(this.getNumSequencia().equals(o.getNumSequencia())) {
				return this.getNumSequencia2() - o.getNumSequencia2();				
			} else {
				return this.getNumSequencia() - o.getNumSequencia();
			}
		}else{
		 return this.getCorrida_1().compareTo(o.getCorrida_1());
		}
	}
	
}