package com.rjconsultores.ventaboletos.vo.exportacao;

import java.math.BigDecimal;

import com.rjconsultores.ventaboletos.utilerias.StringHelper;

public class QdmpDerRodapeVo {
	
	private Integer codEmp;
	private String linha;
	private String secao;
	private Integer digVer;
	private Integer totMov1;
	private Integer totMov2;
	private Integer totMov3;
	private BigDecimal receita;
	private BigDecimal icms;
	private BigDecimal iasp;
	private String codOper;
	
	public QdmpDerRodapeVo(Object[] obj) {
		this.codEmp 	= obj[0]==null?0:(Integer)obj[0];
		this.linha 		= obj[1]==null?"":(String)obj[1];
		this.totMov1 	= obj[2]==null?0:(Integer)obj[2];
		this.receita 	= obj[3]==null?BigDecimal.ZERO:(BigDecimal)obj[3];
		this.icms 		= obj[4]==null?BigDecimal.ZERO:(BigDecimal)obj[4];
		this.iasp 		= obj[5]==null?BigDecimal.ZERO:(BigDecimal)obj[5];
		this.secao 		= "9999";
		this.totMov2    = 0;
		this.totMov3    = 0;
		this.digVer     = 9;
		this.codOper    = "I";

	}
	
	@Override
	public String toString() {
		this.receita= this.receita.setScale(2, BigDecimal.ROUND_CEILING);
		this.icms = this.icms.setScale(2, BigDecimal.ROUND_CEILING);
		this.iasp = this.iasp.setScale(2, BigDecimal.ROUND_CEILING);
		
		StringBuilder retorno = new StringBuilder();
		retorno.append("P")
		.append(codEmp)
		.append(StringHelper.preencherStringEspacoEsquerda(linha, 10))
		.append(secao)
		.append(digVer)
		.append( StringHelper.preencherStringEspacoEsquerda("", 20) )
		.append( StringHelper.preencherZeroEsquerda(totMov1, 7) )
		.append( StringHelper.preencherZeroEsquerda(totMov2, 7) )
		.append( StringHelper.preencherZeroEsquerda(totMov3, 7) ) 
		.append( StringHelper.preencherZeroEsquerda(receita.toString().replace(".", ""), 11) ) 
		.append( StringHelper.preencherZeroEsquerda(icms.toString().replace(".", ""), 11) ) 
		.append( StringHelper.preencherZeroEsquerda(iasp.toString().replace(".", ""), 11) ) 
		.append(codOper);
		
		return retorno.toString();
	}

	public Integer getCodEmp() {
		return codEmp;
	}
	public void setCodEmp(Integer codEmp) {
		this.codEmp = codEmp;
	}
	public String getLinha() {
		return linha;
	}
	public void setLinha(String linha) {
		this.linha = linha;
	}
	public String getSecao() {
		return secao;
	}
	public void setSecao(String secao) {
		this.secao = secao;
	}
	public Integer getDigVer() {
		return digVer;
	}
	public void setDigVer(Integer digVer) {
		this.digVer = digVer;
	}
	public Integer getTotMov1() {
		return totMov1;
	}
	public void setTotMov1(Integer totMov1) {
		this.totMov1 = totMov1;
	}
	public Integer getTotMov2() {
		return totMov2;
	}
	public void setTotMov2(Integer totMov2) {
		this.totMov2 = totMov2;
	}
	public Integer getTotMov3() {
		return totMov3;
	}
	public void setTotMov3(Integer totMov3) {
		this.totMov3 = totMov3;
	}
	public BigDecimal getReceita() {
		return receita;
	}
	public void setReceita(BigDecimal receita) {
		this.receita = receita;
	}
	public BigDecimal getIcms() {
		return icms;
	}
	public void setIcms(BigDecimal icms) {
		this.icms = icms;
	}
	public BigDecimal getIasp() {
		return iasp;
	}
	public void setIasp(BigDecimal iasp) {
		this.iasp = iasp;
	}
	public String getCodOper() {
		return codOper;
	}
	public void setCodOper(String codOper) {
		this.codOper = codOper;
	}
}
