package com.rjconsultores.ventaboletos.entidad;

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

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.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name = "FECHAMENTO_BOLETO")
public class FechamentoBoleto implements java.io.Serializable{
	
	private static final long serialVersionUID = 1L;

	@SequenceGenerator(name = "FECHAMENTO_BOLETO_SEQ", sequenceName = "FECHAMENTO_BOLETO_SEQ", allocationSize = 1)
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "FECHAMENTO_BOLETO_SEQ")
	@Column(name = "FECHAMENTOBOLETO_ID", unique = true, nullable = false, precision = 15, scale = 0)
	private Long fechamentoboletoId;
	
	@JoinColumn(name = "FECHAMENTOCNTCORRENTE_ID", referencedColumnName="FECHAMENTOCNTCORRENTE_ID")
	@ManyToOne
	private FechamentoCntcorrente fechamentoCntcorrente;
	
	@Column(name = "NOSSONUMERO")
	private String nossonumero;
	
	@Column(name = "FECDOCUMENTO", length = 7)
	@Temporal(TemporalType.TIMESTAMP)
	private Date fecdocumento;
	
	@Column(name = "FECVENCIMENTO", length = 7)
	@Temporal(TemporalType.TIMESTAMP)
	private Date fecvencimento;
	
	@Column(name = "FECBAIXA", length = 7)
	@Temporal(TemporalType.TIMESTAMP)
	private Date fecbaixa;
	
	@Column(name = "VALORDOCUMENTO")
	private BigDecimal valordocumento;
	
	@Column(name = "VALOR_JUROS")
	private BigDecimal valorjuros;
	
	@Column(name = "DESCONTOS")
	private BigDecimal descontos;
	
	@Column(name = "DEDUCOES")
	private BigDecimal deducoes;
	
	@Column(name = "MORA")
	private BigDecimal mora;
	
	@Column(name = "ACRESCIMOS")
	private BigDecimal acrescimos;
	
	@Column(name = "VALOR_COBRADO")
	private BigDecimal valorCobrado;
	
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FECMODIF", length = 7)
	private Date fecmodif;
	
	@Column(name = "USUARIO_ID")
	private Integer usuarioId;
	
	@Column(name = "ACTIVO")
	private Boolean activo;
	
	@Column(name = "STATUS")
	private String status;
	
	@Column(name = "TIPO_PAGAMENTO")
	private String tipoPagamento;
	
	@Column(name = "REMESSA_ID")
	private Long remessaId;
	
	@Column(name = "PORC_MULTA", precision = 5, scale = 2)
	private BigDecimal porcentagemMulta;
	
	@Column(name = "PORC_MORA", precision = 5, scale = 2)
	private BigDecimal porcentagemMora;
	
	@Column(name = "INDBOLETOQUITADO")
	private Boolean indBoletoQuitado;
	
	@Column(name = "USUARIO_ID_QUITA")
	private Integer usuarioQuitacao;	
	
	public Long getFechamentoboletoId() {
		return fechamentoboletoId;
	}
	
	public void setFechamentoboletoId(Long fechamentoboletoId) {
		this.fechamentoboletoId = fechamentoboletoId;
	}
	
	public FechamentoCntcorrente getFechamentoCntcorrente() {
		return fechamentoCntcorrente;
	}
	
	public void setFechamentoCntcorrente(FechamentoCntcorrente fechamentoCntcorrente) {
		this.fechamentoCntcorrente = fechamentoCntcorrente;
	}
	
	public String getNossonumero() {
		return nossonumero;
	}
	
	public void setNossonumero(String nossonumero) {
		this.nossonumero = nossonumero;
	}
	
	public Date getFecdocumento() {
		return fecdocumento;
	}
	
	public void setFecdocumento(Date fecdocumento) {
		this.fecdocumento = fecdocumento;
	}
	
	public Date getFecvencimento() {
		return fecvencimento;
	}
	
	public void setFecvencimento(Date fecvencimento) {
		this.fecvencimento = fecvencimento;
	}
	
	public BigDecimal getValordocumento() {
		return valordocumento;
	}
	
	public void setValordocumento(BigDecimal valordocumento) {
		this.valordocumento = valordocumento;
	}
	
	public BigDecimal getDescontos() {
		return descontos;
	}
	
	public void setDescontos(BigDecimal descontos) {
		this.descontos = descontos;
	}
	
	public BigDecimal getDeducoes() {
		return deducoes;
	}
	
	public void setDeducoes(BigDecimal deducoes) {
		this.deducoes = deducoes;
	}
	
	public BigDecimal getMora() {
		return mora;
	}
	
	public void setMora(BigDecimal mora) {
		this.mora = mora;
	}
	
	public BigDecimal getAcrescimos() {
		return acrescimos;
	}
	
	public void setAcrescimos(BigDecimal acrescimos) {
		this.acrescimos = acrescimos;
	}
	
	public BigDecimal getValorCobrado() {
		return valorCobrado;
	}
	
	public void setValorCobrado(BigDecimal valorCobrado) {
		this.valorCobrado = valorCobrado;
	}
	
	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 Boolean getActivo() {
		return activo;
	}
	
	public void setActivo(Boolean activo) {
		this.activo = activo;
	}
	
	public String getStatus() {
		return status;
	}
	
	public void setStatus(String status) {
		this.status = status;
	}
	
	public Long getRemessaId() {
		return remessaId;
	}
	
	public void setRemessaId(Long remessaId) {
		this.remessaId = remessaId;
	}
	
	public BigDecimal getPorcentagemMulta() {
		return porcentagemMulta;
	}
	
	public void setPorcentagemMulta(BigDecimal porcentagemMulta) {
		this.porcentagemMulta = porcentagemMulta;
	}
	
	public BigDecimal getPorcentagemMora() {
		return porcentagemMora;
	}
	
	public void setPorcentagemMora(BigDecimal porcentagemMora) {
		this.porcentagemMora = porcentagemMora;
	}
	
	public Boolean getIndBoletoQuitado() {
		return indBoletoQuitado;
	}
	
	public void setIndBoletoQuitado(Boolean indBoletoQuitado) {
		this.indBoletoQuitado = indBoletoQuitado;
	}
	
	public Integer getUsuarioQuitacao() {
		return usuarioQuitacao;
	}
	
	public void setUsuarioQuitacao(Integer usuarioQuitacao) {
		this.usuarioQuitacao = usuarioQuitacao;
	}

	public String getTipoPagamento() {
		return tipoPagamento;
	}

	public void setTipoPagamento(String tipoPagamento) {
		this.tipoPagamento = tipoPagamento;
	}
}
