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

import com.rjconsultores.ventaboletos.anotacao.Renderizado;
import com.rjconsultores.ventaboletos.enums.EnumDesconto;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@Entity
@SequenceGenerator(name = "DESCONTO_CONTRATO_SEQ", sequenceName = "DESCONTO_CONTRATO_SEQ", allocationSize = 1)
@Table(name = "DESCONTO_CONTRATO")
public class DescontoContrato implements Serializable {

	private static final long serialVersionUID = -3684489881654368314L;

	@Id
	@Basic(optional = false)
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "DESCONTO_CONTRATO_SEQ")
	@Column(name = "DESCONTOCONTRATO_ID")
	private Long descontoContratoId;
	
	@Column(name = "CONTRATO_ID")
    private Long contratoId;

	@Renderizado
    @Column(name = "DATA_INICIAL")
    private Date dataInicial;

	@Renderizado
    @Column(name = "DATA_FINAL")
    private Date dataFinal;
    
	@Renderizado
    @Column(name = "PORCENTAGEM")
    private BigDecimal porcentagem;

	@Renderizado( conversor = EnumDesconto.class)
    @Column(name = "INDDESCONTO")
    private boolean indDesconto;
	
	@Column(name = "ACTIVO")
	private Boolean activo;
	
	@Column(name = "FECMODIF")
	@Temporal(TemporalType.TIMESTAMP)
	private Date fecModif;
	
	@Column(name = "USUARIO_ID")
	private Integer usuarioId;
	
}
