174 lines
10 KiB
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...");
|
|
}
|
|
}
|