package com.rjconsultores.ventaboletos.entidad;

import java.math.BigDecimal;
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_DET_PAGO")
public class CajaDetPago implements java.io.Serializable {

	private static final long serialVersionUID = 7865266026539127982L;

	@Id
	@Column(name = "CAJADETPAGO_ID", unique = true, nullable = false, precision = 15, scale = 0)
	private Long cajaDetPagoId;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "CAJAFORMAPAGO_ID")
	private CajaFormaPago cajaFormaPago;

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

	@OneToOne
	@JoinColumn(name = "FORMAPAGO_ID")
	private FormaPago formaPago;

	@Column(name = "NUMDOCUMENTO", length = 60)
	private String numdocumento;

	@Column(name = "OPCIONAL1", length = 60)
	private String opcional1;

	@Column(name = "OPCIONAL2", length = 60)
	private String opcional2;

	@Column(name = "OPCIONAL3", length = 60)
	private String opcional3;

	@Column(name = "IMPORTE1", precision = 8)
	private BigDecimal importe1;

	@Column(name = "IMPORTE2", precision = 8)
	private BigDecimal importe2;

	@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;

	@ManyToOne
	@JoinColumn(name = "CAJA_ID")
	private Caja caja;

	@ManyToOne
	@JoinColumn(name = "OCD_ID")
	private OCD ocd;

	@Column(name = "NOTACREDITOVENDAPACOTE_ID", precision = 7, scale = 0)
	private Integer notacreditovendapacoteId;

	@OneToOne(mappedBy = "cajaDetPago")
	private CajaTarjeta cajaTarjetas;

	@Column(name = "SERIESUBSERIE", length = 30)
	private String serieSubSerie;

	public Long getCajaDetPagoId() {
		return cajaDetPagoId;
	}

	public void setCajaDetPagoId(Long cajaDetPagoId) {
		this.cajaDetPagoId = cajaDetPagoId;
	}

	public CajaFormaPago getCajaFormaPago() {
		return cajaFormaPago;
	}

	public void setCajaFormaPago(CajaFormaPago cajaFormaPago) {
		this.cajaFormaPago = cajaFormaPago;
	}

	public String getNumoperacion() {
		return numoperacion;
	}

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

	public FormaPago getFormaPago() {
		return formaPago;
	}

	public void setFormaPago(FormaPago formaPago) {
		this.formaPago = formaPago;
	}

	public String getNumdocumento() {
		return numdocumento;
	}

	public void setNumdocumento(String numdocumento) {
		this.numdocumento = numdocumento;
	}

	public String getOpcional1() {
		return opcional1;
	}

	public void setOpcional1(String opcional1) {
		this.opcional1 = opcional1;
	}

	public String getOpcional2() {
		return opcional2;
	}

	public void setOpcional2(String opcional2) {
		this.opcional2 = opcional2;
	}

	public String getOpcional3() {
		return opcional3;
	}

	public void setOpcional3(String opcional3) {
		this.opcional3 = opcional3;
	}

	public BigDecimal getImporte1() {
		return importe1;
	}

	public void setImporte1(BigDecimal importe1) {
		this.importe1 = importe1;
	}

	public BigDecimal getImporte2() {
		return importe2;
	}

	public void setImporte2(BigDecimal importe2) {
		this.importe2 = importe2;
	}

	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 Caja getCaja() {
		return caja;
	}

	public void setCaja(Caja caja) {
		this.caja = caja;
	}

	public OCD getOcd() {
		return ocd;
	}

	public void setOcd(OCD ocd) {
		this.ocd = ocd;
	}

	public Integer getNotacreditovendapacoteId() {
		return notacreditovendapacoteId;
	}

	public void setNotacreditovendapacoteId(Integer notacreditovendapacoteId) {
		this.notacreditovendapacoteId = notacreditovendapacoteId;
	}

	public CajaTarjeta getCajaTarjetas() {
		return cajaTarjetas;
	}

	public void setCajaTarjetas(CajaTarjeta cajaTarjetas) {
		this.cajaTarjetas = cajaTarjetas;
	}

	public String getSerieSubSerie() {
		return serieSubSerie;
	}

	public void setSerieSubSerie(String serieSubSerie) {
		this.serieSubSerie = serieSubSerie;
	}

}
