package com.rjconsultores.ventaboletos.vo.impressaofiscal;

import java.math.BigDecimal;

public class LeitorFiscalReducaoZVO implements Comparable<LeitorFiscalReducaoZVO> {
	
	private Integer empresaId;
	private String nombempresa;
	private String cnpj;
	private String datamov;
	private BigDecimal aliquota;
	private BigDecimal imposto;
	private BigDecimal valorNaoTributado;
	private BigDecimal vendabrutadiaria;
	
	public LeitorFiscalReducaoZVO() {
		super();
		setAliquota(BigDecimal.ZERO);
		setImposto(BigDecimal.ZERO);
		setValorNaoTributado(BigDecimal.ZERO);
		setVendabrutadiaria(BigDecimal.ZERO);
	}

	@Override
	public int compareTo(LeitorFiscalReducaoZVO o) {
		int retorno = getDatamov().compareTo(o.getDatamov());
		if(retorno == 0) {
			retorno = getNombempresa().compareTo(o.getNombempresa());
		}
		if(retorno == 0) {
			retorno = getCnpj().compareTo(o.getCnpj());
		}
		if(retorno == 0) {
			retorno = getAliquota().compareTo(o.getAliquota());
		}
		return retorno;
	}

	public String getNombempresa() {
		return nombempresa;
	}

	public void setNombempresa(String nombempresa) {
		this.nombempresa = nombempresa;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((getEmpresaId() == null) ? 0 : getEmpresaId().hashCode());
		result = prime * result + ((getDatamov() == null) ? 0 : getDatamov().hashCode());
		result = prime * result + ((getCnpj() == null) ? 0 : getCnpj().hashCode());
		result = prime * result + ((getAliquota() == null) ? 0 : getAliquota().hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		LeitorFiscalReducaoZVO other = (LeitorFiscalReducaoZVO) obj;
		if (getEmpresaId() == null) {
			if (other.getEmpresaId() != null)
				return false;
		} else if (!getEmpresaId().equals(other.getEmpresaId()))
			return false;
		if (getDatamov() == null) {
			if (other.getDatamov() != null)
				return false;
		} else if (!getDatamov().equals(other.getDatamov()))
			return false;
		if (getCnpj() == null) {
			if (other.getCnpj() != null)
				return false;
		} else if (!getCnpj().equals(other.getCnpj()))
			return false;
		if (getAliquota() == null) {
			if (other.getAliquota() != null)
				return false;
		} else if (!getAliquota().equals(other.getAliquota()))
			return false;
		return true;
	}

	public Integer getEmpresaId() {
		return empresaId;
	}

	public void setEmpresaId(Integer empresaId) {
		this.empresaId = empresaId;
	}

	public String getDatamov() {
		return datamov;
	}

	public void setDatamov(String datamov) {
		this.datamov = datamov;
	}

	public BigDecimal getAliquota() {
		return aliquota;
	}

	public void setAliquota(BigDecimal aliquota) {
		this.aliquota = aliquota;
	}

	public BigDecimal getImposto() {
		return imposto;
	}

	public void setImposto(BigDecimal imposto) {
		this.imposto = imposto;
	}

	public BigDecimal getValorNaoTributado() {
		return valorNaoTributado;
	}

	public void setValorNaoTributado(BigDecimal valorNaoTributado) {
		this.valorNaoTributado = valorNaoTributado;
	}

	public BigDecimal getVendabrutadiaria() {
		return vendabrutadiaria;
	}

	public void setVendabrutadiaria(BigDecimal vendabrutadiaria) {
		this.vendabrutadiaria = vendabrutadiaria;
	}

	public String getCnpj() {
		return cnpj;
	}

	public void setCnpj(String cnpj) {
		this.cnpj = cnpj;
	}

	@Override
	public String toString() {
		return "LeitorFiscalReducaoZVO [empresaId=" + empresaId + ", nombempresa=" + nombempresa + ", cnpj=" + cnpj + ", datamov=" + datamov + ", aliquota=" + aliquota + ", imposto=" + imposto + ", valorNaoTributado=" + valorNaoTributado + ", vendabrutadiaria=" + vendabrutadiaria + "]";
	}

}
