AdmMono/src/com/rjconsultores/ventaboletos/layouts/ItauFlatFile.java

174 lines
10 KiB
Java

package com.rjconsultores.ventaboletos.layouts;
import java.util.Collection;
import java.util.List;
import org.jrimum.texgit.Record;
import com.rjconsultores.ventaboletos.blocos.CabecalhoRemessa;
import com.rjconsultores.ventaboletos.blocos.CabecalhoRetorno;
import com.rjconsultores.ventaboletos.blocos.DadosBoleto;
import com.rjconsultores.ventaboletos.blocos.DetalheMulta;
import com.rjconsultores.ventaboletos.blocos.DetalheObrigatorio;
import com.rjconsultores.ventaboletos.blocos.DetalheRetorno;
import com.rjconsultores.ventaboletos.blocos.RateioDeCredito;
import com.rjconsultores.ventaboletos.blocos.RodapeRemessa;
import com.rjconsultores.ventaboletos.blocos.RodapeRetorno;
import com.rjconsultores.ventaboletos.blocos.itau.CabecalhoRemessaItau;
import com.rjconsultores.ventaboletos.blocos.itau.DetalheObrigatorioItau;
import com.rjconsultores.ventaboletos.enuns.BancoLayout;
import com.rjconsultores.ventaboletos.utils.FormataUtil;
public class ItauFlatFile extends AbstractFlatFile implements RemessaInterface {
private static final String SOMENTE_CLASSE_DE_RETORNO = "Somente classe de Retorno.";
public ItauFlatFile() {
super(BancoLayout.ITAU_400_Envio);
}
@Override
protected void createHeader(CabecalhoRemessa cabecalhoRemessaParam) {
Record header = getFlatFile().createRecord("Header");
CabecalhoRemessaItau cabecalhoRemessa = (CabecalhoRemessaItau) cabecalhoRemessaParam;
//header.setValue("IdentificacaoRemessa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getIdentificacaoRemessa(), 1));
//header.setValue("LiteralRemessa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getLiteralRemessa(), 7));
//header.setValue("CodigoDeServico", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getCodigoDeServico(), 2));
//header.setValue("LiteralServico", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getLiteralServico(), 15));
header.setValue("Agencia", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getAgencia().toString(), 4));
//header.setValue("Zeros", "00");
header.setValue("Conta", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getConta().toString(), 5));
header.setValue("DacConta", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getDacConta().toString(), 1));
header.setValue("Brancos1", FormataUtil.formatarValorPorTamanho(" ", 8));
header.setValue("NomeEmpresa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNomeEmpresa().toString(), 30));
//header.setValue("CodigoCompensacao", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getIdentificacaoRemessa(), 3));
//header.setValue("NomeBanco", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getIdentificacaoRemessa(), 15));
header.setValue("DataGeracao", FormataUtil.formataData(cabecalhoRemessa.getDataGeracao()));
header.setValue("Brancos2", FormataUtil.formatarValorPorTamanho(" ", 294));
header.setValue("NumeroSequencialRegistro", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNumeroSequencialRegistro().toString(), 6));
getFlatFile().addRecord(header);
}
@Override
protected void createTransacaoTitulos(DetalheObrigatorio tituloParam) {
Record transacaoTitulos = getFlatFile().createRecord("TransacaoTitulo");
DetalheObrigatorioItau titulo = (DetalheObrigatorioItau) tituloParam;
//transacaoTitulos.setValue("CodigoInscricao", FormataUtil.formatarValorPorTamanho(titulo.getCodigoInscricao().toString(), 2));
transacaoTitulos.setValue("NumeroInscricao", FormataUtil.formatarValorPorTamanho(titulo.getNumCpfCnpj(), 14));
transacaoTitulos.setValue("Agencia", FormataUtil.formatarValorPorTamanho(titulo.getAgencia().toString(), 4));
transacaoTitulos.setValue("Zeros", "00");
transacaoTitulos.setValue("Conta", FormataUtil.formatarValorPorTamanho(titulo.getConta().toString(), 5));
transacaoTitulos.setValue("DacConta", FormataUtil.formatarValorPorTamanho(titulo.getDacConta().toString(), 1));
transacaoTitulos.setValue("Brancos1", FormataUtil.formatarValorPorTamanho(" ", 4));
transacaoTitulos.setValue("InstrucaoAlegacao", FormataUtil.formatarValorPorTamanho(titulo.getInstrucaoAlegacao().toString(), 4));
transacaoTitulos.setValue("UsoDaEmpresa", FormataUtil.formatarValorPorTamanho(titulo.getUsoDaEmpresa(), 25));
transacaoTitulos.setValue("NossoNumero", FormataUtil.formatarValorPorTamanho(titulo.getNossoNumero().toString(), 8));
transacaoTitulos.setValue("QtdMoeda", titulo.getQtdMoeda());
transacaoTitulos.setValue("NrCarteira", FormataUtil.formatarValorPorTamanho(titulo.getNrCarteira().toString(), 3));
transacaoTitulos.setValue("UsoDoBanco", FormataUtil.formatarValorPorTamanho(titulo.getUsoDoBanco(), 21));
// transacaoTitulos.setValue("CodigoCarteira", FormataUtil.formatarValorPorTamanho(titulo.getCodigoCarteira(), 1));
transacaoTitulos.setValue("CodigoDeOcorrencia", FormataUtil.formatarValorPorTamanho(titulo.getCodigoDeOcorrencia().toString(), 2));
transacaoTitulos.setValue("NumeroDoDocumento", FormataUtil.formatarValorPorTamanho(titulo.getNumeroDoDocumento().toString(), 10));
transacaoTitulos.setValue("Vencimento", FormataUtil.formataData(titulo.getVencimento()));
transacaoTitulos.setValue("Valor", titulo.getValor());
//transacaoTitulos.setValue("CodigoCompensacaoBancoRecebedor", FormataUtil.formatarValorPorTamanho(titulo.getCodigoCompensacaoBancoRecebedor().toString(), 3));
transacaoTitulos.setValue("AgenciaCobradora", FormataUtil.formatarValorPorTamanho(titulo.getAgenciaCobradora().toString(), 5));
transacaoTitulos.setValue("EspecieDeTitulo", FormataUtil.formatarValorPorTamanho(titulo.getEspecieDeTitulo().toString(), 2));
transacaoTitulos.setValue("Aceite", FormataUtil.formatarValorPorTamanho(titulo.getAceite(), 1));
transacaoTitulos.setValue("Emissao", FormataUtil.formataData(titulo.getEmissao()));
transacaoTitulos.setValue("Instrucao1", FormataUtil.formatarValorPorTamanho(titulo.getInstrucao1(), 2));
transacaoTitulos.setValue("Instrucao2", FormataUtil.formatarValorPorTamanho(titulo.getInstrucao2(), 2));
transacaoTitulos.setValue("JurosDeMora", titulo.getJurosDeMora());
transacaoTitulos.setValue("DataDesconto", FormataUtil.formataData(titulo.getDataDesconto()));
transacaoTitulos.setValue("DescontoConcedido", titulo.getDescontoConcedido());
transacaoTitulos.setValue("IOF_Devido", titulo.getIOF_Devido());
transacaoTitulos.setValue("AbatimentoConcedido", titulo.getAbatimentoConcedido());
transacaoTitulos.setValue("TipoInscricaoSacado", FormataUtil.formatarValorPorTamanho(titulo.getTipoInscricaoSacado().getId(), 2));
transacaoTitulos.setValue("NumeroInscricaoSacado", FormataUtil.formatarValorPorTamanho(titulo.getNumeroInscricaoSacado().toString(), 14));
transacaoTitulos.setValue("NomeSacado", FormataUtil.formatarValorPorTamanho(titulo.getNomeSacado().toString(), 30));
transacaoTitulos.setValue("Brancos2", FormataUtil.formatarValorPorTamanho(" ", 2));
transacaoTitulos.setValue("LogradouroSacado", FormataUtil.formatarValorPorTamanho(titulo.getLogradouroSacado().toString(), 40));
transacaoTitulos.setValue("BairroSacado", FormataUtil.formatarValorPorTamanho(titulo.getBairroSacado().toString(), 12));
transacaoTitulos.setValue("CepSacado", FormataUtil.formatarValorPorTamanho(titulo.getCepSacado().toString(), 8));
transacaoTitulos.setValue("Cidade", FormataUtil.formatarValorPorTamanho(titulo.getCidade(), 15));
transacaoTitulos.setValue("Estado", FormataUtil.formatarValorPorTamanho(titulo.getEstado(), 2));
transacaoTitulos.setValue("SacadorAvalista", FormataUtil.formatarValorPorTamanho(titulo.getSacadorAvalista(), 30));
transacaoTitulos.setValue("Brancos3", FormataUtil.formatarValorPorTamanho(" ", 2));
transacaoTitulos.setValue("DataDeMora", FormataUtil.formataData(titulo.getDataDeMora()));
transacaoTitulos.setValue("Prazo", FormataUtil.formatarValorPorTamanho(titulo.getPrazo().toString(), 2));
transacaoTitulos.setValue("Brancos4", FormataUtil.formatarValorPorTamanho(" ", 2));
transacaoTitulos.setValue("NumeroSequencialRegistro", FormataUtil.formatarValorPorTamanho(titulo.getNumeroSequencialRegistro().toString(), 6));
DadosBoleto dadosBoleto = titulo.getDadosBoleto();
try{
if(dadosBoleto != null){
transacaoTitulos.addInnerRecord(createDadosBoletos(dadosBoleto));
}
}catch(UnsupportedOperationException e){ }
DetalheMulta detalheMulta = titulo.getDetalheMulta();
try{
if(detalheMulta != null){
transacaoTitulos.addInnerRecord(createDetalheMulta(detalheMulta));
}
}catch(UnsupportedOperationException e){ }
getFlatFile().addRecord(transacaoTitulos);
}
@Override
protected Record createDadosBoletos(DadosBoleto boleto) {
throw new UnsupportedOperationException("Não necessário...");
}
protected Record createDetalheMulta(DetalheMulta detalheMulta) {
Record detalhe = getFlatFile().createRecord("DetalheMulta");
detalhe.setValue("CodigoMulta", FormataUtil.formatarValorPorTamanho(detalheMulta.getCodigoMulta(), 1));
detalhe.setValue("DataMulta", FormataUtil.formataData( detalheMulta.getDataMulta()) );
detalhe.setValue("ValorMulta", FormataUtil.formatarValorPorTamanho(detalheMulta.getPercentualMulta(), 13));
detalhe.setValue("NumeroSequencialRegistro", FormataUtil.formatarValorPorTamanho(detalheMulta.getNumeroSequencial(), 6));
return detalhe;
}
@Override
protected void createTrailler(RodapeRemessa trailler) {
Record trailer = getFlatFile().createRecord("Trailler");
trailer.setValue("NumeroSequencialRegistro", FormataUtil.formatarValorPorTamanho(trailler.getNumeroSequencialRegistro().toString(), 6));
getFlatFile().addRecord(trailer);
}
@Override
protected CabecalhoRetorno readHeader(Record header) {
throw new UnsupportedOperationException(SOMENTE_CLASSE_DE_RETORNO);
}
@Override
protected List<DetalheRetorno> readTransacaoTitulos(Collection<Record> registrosDeTransacoes) {
throw new UnsupportedOperationException(SOMENTE_CLASSE_DE_RETORNO);
}
@Override
protected RodapeRetorno readTrailler(Record trailler) {
throw new UnsupportedOperationException(SOMENTE_CLASSE_DE_RETORNO);
}
@Override
protected Record createRateioDeCredito(RateioDeCredito rateioDeCredito) {
throw new UnsupportedOperationException("Não necessário...");
}
}