package com.rjconsultores.ventaboletos.entidad;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
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.enums.CtrlFechamentoCaixaStatus;

/**
 * Classe que controla a rotina de retenção de comissão após o fechamento do caixa
 * 
 * @author wilian
 * @since 29/11/2018
 *
 */
@Entity
@SequenceGenerator(name = "CTRL_FECHAMENTO_CAIXA_SEQ", sequenceName = "CTRL_FECHAMENTO_CAIXA_SEQ", allocationSize = 1)
@Table(name = "CTRL_FECHAMENTO_CAIXA")
public class CtrlFechamentoCaixa implements Serializable {

	private static final long serialVersionUID = 1L;

	@Id
	@Basic(optional = false)
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "CTRL_FECHAMENTO_CAIXA_SEQ")
	@Column(name = "CTRLFECHAMENTOCAIXA_ID")
	private Long ctrlfechamentocaixaId;

	@Column(name = "FECCORTE")
	@Temporal(TemporalType.DATE)
	private Date feccorte;
	
	@Enumerated(EnumType.STRING)
	@Column(name = "FECHAMENTO_STATUS")
	private CtrlFechamentoCaixaStatus status;

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

	@Column(name = "ACTIVO")
	private boolean activo;

	public Long getCtrlfechamentocaixaId() {
		return ctrlfechamentocaixaId;
	}

	public void setCtrlfechamentocaixaId(Long ctrlfechamentocaixaId) {
		this.ctrlfechamentocaixaId = ctrlfechamentocaixaId;
	}

	public Date getFeccorte() {
		return feccorte;
	}

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

	public Date getFecmodif() {
		return fecmodif;
	}

	public void setFecmodif(Date fecmodif) {
		this.fecmodif = fecmodif;
	}

	public boolean isActivo() {
		return activo;
	}

	public void setActivo(boolean activo) {
		this.activo = activo;
	}

	public CtrlFechamentoCaixaStatus getStatus() {
		return status;
	}

	public void setStatus(CtrlFechamentoCaixaStatus status) {
		this.status = status;
	}

}
