package com.rjconsultores.ventaboletos.entidad;

import java.math.BigDecimal;
import java.sql.Clob;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name = "CAJA_TARJETA")
public class CajaTarjeta implements java.io.Serializable {

	private static final long serialVersionUID = 5807160178691935393L;

	@Id
	@Column(name = "CAJATARJETA_ID", unique = true, nullable = false, precision = 10, scale = 0)
	private Long cajaTarjetaId;

	@OneToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "CAJADETPAGO_ID")
	private CajaDetPago cajaDetPago;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "CAJADIVERSOSPAGO_ID")
	private CajaDiversosPago cajaDiversosPago;

	@Column(name = "NOMBTITULAR", length = 180)
	private String nombtitular;

	@Column(name = "TIPOTARJETA", length = 66)
	private String tipotarjeta;

	@Column(name = "NUMTARJETA", length = 48)
	private String numtarjeta;

	@Column(name = "NUMAUTORIZACION", length = 45)
	private String numautorizacion;

	@Column(name = "INDREPLICA", precision = 1, scale = 0)
	private Boolean indreplica;

	@Column(name = "ACTIVO", precision = 1, scale = 0)
	private Boolean activo;

	@Temporal(TemporalType.DATE)
	@Column(name = "FECMODIF", length = 7)
	private Date fecmodif;

	@Column(name = "USUARIO_ID", precision = 7, scale = 0)
	private Integer usuarioId;

	@Column(name = "NODO_ID", precision = 2, scale = 0)
	private Byte nodoId;

	@Column(name = "DESCOPERACION", length = 90)
	private String descoperacion;

	@Temporal(TemporalType.DATE)
	@Column(name = "FECOPERACION", length = 7)
	private Date fecoperacion;

	@Column(name = "VOUCHERCLIENTE")
	private Clob vouchercliente;

	@Column(name = "VOUCHERCOMERCIO")
	private Clob vouchercomercio;

	@Column(name = "NSU", length = 45)
	private String nsu;

	@Column(name = "NSUHOST", length = 45)
	private String nsuhost;

	@Column(name = "IMPORTE", precision = 11)
	private BigDecimal importe;

	@Column(name = "CANTPARCELAS", precision = 2, scale = 0)
	private Byte cantparcelas;

	@Column(name = "DESCOPERADORACARTAO", length = 50)
	private String descoperadoracartao;

	public Long getCajaTarjetaId() {
		return cajaTarjetaId;
	}

	public void setCajaTarjetaId(Long cajaTarjetaId) {
		this.cajaTarjetaId = cajaTarjetaId;
	}

	public CajaDetPago getCajaDetPago() {
		return cajaDetPago;
	}

	public void setCajaDetPago(CajaDetPago cajaDetPago) {
		this.cajaDetPago = cajaDetPago;
	}

	public CajaDiversosPago getCajaDiversosPago() {
		return cajaDiversosPago;
	}

	public void setCajaDiversosPago(CajaDiversosPago cajaDiversosPago) {
		this.cajaDiversosPago = cajaDiversosPago;
	}

	public String getNombtitular() {
		return nombtitular;
	}

	public void setNombtitular(String nombtitular) {
		this.nombtitular = nombtitular;
	}

	public String getTipotarjeta() {
		return tipotarjeta;
	}

	public void setTipotarjeta(String tipotarjeta) {
		this.tipotarjeta = tipotarjeta;
	}

	public String getNumtarjeta() {
		return numtarjeta;
	}

	public void setNumtarjeta(String numtarjeta) {
		this.numtarjeta = numtarjeta;
	}

	public String getNumautorizacion() {
		return numautorizacion;
	}

	public void setNumautorizacion(String numautorizacion) {
		this.numautorizacion = numautorizacion;
	}

	public Boolean getIndreplica() {
		return indreplica;
	}

	public void setIndreplica(Boolean indreplica) {
		this.indreplica = indreplica;
	}

	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 Byte getNodoId() {
		return nodoId;
	}

	public void setNodoId(Byte nodoId) {
		this.nodoId = nodoId;
	}

	public String getDescoperacion() {
		return descoperacion;
	}

	public void setDescoperacion(String descoperacion) {
		this.descoperacion = descoperacion;
	}

	public Date getFecoperacion() {
		return fecoperacion;
	}

	public void setFecoperacion(Date fecoperacion) {
		this.fecoperacion = fecoperacion;
	}

	public Clob getVouchercliente() {
		return vouchercliente;
	}

	public void setVouchercliente(Clob vouchercliente) {
		this.vouchercliente = vouchercliente;
	}

	public Clob getVouchercomercio() {
		return vouchercomercio;
	}

	public void setVouchercomercio(Clob vouchercomercio) {
		this.vouchercomercio = vouchercomercio;
	}

	public String getNsu() {
		return nsu;
	}

	public void setNsu(String nsu) {
		this.nsu = nsu;
	}

	public String getNsuhost() {
		return nsuhost;
	}

	public void setNsuhost(String nsuhost) {
		this.nsuhost = nsuhost;
	}

	public BigDecimal getImporte() {
		return importe;
	}

	public void setImporte(BigDecimal importe) {
		this.importe = importe;
	}

	public Byte getCantparcelas() {
		return cantparcelas;
	}

	public void setCantparcelas(Byte cantparcelas) {
		this.cantparcelas = cantparcelas;
	}

	public String getDescoperadoracartao() {
		return descoperadoracartao;
	}

	public void setDescoperadoracartao(String descoperadoracartao) {
		this.descoperadoracartao = descoperadoracartao;
	}

}
