package com.rjconsultores.ventaboletos.vo.impressaofiscal;

import java.math.BigDecimal;

public class ItemFiscalVO extends ImportacionFiscalVO {

	private String numItem;
	private String codProduto;
	private String repTributado;
	private BigDecimal valorItem;
	private String tipoPassagem;
	private Boolean inconsistencia;

	public ItemFiscalVO() {
		super();
	}

	public ItemFiscalVO(ImportacionFiscalVO item) {
		super(item.getNumImpressora(), item.getCoo(), item.getBoletoId(), item.getEmpresaId(), item.getDataEmissao(),
				item.getCnpjCliente(), item.getCnpjImpressora(), item.getOrigenId(), item.getOrigenUf(), item.getDestinoId(),
				item.getDestinoUf(), item.getNumpdv(), item.getModeloImpressora(), item.getNumCaixa(), item.getStatus(),
				item.getMotivocancelacion(), item.getValorMulta(), item.getValorTarifa(), item.getValorPedagio(),
				item.getValorEmbarque(), item.getValorSeguro(), item.getClaseServicio());
		super.setImpostoEstado(item.getImpostoEstado());
	}

	public String getNumItem() {
		return numItem;
	}

	public void setNumItem(String numItem) {
		this.numItem = numItem;
	}

	public String getCodProduto() {
		return codProduto;
	}

	public void setCodProduto(String codProduto) {
		this.codProduto = codProduto;
	}

	public String getRepTributado() {
		return repTributado;
	}

	public void setRepTributado(String repTributado) {
		this.repTributado = repTributado;
	}

	public BigDecimal getValorItem() {
		return valorItem;
	}

	public void setValorItem(BigDecimal valorItem) {
		this.valorItem = valorItem;
	}

	public String getTipoPassagem() {
		return tipoPassagem;
	}

	public void setTipoPassagem(String tipoPassagem) {
		this.tipoPassagem = tipoPassagem;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((super.getBoletoId() == null) ? 0 : super.getBoletoId().hashCode());
		result = prime * result + ((super.getCoo() == null) ? 0 : super.getCoo().hashCode());
		result = prime * result + ((super.getNumImpressora() == null) ? 0 : super.getNumImpressora().hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		ImportacionFiscalVO other = (ImportacionFiscalVO) obj;
		if (super.getBoletoId() == null) {
			if (other.getBoletoId() != null)
				return false;
		} else if (!super.getBoletoId().equals(other.getBoletoId()))
			return false;
		if (super.getCoo() == null) {
			if (other.getCoo() != null)
				return false;
		} else if (!super.getCoo().equals(other.getCoo()))
			return false;
		if (super.getNumImpressora() == null) {
			if (other.getNumImpressora() != null)
				return false;
		} else if (!super.getNumImpressora().equals(other.getNumImpressora()))
			return false;
		return true;
	}

	@Override
	public String toString() {
		return "ItemFiscalVO [numItem=" + numItem + ", codProduto=" + codProduto + ", repTributado=" + repTributado + ", valorItem=" + valorItem + ", tipoPassagem=" + tipoPassagem + ", getNumImpressora()=" + getNumImpressora() + ", getCoo()=" + getCoo() + ", getBoletoId()=" + getBoletoId() + ", getEmpresaId()=" + getEmpresaId() + ", getDataEmissao()=" + getDataEmissao() + ", getCnpjCliente()=" + getCnpjCliente() + ", getCnpjImpressora()=" + getCnpjImpressora() + ", getOrigenId()=" + getOrigenId() + ", getItensFiscais()=" + getItensFiscais().size() + ", getNumpdv()=" + getNumpdv() + "]";
	}

	public Boolean getInconsistencia() {
		return inconsistencia;
	}

	public void setInconsistencia(Boolean inconsistencia) {
		if (inconsistencia == null)
			this.inconsistencia = Boolean.FALSE;
		else
			this.inconsistencia = inconsistencia;
	}

}
