package com.rjconsultores.ventaboletos.vo.impressaofiscal;

import java.math.BigDecimal;

public class LeitorManualFiscalVO extends ImportacionManualFiscalVO implements Comparable<LeitorManualFiscalVO> {
	
	private String nombempresa;
	private Integer qtdeItens;
	private BigDecimal valorIcms;
	
	public LeitorManualFiscalVO() {
		super();
		qtdeItens = 0;
		setImportetaxaembarque(BigDecimal.ZERO);
		setImporteoutros(BigDecimal.ZERO);
		setImportepedagio(BigDecimal.ZERO);
		setImporteseguro(BigDecimal.ZERO);
		setValorItem(BigDecimal.ZERO);
		setValorIcms(BigDecimal.ZERO);
		setValorTotal(BigDecimal.ZERO);
	}
	
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((getDataEmissao() == null) ? 0 : getDataEmissao().hashCode());
		result = prime * result + ((getEmpresaId() == null) ? 0 : getEmpresaId().hashCode());
		result = prime * result + ((getOrigenUf() == null) ? 0 : getOrigenUf().hashCode());
		result = prime * result + ((getDestinoUf() == null) ? 0 : getDestinoUf().hashCode());
		result = prime * result + ((getClaseServicio() == null) ? 0 : getClaseServicio().hashCode());
		result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
		result = prime * result + ((getIcms() == null) ? 0 : getIcms().hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (!(obj instanceof LeitorManualFiscalVO))
			return false;
		LeitorManualFiscalVO other = (LeitorManualFiscalVO) obj;
		if (getDataEmissao() == null) {
			if (other.getDataEmissao() != null)
				return false;
		} else if (!getDataEmissao().equals(other.getDataEmissao()))
			return false;
		if (getEmpresaId() == null) {
			if (other.getEmpresaId() != null)
				return false;
		} else if (!getEmpresaId().equals(other.getEmpresaId()))
			return false;
		if (getOrigenUf() == null) {
			if (other.getOrigenUf() != null)
				return false;
		} else if (!getOrigenUf().equals(other.getOrigenUf()))
			return false;
		if (getDestinoUf() == null) {
			if (other.getDestinoUf() != null)
				return false;
		} else if (!getDestinoUf().equals(other.getDestinoUf()))
			return false;
		if (getClaseServicio() == null) {
			if (other.getClaseServicio() != null)
				return false;
		} else if (!getClaseServicio().equals(other.getClaseServicio()))
			return false;
		if (getStatus() == null) {
			if (other.getStatus() != null)
				return false;
		} else if (!getStatus().equals(other.getStatus()))
			return false;
		if (getIcms() == null) {
			if (other.getIcms() != null)
				return false;
		} else if (!getIcms().equals(other.getIcms()))
			return false;
		return true;
	}

	public String getNombempresa() {
		return nombempresa;
	}

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

	public Integer getQtdeItens() {
		return qtdeItens;
	}

	public void setQtdeItens(Integer qtdeItens) {
		this.qtdeItens = qtdeItens;
	}

	@Override
	public int compareTo(LeitorManualFiscalVO o) {
		int retorno = getDataEmissao().compareTo(o.getDataEmissao());
		if(retorno == 0) {
			retorno = getNombempresa().compareTo(o.getNombempresa());
		}
		if(retorno == 0) {
			retorno = getOrigenUf().compareTo(o.getOrigenUf());
		}
		if(retorno == 0) {
			retorno = getDestinoUf().compareTo(o.getDestinoUf());
		}
		if(retorno == 0) {
			retorno = getClaseServicio().compareTo(o.getClaseServicio());
		}
		if(retorno == 0) {
			retorno = getStatus().compareTo(o.getStatus());
		}
		return retorno;
	}
	
	public BigDecimal getValorIcms() {
		return this.valorIcms;
	}

	public void setValorIcms(BigDecimal valorIcms) {
		this.valorIcms = valorIcms;
	}

}
