package com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class ExportacaoRMDTipoSeqBPS {
	private Integer codigoEstabelecimento;
	private String especie;
	private String numeroAIDF;
	private String serieAIDF;
	private String subSerieAIDF;
	private Long numeroInicial;
	private Long numeroFinal;
	private Integer quantidadeCancelados;
	private String dataEmissao;
	private BigDecimal valorTotal; 
	private String numeroAIDFRMD;
	private String serieAIDFRMD;
	private String subSerieAIDFRMD;
	private Integer numeroRMD;
	private Integer quantidadeTotal;
	private String infoPadraoBilhetePassagem;
	private List<ExportacaoRMDTipoSeqDBP> listaDBP;

	public ExportacaoRMDTipoSeqBPS() {
		listaDBP = new ArrayList<ExportacaoRMDTipoSeqDBP>(0);
		
		quantidadeTotal = 0;
		quantidadeCancelados = 0;
	}

	public Integer getCodigoEstabelecimento() {
		return codigoEstabelecimento;
	}

	public void setCodigoEstabelecimento(Integer codigoEstabelecimento) {
		this.codigoEstabelecimento = codigoEstabelecimento;
	}

	public String getEspecie() {
		return especie;
	}

	public void setEspecie(String especie) {
		this.especie = especie;
	}

	public String getNumeroAIDF() {
		return numeroAIDF;
	}

	public void setNumeroAIDF(String numeroAIDF) {
		this.numeroAIDF = numeroAIDF;
	}

	public String getSerieAIDF() {
		return serieAIDF;
	}

	public void setSerieAIDF(String serieAIDF) {
		this.serieAIDF = serieAIDF;
	}

	public String getSubSerieAIDF() {
		return subSerieAIDF;
	}

	public void setSubSerieAIDF(String subSerieAIDF) {
		this.subSerieAIDF = subSerieAIDF;
	}

	public Long getNumeroInicial() {
		return numeroInicial;
	}

	public void setNumeroInicial(Long numeroInicial) {
		this.numeroInicial = numeroInicial;
	}

	public Long getNumeroFinal() {
		return numeroFinal;
	}

	public void setNumeroFinal(Long numeroFinal) {
		this.numeroFinal = numeroFinal;
	}

	public Integer getQuantidadeCancelados() {
		return quantidadeCancelados;
	}

	public void setQuantidadeCancelados(Integer quantidadeCancelados) {
		this.quantidadeCancelados = quantidadeCancelados;
	}

	public String getDataEmissao() {
		return dataEmissao;
	}

	public void setDataEmissao(String dataEmissao) {
		this.dataEmissao = dataEmissao;
	}

	public BigDecimal getValorTotal() {
		if (quantidadeTotal.intValue() == quantidadeCancelados.intValue()) {
			return null;
		}
		
		return valorTotal;
	}

	public void setValorTotal(BigDecimal valorTotal) {
		this.valorTotal = valorTotal;
	}

	public Boolean getResumoMovimentoDiario() {
		if (quantidadeTotal.intValue() == quantidadeCancelados.intValue()) {
			return null;
		} else {
			return Boolean.TRUE;
		}
	}

	public String getNumeroAIDFRMD() {
		return numeroAIDFRMD;
	}

	public void setNumeroAIDFRMD(String numeroAIDFRMD) {
		this.numeroAIDFRMD = numeroAIDFRMD;
	}

	public String getSerieAIDFRMD() {
		return serieAIDFRMD;
	}

	public void setSerieAIDFRMD(String serieAIDFRMD) {
		this.serieAIDFRMD = serieAIDFRMD;
	}

	public String getSubSerieAIDFRMD() {
		return subSerieAIDFRMD;
	}

	public void setSubSerieAIDFRMD(String subSerieAIDFRMD) {
		this.subSerieAIDFRMD = subSerieAIDFRMD;
	}

	public Integer getNumeroRMD() {
		return numeroRMD;
	}

	public void setNumeroRMD(Integer numeroRMD) {
		this.numeroRMD = numeroRMD;
	}

	public Integer getQuantidadeTotal() {
		return quantidadeTotal;
	}

	public void setQuantidadeTotal(Integer quantidadeTotal) {
		this.quantidadeTotal = quantidadeTotal;
	}

	public String getInfoPadraoBilhetePassagem() {
		return infoPadraoBilhetePassagem;
	}

	public void setInfoPadraoBilhetePassagem(String infoPadraoBilhetePassagem) {
		this.infoPadraoBilhetePassagem = infoPadraoBilhetePassagem;
	}

	public List<ExportacaoRMDTipoSeqDBP> getListaDBP() {
		return listaDBP;
	}

	public void setListaDBP(List<ExportacaoRMDTipoSeqDBP> listaDBP) {
		this.listaDBP = listaDBP;
	}

	@Override
	public String toString() {
		return "ExportacaoRMDTipoSeqBPS [codigoEstabelecimento=" + codigoEstabelecimento + ", especie=" + especie + ", numeroAIDF=" + numeroAIDF + ", serieAIDF=" + serieAIDF + ", subSerieAIDF=" + subSerieAIDF + ", numeroInicial=" + numeroInicial + ", numeroFinal=" + numeroFinal + ", quantidadeCancelados=" + quantidadeCancelados + ", dataEmissao=" + dataEmissao + ", valorTotal=" + valorTotal + ", resumoMovimentoDiario=" + getResumoMovimentoDiario() + ", numeroAIDFRMD=" + numeroAIDFRMD + ", serieAIDFRMD=" + serieAIDFRMD + ", subSerieAIDFRMD=" + subSerieAIDFRMD + ", numeroRMD=" + numeroRMD + ", quantidadeTotal=" + quantidadeTotal + "]";
	}
}
