/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.rjconsultores.ventaboletos.entidad;

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

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author cassio
 */
@Entity
@Table(name = "TARJETA_VIAJE")
@NamedQueries({
    @NamedQuery(name = "TarjetaViaje.findAll", query = "SELECT t FROM TarjetaViaje t")})
public class TarjetaViaje implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "TARJETAVIAJE_ID", nullable = false)
    private Integer tarjetaviajeId;
    @Column(name = "NUMSECUENCIA")
    private Integer numsecuencia;
    @Column(name = "INDREBOTE")
    private Integer indRebote;
    @Column(name = "INDSTATUSTARJETA", length = 20)
    private String indstatustarjeta;
    @Column(name = "FOLIOTARJETAVIAJE", length = 10)
    private String foliotarjetaviaje;
    @Column(name = "FECENVIONOMINA")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fecenvionomina;
    @Column(name = "ACTIVO")
    private Boolean activo;
    @Column(name = "FECMODIF")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fecmodif;
    @Column(name = "USUARIO_ID")
    private Integer usuarioId;
    @JoinColumn(name = "MARCA_ID", referencedColumnName = "MARCA_ID")
    @ManyToOne
    private Marca marca;
    @JoinColumn(name = "EMPRESA_ID", referencedColumnName = "EMPRESA_ID")
    @ManyToOne
    private Empresa empresa;
    @JoinColumn(name = "CONDUCTOR1_ID", referencedColumnName = "CONDUCTOR_ID")
    @ManyToOne
    private Conductor conductor;
    @JoinColumn(name = "CONDUCTOR2_ID", referencedColumnName = "CONDUCTOR_ID")
    @ManyToOne
    private Conductor conductor1;
    @JoinColumn(name = "CLASESERVICIO_ID", referencedColumnName = "CLASESERVICIO_ID")
    @ManyToOne
    private ClaseServicio claseServicio;
    @JoinColumn(name = "AUTOBUS_ID", referencedColumnName = "AUTOBUS_ID")
    @ManyToOne
    private Autobus autobus;
    private transient boolean eCorridaDuplicada;
    @Column(name = "CANTKMREAL")
    private BigDecimal kmReal;
    @Column(name = "CANTKMPAGOCONDUCTOR")
    private BigDecimal kmPagoConductor;
    @Column(name = "TARJETAVIAJEREF_ID")
    private BigDecimal tarjetaViajeRef;
    @Column(name = "DESCPARADAORIGEN")
    private String origen;
    @Column(name = "DESCPARADADESTINO")
    private String destino;
    @Column(name = "FECCORRIDA")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fecInicial;
    @Column(name = "FECHORSALIDA")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fecHorSalida;
    @Column(name = "NUMCORRIDA")
    private Integer numCorrida;

    public Integer getNumAutobusAux() {
        return Integer.parseInt(this.autobus.getNumautobus());
    }

    public Integer getNumCorrida() {
        return numCorrida;
    }

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

    public Integer getIndRebote() {
        return indRebote;
    }

    public void setIndRebote(Integer indRebote) {
        this.indRebote = indRebote;
    }

    public String getOrigen() {
        return origen;
    }

    public void setOrigen(String origen) {
        this.origen = origen;
    }

    public String getDestino() {
        return destino;
    }

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

    public Date getFecInicial() {
        return fecInicial;
    }

    public void setFecInicial(Date fecInicial) {
        this.fecInicial = fecInicial;
    }

    public BigDecimal getTarjetaViajeRef() {
        return tarjetaViajeRef;
    }

    public void setTarjetaViajeRef(BigDecimal tarjetaViajeRef) {
        this.tarjetaViajeRef = tarjetaViajeRef;
    }

    public BigDecimal getKmReal() {
        return kmReal;
    }

    public void setKmReal(BigDecimal kmReal) {
        this.kmReal = kmReal;
    }

    public BigDecimal getKmPagoConductor() {
        return kmPagoConductor;
    }

    public void setKmPagoConductor(BigDecimal kmPagoConductor) {
        this.kmPagoConductor = kmPagoConductor;
    }

    public boolean geteCorridaDuplicada() {
        return eCorridaDuplicada;
    }

    public void seteCorridaDuplicada(boolean eCorridaDuplicada) {
        this.eCorridaDuplicada = eCorridaDuplicada;
    }

    public TarjetaViaje() {
    }

    public TarjetaViaje(Integer tarjetaviajeId) {
        this.tarjetaviajeId = tarjetaviajeId;
    }

    public Integer getTarjetaviajeId() {
        return tarjetaviajeId;
    }

    public void setTarjetaviajeId(Integer tarjetaviajeId) {
        this.tarjetaviajeId = tarjetaviajeId;
    }

    public Integer getNumsecuencia() {
        return numsecuencia;
    }

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

    public String getIndstatustarjeta() {
        return indstatustarjeta;
    }

    public void setIndstatustarjeta(String indstatustarjeta) {
        this.indstatustarjeta = indstatustarjeta;
    }

    public String getFoliotarjetaviaje() {
        return foliotarjetaviaje;
    }

    public void setFoliotarjetaviaje(String foliotarjetaviaje) {
        this.foliotarjetaviaje = foliotarjetaviaje;
    }

    public Date getFecenvionomina() {
        return fecenvionomina;
    }

    public void setFecenvionomina(Date fecenvionomina) {
        this.fecenvionomina = fecenvionomina;
    }

    public Boolean getActivo() {
        return activo;
    }

    public void setActivo(Boolean activo) {
        this.activo = activo;
    }

    public Date getFecmodif() {
        return fecmodif;
    }

    public void setFecmodif(Date fecmodif) {
        this.fecmodif = fecmodif;
    }

    public Integer getUsuarioId() {
        return usuarioId;
    }

    public void setUsuarioId(Integer usuarioId) {
        this.usuarioId = usuarioId;
    }

    public Marca getMarca() {
        return marca;
    }

    public void setMarca(Marca marca) {
        this.marca = marca;
    }

    public Empresa getEmpresa() {
        return empresa;
    }

    public void setEmpresa(Empresa empresa) {
        this.empresa = empresa;
    }

    public Conductor getConductor() {
        return conductor;
    }

    public void setConductor(Conductor conductor) {
        this.conductor = conductor;
    }

    public Conductor getConductor1() {
        return conductor1;
    }

    public void setConductor1(Conductor conductor1) {
        this.conductor1 = conductor1;
    }

    public ClaseServicio getClaseServicio() {
        return claseServicio;
    }

    public void setClaseServicio(ClaseServicio claseServicio) {
        this.claseServicio = claseServicio;
    }

    public Autobus getAutobus() {
        return autobus;
    }

    public void setAutobus(Autobus autobus) {
        this.autobus = autobus;
    }

    public Date getFecHorSalida() {
        return fecHorSalida;
    }

    public void setFecHorSalida(Date fecHorSalida) {
        this.fecHorSalida = fecHorSalida;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (tarjetaviajeId != null ? tarjetaviajeId.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof TarjetaViaje)) {
            return false;
        }
        TarjetaViaje other = (TarjetaViaje) object;
        if ((this.tarjetaviajeId == null && other.tarjetaviajeId != null) || (this.tarjetaviajeId != null && !this.tarjetaviajeId.equals(other.tarjetaviajeId))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "entidadeteste.TarjetaViaje[tarjetaviajeId=" + tarjetaviajeId + "]";
    }
}
