Skip to content

nielsonrocha/bank-layout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Bank Layout

Projeto para geração e leitura de arquivos bancários de remessa e retoro Atualmente funcionando para Layoyt EDO Banco do Brasil e Caixa SIACC 150

Exemplos

  • Geração de arquivo EDO Banco do Brasil
import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.beanio.BeanWriter;
import org.beanio.StreamFactory;
import org.beanio.builder.FixedLengthParserBuilder;
import org.beanio.builder.GroupBuilder;
import org.beanio.builder.StreamBuilder;

import br.com.nrtec.layout.bancobrasil.edo.DadosDocumento;
import br.com.nrtec.layout.bancobrasil.edo.Destinatario;
import br.com.nrtec.layout.bancobrasil.edo.Header;
import br.com.nrtec.layout.bancobrasil.edo.Trailler;

public class LayoutEDOTest {

	public static void main(String[] args) throws Exception {

		StreamFactory factory = StreamFactory.newInstance();

		StreamBuilder builderTxt = new StreamBuilder("layoutEDO").format("fixedlength")
				.parser(new FixedLengthParserBuilder())
				.addRecord(br.com.nrtec.layout.bancobrasil.edo.Header.class)
				.addGroup(new GroupBuilder("Destinatario")
						.addRecord(br.com.nrtec.layout.bancobrasil.edo.Destinatario.class)
						.addRecord(br.com.nrtec.layout.bancobrasil.edo.DadosDocumento.class))
				.addRecord(br.com.nrtec.layout.bancobrasil.edo.Trailler.class);
		
		factory.define(builderTxt);

		BeanWriter out = factory.createWriter("layoutEDO", new File("c:\\temp\\edo.txt"));

		Header header = new Header();

		header.setAgenciaEmpresa("3846");
		header.setAno("2019");
		header.setMes("8");
		header.setContaCorrenteEmpresa("234361");
		header.setDataCredito(new Date());
		header.setNumeroContrato("987");
		header.setNumeroRemessa("123");
		
		List<Destinatario> destinatarios = new ArrayList<>();

		Destinatario dest = new Destinatario();
		dest.setAgencia("0528");
		dest.setContaCorrente("41470");
		dest.setCpf("03499315360");
		dest.setId("0082142000");
		dest.setNome("JOSE JOAO DA SILVA");

		dest.getDadosDocumento().add(new DadosDocumento("0082142000", 1, "SALARIO BASE 1.000,00", 0));
		dest.getDadosDocumento().add(new DadosDocumento("0082142000", 2, "DESCONTOS      300,00", 0));
		dest.getDadosDocumento().add(new DadosDocumento("0082142000", 3, "LIQUIDO        700,00", 0));

		dest.setQuantidadeLinhas(dest.getDadosDocumento().size());
		
		destinatarios.add(dest);

		dest = new Destinatario();
		dest.setAgencia("1234");
		dest.setContaCorrente("56789");
		dest.setCpf("12345678900");
		dest.setId("0081032000");
		dest.setNome("TESTE DE FUNCIONARIO");

		dest.getDadosDocumento().add(new DadosDocumento("0081032000", 1, "SALARIO BASE 2.000,00", 0));
		dest.getDadosDocumento().add(new DadosDocumento("0081032000", 2, "DESCONTOS      900,00", 0));
		dest.getDadosDocumento().add(new DadosDocumento("0081032000", 3, "LIQUIDO      1.100,00", 0));

		dest.setQuantidadeLinhas(dest.getDadosDocumento().size());
		
		destinatarios.add(dest);
		
		// gerando arquivo
		out.write(header); // gravar header
		
		destinatarios.forEach(destinatario -> {
			
			out.write(destinatario); // gravar destinatario
			destinatario.getDadosDocumento().forEach(d -> {
				out.write(d); // gravar detalhe do destinatario
			});

		});

		Trailler trailler = new Trailler();
		trailler.setQuantidadeDestinatario(destinatarios.size());

		out.write(trailler);

		out.flush();
		out.close();
	}
}

About

LIB para geração de Layouts bancários

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages