package com.rjconsultores.ventaboletos.entidad;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

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

	private static final long serialVersionUID = -3120518309581568769L;

	@Id
	@Column(name = "CAJADIVERSOS_ID", nullable = false, precision = 15, scale = 0)
	private Long cajaDiversosId;

	@Column(name = "NUMOPERACION", length = 36)
	private String numoperacion;

	@Column(name = "NUMOPERACIONDIVERSOS", length = 36)
	private String numoperaciondiversos;

	@Column(name = "PRODUCTOSERVICIO_ID", precision = 7, scale = 0)
	private Integer productoservicioId;

	@Column(name = "FECHORVTA", length = 7)
	private Date fechorvta;

	@Column(name = "PRECIO", precision = 7)
	private BigDecimal precio;

	@Column(name = "MONEDA_ID", precision = 7, scale = 0)
	private Integer monedaId;

	@Column(name = "PARIDAD", precision = 7)
	private BigDecimal paridad;

	@Column(name = "CARGOEXTRA", precision = 7)
	private BigDecimal cargoextra;

	@Column(name = "NUMFOLIOPREIMPRESO", length = 36)
	private String numfoliopreimpreso;

	@Column(name = "NUMSERIEPREIMPRESA", length = 30)
	private String numseriepreimpresa;

	@Column(name = "NUMOPCIONAL1", precision = 15, scale = 0)
	private Long numopcional1;

	@Column(name = "NUMOPCIONAL2", precision = 15, scale = 0)
	private Long numopcional2;

	@Column(name = "DESCOPCIONAL1", length = 45)
	private String descopcional1;

	@Column(name = "DESCOPCIONAL2", length = 45)
	private String descopcional2;

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

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

	@Column(name = "FECCORTE", length = 7)
	private Date feccorte;

	@Column(name = "TURNO_ID", precision = 2, scale = 0)
	private Byte turnoId;

	@Column(name = "INDCANCELACION", precision = 1, scale = 0)
	private Boolean indcancelacion;

	@Column(name = "NUMFOLIOSISTEMA", length = 36)
	private String numfoliosistema;

	@ManyToOne
	@JoinColumn(name = "TIPOVENTA_ID")
	private TipoVenta tipoVenta;

	@Column(name = "PUNTOVENTAREMOTO_ID", precision = 7, scale = 0)
	private Integer puntoventaremotoId;

	@Column(name = "USUARIOREMOTO_ID", precision = 7, scale = 0)
	private Integer usuarioremotoId;

	@Column(name = "ESTACION_ID", precision = 7, scale = 0)
	private Integer estacionId;

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

	@Column(name = "FECMODIF", length = 7)
	private Date fecmodif;

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

	@ManyToOne
	@JoinColumn(name = "PUNTOVENTA_ID")
	private PuntoVenta puntoVenta;

	@Column(name = "INDREIMPRESION", precision = 1, scale = 0)
	private Boolean indreimpresion;

	@Column(name = "EVENTOEXTRA_ID", precision = 10, scale = 0)
	private Long eventoextraId;

	@Column(name = "MOTIVOCANCELACION_ID", precision = 2, scale = 0)
	private Byte motivocancelacionId;

	@Column(name = "FECINTEGRACION", length = 7)
	private Date fecintegracion;

	@Column(name = "VENDAPACOTE_ID", precision = 7, scale = 0)
	private Integer vendapacoteId;

	@Column(name = "FECHORVTA_H", length = 7)
	private Date fechorvtaH;

	@ManyToOne
	@JoinColumn(name = "NOTACREDITOVENDAPACOTE_ID", insertable = false, updatable = false)
	private NotaCreditoVendaPacote notaCreditoVendaPacote;
	
	@OneToMany(mappedBy = "cajaDiversos")
	private List<CajaDiversosPago> cajaDiversosPagosList;

	public Long getCajaDiversosId() {
		return cajaDiversosId;
	}

	public void setCajaDiversosId(Long cajaDiversosId) {
		this.cajaDiversosId = cajaDiversosId;
	}

	public String getNumoperacion() {
		return numoperacion;
	}

	public void setNumoperacion(String numoperacion) {
		this.numoperacion = numoperacion;
	}

	public String getNumoperaciondiversos() {
		return numoperaciondiversos;
	}

	public void setNumoperaciondiversos(String numoperaciondiversos) {
		this.numoperaciondiversos = numoperaciondiversos;
	}

	public Integer getProductoservicioId() {
		return productoservicioId;
	}

	public void setProductoservicioId(Integer productoservicioId) {
		this.productoservicioId = productoservicioId;
	}

	public Date getFechorvta() {
		return fechorvta;
	}

	public void setFechorvta(Date fechorvta) {
		this.fechorvta = fechorvta;
	}

	public BigDecimal getPrecio() {
		return precio;
	}

	public void setPrecio(BigDecimal precio) {
		this.precio = precio;
	}

	public Integer getMonedaId() {
		return monedaId;
	}

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

	public BigDecimal getParidad() {
		return paridad;
	}

	public void setParidad(BigDecimal paridad) {
		this.paridad = paridad;
	}

	public BigDecimal getCargoextra() {
		return cargoextra;
	}

	public void setCargoextra(BigDecimal cargoextra) {
		this.cargoextra = cargoextra;
	}

	public String getNumfoliopreimpreso() {
		return numfoliopreimpreso;
	}

	public void setNumfoliopreimpreso(String numfoliopreimpreso) {
		this.numfoliopreimpreso = numfoliopreimpreso;
	}

	public String getNumseriepreimpresa() {
		return numseriepreimpresa;
	}

	public void setNumseriepreimpresa(String numseriepreimpresa) {
		this.numseriepreimpresa = numseriepreimpresa;
	}

	public Long getNumopcional1() {
		return numopcional1;
	}

	public void setNumopcional1(Long numopcional1) {
		this.numopcional1 = numopcional1;
	}

	public Long getNumopcional2() {
		return numopcional2;
	}

	public void setNumopcional2(Long numopcional2) {
		this.numopcional2 = numopcional2;
	}

	public String getDescopcional1() {
		return descopcional1;
	}

	public void setDescopcional1(String descopcional1) {
		this.descopcional1 = descopcional1;
	}

	public String getDescopcional2() {
		return descopcional2;
	}

	public void setDescopcional2(String descopcional2) {
		this.descopcional2 = descopcional2;
	}

	public Byte getNodoId() {
		return nodoId;
	}

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

	public Boolean getIndreplica() {
		return indreplica;
	}

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

	public Date getFeccorte() {
		return feccorte;
	}

	public void setFeccorte(Date feccorte) {
		this.feccorte = feccorte;
	}

	public Byte getTurnoId() {
		return turnoId;
	}

	public void setTurnoId(Byte turnoId) {
		this.turnoId = turnoId;
	}

	public Boolean getIndcancelacion() {
		return indcancelacion;
	}

	public void setIndcancelacion(Boolean indcancelacion) {
		this.indcancelacion = indcancelacion;
	}

	public String getNumfoliosistema() {
		return numfoliosistema;
	}

	public void setNumfoliosistema(String numfoliosistema) {
		this.numfoliosistema = numfoliosistema;
	}

	public TipoVenta getTipoVenta() {
		return tipoVenta;
	}

	public void setTipoVenta(TipoVenta tipoVenta) {
		this.tipoVenta = tipoVenta;
	}

	public Integer getPuntoventaremotoId() {
		return puntoventaremotoId;
	}

	public void setPuntoventaremotoId(Integer puntoventaremotoId) {
		this.puntoventaremotoId = puntoventaremotoId;
	}

	public Integer getUsuarioremotoId() {
		return usuarioremotoId;
	}

	public void setUsuarioremotoId(Integer usuarioremotoId) {
		this.usuarioremotoId = usuarioremotoId;
	}

	public Integer getEstacionId() {
		return estacionId;
	}

	public void setEstacionId(Integer estacionId) {
		this.estacionId = estacionId;
	}

	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 PuntoVenta getPuntoVenta() {
		return puntoVenta;
	}

	public void setPuntoVenta(PuntoVenta puntoVenta) {
		this.puntoVenta = puntoVenta;
	}

	public Boolean getIndreimpresion() {
		return indreimpresion;
	}

	public void setIndreimpresion(Boolean indreimpresion) {
		this.indreimpresion = indreimpresion;
	}

	public Long getEventoextraId() {
		return eventoextraId;
	}

	public void setEventoextraId(Long eventoextraId) {
		this.eventoextraId = eventoextraId;
	}

	public Byte getMotivocancelacionId() {
		return motivocancelacionId;
	}

	public void setMotivocancelacionId(Byte motivocancelacionId) {
		this.motivocancelacionId = motivocancelacionId;
	}

	public Date getFecintegracion() {
		return fecintegracion;
	}

	public void setFecintegracion(Date fecintegracion) {
		this.fecintegracion = fecintegracion;
	}

	public Integer getVendapacoteId() {
		return vendapacoteId;
	}

	public void setVendapacoteId(Integer vendapacoteId) {
		this.vendapacoteId = vendapacoteId;
	}

	public Date getFechorvtaH() {
		return fechorvtaH;
	}

	public void setFechorvtaH(Date fechorvtaH) {
		this.fechorvtaH = fechorvtaH;
	}

	public NotaCreditoVendaPacote getNotaCreditoVendaPacote() {
		return notaCreditoVendaPacote;
	}

	public void setNotaCreditoVendaPacote(NotaCreditoVendaPacote notaCreditoVendaPacote) {
		this.notaCreditoVendaPacote = notaCreditoVendaPacote;
	}

	public List<CajaDiversosPago> getCajaDiversosPagosList() {
		return cajaDiversosPagosList;
	}

	public void setCajaDiversosPagosList(List<CajaDiversosPago> listCajaDiversosPagos) {
		this.cajaDiversosPagosList = listCajaDiversosPagos;
	}

}
