127 lines
6.4 KiB
Java
127 lines
6.4 KiB
Java
package com.rjconsultores.ventaboletos.layouts;
|
|
|
|
import java.math.BigDecimal;
|
|
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.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.caixa.CabecalhoRemessaCaixa;
|
|
import com.rjconsultores.ventaboletos.blocos.caixa.DetalheObrigatorioCaixa;
|
|
import com.rjconsultores.ventaboletos.enuns.BancoLayout;
|
|
import com.rjconsultores.ventaboletos.utils.FormataUtil;
|
|
|
|
public class CaixaFlatFile extends AbstractFlatFile implements RemessaInterface {
|
|
|
|
private static BigDecimal valorTotal = BigDecimal.ZERO;
|
|
private static Integer quantidadeRegistro = 0;
|
|
|
|
public CaixaFlatFile() {
|
|
super(BancoLayout.CAIXA_400_Envio);
|
|
valorTotal = BigDecimal.ZERO;
|
|
quantidadeRegistro = 0;
|
|
}
|
|
|
|
@Override
|
|
protected void createHeader(CabecalhoRemessa cabecalhoRemessaParam) {
|
|
|
|
Record header = getFlatFile().createRecord("Header");
|
|
|
|
CabecalhoRemessaCaixa cabecalhoRemessa = (CabecalhoRemessaCaixa) cabecalhoRemessaParam;
|
|
|
|
header.setValue("AgenciaBeneficiario", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getAgenciaBeneficiario(), 4));
|
|
header.setValue("NomeEmpresa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNomeEmpresa(), 30));
|
|
header.setValue("Beneficiario", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getCodigoEmpresa(), 7));
|
|
header.setValue("versaoLayout", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getVersaoLayout(), 3));
|
|
header.setValue("DataGravacao", FormataUtil.formataDataToString(cabecalhoRemessa.getDataGravacao(), "000000", "ddMMyy"));
|
|
header.setValue("NumeroSequencialRemessa", FormataUtil.formatarValorPorTamanho(cabecalhoRemessa.getNumeroSequencialRemessa().toString(), 7));
|
|
|
|
quantidadeRegistro = quantidadeRegistro + 1;
|
|
|
|
getFlatFile().addRecord(header);
|
|
}
|
|
|
|
@Override
|
|
protected void createTransacaoTitulos(DetalheObrigatorio tituloParam) {
|
|
|
|
Record transacaoTitulos = getFlatFile().createRecord("TransacaoTitulo");
|
|
|
|
DetalheObrigatorioCaixa titulo = (DetalheObrigatorioCaixa) tituloParam;
|
|
|
|
transacaoTitulos.setValue("NumeroInscricao", FormataUtil.formatarValorPorTamanho(titulo.getNumeroInscricao().toString(), 14));
|
|
transacaoTitulos.setValue("NossoNumero", FormataUtil.formatarValorPorTamanho(titulo.getNossoNumero(), 8));
|
|
transacaoTitulos.setValue("DataJuros", FormataUtil.formataDataToString(titulo.getVencimento(), "000000", "ddMMyy"));
|
|
transacaoTitulos.setValue("NumeroDoDocumento", FormataUtil.formatarValorPorTamanho(titulo.getNumeroDoDocumento(), 10));
|
|
transacaoTitulos.setValue("Vencimento", FormataUtil.formataDataToString(titulo.getVencimento(), "000000", "ddMMyy"));
|
|
transacaoTitulos.setValue("ValorTitulo", titulo.getValor());
|
|
transacaoTitulos.setValue("DataEmissao", FormataUtil.formataDataToString(titulo.getEmissao(), "000000", "ddMMyy"));
|
|
transacaoTitulos.setValue("ValorJuros", titulo.getValorAtraso());
|
|
transacaoTitulos.setValue("DataDesconto", FormataUtil.formataDataToString(titulo.getDataLimiteDesconto(), "000000", "ddMMyy"));
|
|
transacaoTitulos.setValue("ValorDesconto", titulo.getValorDesconto());
|
|
transacaoTitulos.setValue("ValorIOF", titulo.getValorIOF());
|
|
transacaoTitulos.setValue("ValorAbatimento", titulo.getValorAbatimentoConcedido());
|
|
transacaoTitulos.setValue("AgenciaCobradora", FormataUtil.formatarValorPorTamanho("", 6));
|
|
transacaoTitulos.setValue("TipoSacado", FormataUtil.formatarValorPorTamanho(titulo.getTipoInscricaoPagador().toString(), 2));
|
|
transacaoTitulos.setValue("DocumentoSacado", FormataUtil.formatarValorPorTamanho(titulo.getNumeroInscricaoSacado().toString(), 14));
|
|
transacaoTitulos.setValue("NomeSacado", FormataUtil.formatarValorPorTamanho(titulo.getNomeSacado(), 40));
|
|
transacaoTitulos.setValue("EnderecoSacado", FormataUtil.formatarValorPorTamanho(titulo.getEnderecoSacado(), 40));
|
|
transacaoTitulos.setValue("BairroSacado", FormataUtil.formatarValorPorTamanho(titulo.getBairroSacado(), 12));
|
|
transacaoTitulos.setValue("CepSacado", FormataUtil.formatarValorPorTamanho(titulo.getCepSacado().toString(), 8));
|
|
transacaoTitulos.setValue("CidadeSacado", FormataUtil.formatarValorPorTamanho(titulo.getCidade(), 15));
|
|
transacaoTitulos.setValue("EstadoSacado", FormataUtil.formatarValorPorTamanho(titulo.getEstado(), 2));
|
|
transacaoTitulos.setValue("DataMulta", FormataUtil.formataDataToString(titulo.getVencimento(), "000000", "ddMMyy"));
|
|
transacaoTitulos.setValue("ValorMulta", titulo.getValorMulta());
|
|
transacaoTitulos.setValue("SacadorAvalista", FormataUtil.formatarValorPorTamanho(titulo.getSacadorAvalista(), 30));
|
|
transacaoTitulos.setValue("NumeroSequencialRegistro", FormataUtil.formatarValorPorTamanho(titulo.getNumeroSequencialRegistro().toString(), 6));
|
|
|
|
valorTotal = valorTotal.add(titulo.getValor());
|
|
quantidadeRegistro = quantidadeRegistro + 1;
|
|
|
|
getFlatFile().addRecord(transacaoTitulos);
|
|
}
|
|
|
|
@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 createDadosBoletos(DadosBoleto boleto) {
|
|
throw new UnsupportedOperationException("Não necessário...");
|
|
}
|
|
|
|
@Override
|
|
protected Record createRateioDeCredito(RateioDeCredito rateioDeCredito) {
|
|
throw new UnsupportedOperationException("Não necessário...");
|
|
}
|
|
}
|