BoletoViewer boletoViewer = new BoletoViewer(getBoletoJrimum());
boletoViewer.setTemplate("desenvolvimento/SICREDI/Template/TemplateBoletoSicredi.pdf");
<repository>
<id>jrimum.org</id>
<url>http://jrimum.org/maven/content/groups/public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
Atenciosamente
-Philemon da Silva Souza
Caramba cara. Adoraria uma ajuda aqui sim!
//Criar Título
tituloJirimum = new Titulo(getContaBancaria(), getPagador(), getBeneficiario());
tituloJirimum.setNumeroDoDocumento(configurarNumeroDoDocumento(getNumeroDocumento()));
tituloJirimum.setNossoNumero(configurarNossoNumero(getNossoNumero())); // <<<<<
tituloJirimum.setDigitoDoNossoNumero(configurarDigitoDoNossoNumero(getNossoNumero()));// <<<<<
tituloJirimum.setValor(configurarValor(getValor()));
tituloJirimum.setDataDoDocumento(getDataEmissao());
tituloJirimum.setDataDoVencimento(getDataVencimento());
tituloJirimum.setTipoDeDocumento(TipoDeTitulo.DM_DUPLICATA_MERCANTIL);
tituloJirimum.setParametrosBancarios(retornarParametrosBancarios());
tituloJirimum.setAceite(Aceite.N);
protected String configurarNossoNumero(String nossoNumeroComDigito) {
String nossoNumero = nossoNumeroComDigito.split("-")[0];
return nossoNumero;
}
protected String configurarDigitoDoNossoNumero(String nossoNumero) {
return nossoNumero.split("-")[1];
}
Mestre,
estou te mandando o método que gera o boleto da sicredi para você dar uma olhada.
Pode ser que esta diferença esta na agência, n° do convenio e etc.
Também pode ser que a forma que você esta compondo o nosso numero pode estar dando diferença.
public static Boleto createBoleto(ContasReceberParcelas parcelas) {
/*
* INFORMANDO DADOS SOBRE O beneficiente.
*/
Cedente cedente = new Cedente(parcelas.getContasReceber().getEmpresa().getRazaoSocial(),
parcelas.getContasReceber().getEmpresa().getCnpj());
/*
* INFORMANDO DADOS SOBRE O PAGADOR.
*/
String nome;
if (parcelas.getContasReceber().getPessoa().getTipo().equals("F")) {
nome = parcelas.getContasReceber().getPessoa().getNome();
} else {
nome = parcelas.getContasReceber().getPessoa().getPessoaJuridica().getRazaoSocial();
}
Sacado sacado = new Sacado(nome, parcelas.getContasReceber().getPessoa().getCpfCnpj());
// Informando o endereço do sacado.
Endereco enderecoSac = new Endereco();
enderecoSac.setUF(UnidadeFederativa
.valueOfSigla(parcelas.getContasReceber().getPessoa().getEndereco().getMunicipio().getUf().getSigla()));
enderecoSac.setLocalidade(parcelas.getContasReceber().getPessoa().getEndereco().getMunicipio().getNome());
enderecoSac.setCep(new CEP(parcelas.getContasReceber().getPessoa().getEndereco().getCep()));
enderecoSac.setBairro(parcelas.getContasReceber().getPessoa().getEndereco().getBairro());
enderecoSac.setLogradouro(parcelas.getContasReceber().getPessoa().getEndereco().getLogradouro());
enderecoSac.setNumero(parcelas.getContasReceber().getPessoa().getEndereco().getNumero());
sacado.addEndereco(enderecoSac);
/*
* INFORMANDO OS DADOS SOBRE O TÍTULO.
*/
ContaBancaria contaBancaria = new ContaBancaria();
contaBancaria.setBanco(BancosSuportados.BANCO_SICREDI.create());
contaBancaria.setNumeroDaConta(
new NumeroDaConta(Integer.parseInt(parcelas.getContasReceber().getContaBanco().getNumeroConvenio())));
contaBancaria.setAgencia(new Agencia(
Integer.parseInt(
Biblioteca.formataContaAgenciaJRimun(parcelas.getContasReceber().getContaBanco().getAgencia())),
"X"));
Carteira carteira = new Carteira(1);
carteira.setTipoCobranca(TipoDeCobranca.SEM_REGISTRO);
contaBancaria.setCarteira(carteira);
Titulo titulo = new Titulo(contaBancaria, sacado, cedente);
titulo.setNumeroDoDocumento(parcelas.getIdContasReceberParcelas().toString());
titulo.setNossoNumero(Biblioteca.formataContaAgenciaJRimun(
Biblioteca.apenasNumeros(Biblioteca.formataContaAgenciaJRimun(parcelas.getNossoNumero()))));
titulo.setDigitoDoNossoNumero(Biblioteca.formataDigitoContaAgenciaJRimun(parcelas.getNossoNumero()));
titulo.setValor(parcelas.getValor());
titulo.setDataDoDocumento(parcelas.getContasReceber().getDataLancamento());
titulo.setDataDoVencimento(parcelas.getDataVencimento());
titulo.setTipoDeDocumento(TipoDeTitulo.valueOf(parcelas.getContasReceber().getTipoTituloSicredi().getCodigo()));
titulo.setAceite(parcelas.getContasReceber().getAceite());
titulo.setParametrosBancarios(
new ParametrosBancariosMap("PostoDaAgencia", parcelas.getContasReceber().getContaBanco().getPosto()));
ParametrosBancariosMap param = new ParametrosBancariosMap();
param.adicione(param);
titulo.setTipoDeMoeda(TipoDeMoeda.REAL);
/*
* INFORMANDO OS DADOS SOBRE O BOLETO.
*/
Boleto boleto = new Boleto(titulo);
boleto.setLocalPagamento("PREFERENCIALMENTE EM CANAIS ELETRÔNICOS DA SUA INSTITUIÇÃO FINANCEIRA");
boleto.setInstrucaoAoSacado("Evite multas, pague em dias suas contas.");
boleto.setDataDeProcessamento(parcelas.getContasReceber().getDataLancamento());
StringBuilder instrucoes = new StringBuilder();
// DESCONTO
if (parcelas.getDescontoBoleto().compareTo(BigDecimal.ZERO) == 1) {
if (parcelas.getContasReceber().getTipoDescontoSicredi().equals("A")) {
instrucoes.append("APLICAR DESCONTO DE R$ " + parcelas.getContasReceber().getDescontoBoleto()
+ " PARA PAGAMENTO ANTERIOR A DATA DE VENCIMENTO \n");
} else {
instrucoes.append("APLICAR DESCONTO DE " + parcelas.getContasReceber().getDescontoBoleto()
+ "% PARA PAGAMENTO ANTERIOR A DATA DE VENCIMENTO \n");
}
}
if (parcelas.getContasReceber().getDescontoPorDiaAntecipado().compareTo(BigDecimal.ZERO) == 1) {
instrucoes.append("APLICAR DESCONTO DE R$ " + parcelas.getContasReceber().getDescontoPorDiaAntecipado()
+ " POR DIA ANTECIPADO \n");
}
// MULTA
if (parcelas.getContasReceber().getMultaBoleto().compareTo(BigDecimal.ZERO) == 1) {
instrucoes.append("APLICAR MULTA DE " + parcelas.getContasReceber().getMultaBoleto() + "% PARA PAGAMENTO APÓS O VENCIMENTO \n");
}
// JUROS
if (parcelas.getContasReceber().getJurosBoleto().compareTo(BigDecimal.ZERO) == 1) {
if (parcelas.getContasReceber().getTipoJurosSicredi().equals("A")) {
instrucoes.append(
"JUROS: VALOR P/ DIA DE ATRASO: R$" + parcelas.getContasReceber().getJurosBoleto() + "\n");
} else {
instrucoes.append(
"JUROS: VALOR P/ DIA DE ATRASO: " + parcelas.getContasReceber().getJurosBoleto() + "% \n");
}
}
if (parcelas.getContasReceber().getInstrucaoNegativacaoSicredi().equals("06")) {
instrucoes.append("NEGATIVAÇÃO NO " + parcelas.getContasReceber().getDiasNegativacao()
+ "° DIA APÓS O VENCIMENTO \n");
}
if (parcelas.getContasReceber().getInstrucaoProtestoSicredi().equals("06")) {
instrucoes.append(
"PROTESTO NO " + parcelas.getContasReceber().getDiasProtesto() + "° DIA APÓS O VENCIMENTO \n");
}
String[] linhas = instrucoes.toString().split("\\r\\n|\\r|\\n", -1);
for (int i = 0; i < linhas.length; i++) {
switch (i) {
case 0: {
boleto.setInstrucao1(linhas[i]);
break;
}
case 1: {
boleto.setInstrucao2(linhas[i]);
break;
}
case 2: {
boleto.setInstrucao3(linhas[i]);
break;
}
case 3: {
boleto.setInstrucao4(linhas[i]);
break;
}
case 4: {
boleto.setInstrucao5(linhas[i]);
break;
}
default: {
System.out.println("Default");
}
}
}
/*
* O campo “agência/código beneficiário” deve ter o formato
* AAAA.PP.CCCCC onde: AAAA = Número da agência: CCCCC = Código do
* beneficiário Ex: 0165.02.00623
*
*/
String agenciaCodigoDoCedenteParaExibicao = String.format("%s.%s.%s",
parcelas.getContasReceber().getContaBanco().getAgencia(),
parcelas.getContasReceber().getContaBanco().getPosto(),
parcelas.getContasReceber().getContaBanco().getNumeroConvenio());
boleto.addTextosExtras("txtFcAgenciaCodigoCedente", agenciaCodigoDoCedenteParaExibicao);
boleto.addTextosExtras("txtRsAgenciaCodigoCedente", agenciaCodigoDoCedenteParaExibicao);
String nossoNumeroParaExibicao = parcelas.getNossoNumero();
boleto.addTextosExtras("txtFcNossoNumero", nossoNumeroParaExibicao);
boleto.addTextosExtras("txtRsNossoNumero", nossoNumeroParaExibicao);
boleto.addTextosExtras("txtRsCodBanco", "748-X");
boleto.addTextosExtras("txtFcCodBanco", "748-X");
boleto.addTextosExtras("txtRsNumeroParcela", parcelas.getParcela());
return boleto;
}
De: Philemon da Silva Souza
Enviado:sexta-feira, 8 de maio de 2020 10:51
Para: JRimum Community
Assunto: Re: Dificuldade na criação de boleto com template.
Caramba cara. Adoraria uma ajuda aqui sim!
Consegui gerar o arquivo PDF do título em questão. Mas tem um erro na minha Linha digitável:
No boleto que eu gerei a linha é:
"74891.12032 84728.902218 03327.111070 8 82700000031058"
Mas, no boleto que eu tenho de exemplo (para o mesmo título), a linha digitável é:
"74891.12032 84728.902218 13327.111053 9 82700000031058"
Como você pode ver, a partir do 22º dígito, tem algumas diferenças.
Pesquisei no manual fornecido pelo SICREDI e achei o seguinte:
--
--
Você recebeu esta mensagem porque está inscrito no Grupo "JRimum
Community" nos Grupos do Google.
Para postar neste grupo, envie um e-mail para
jrimum-c...@googlegroups.com
ANTES DE POSTAR... leia:
https://groups.google.com/d/topic/jrimum-community/ULU8QHHgaBs/discussion
Para cancelar a sua inscrição neste grupo, envie um e-mail para
jrimum-communi...@googlegroups.com
Para ver mais opções, visite este grupo em
http://groups.google.com/group/jrimum-community?hl=pt-BR?hl=pt-BR
---
Você recebeu essa mensagem porque está inscrito no grupo "JRimum Community" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para jrimum-communi...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/jrimum-community/2d5773d9-21fc-4d30-bfcc-ba3ba88bb332%40googlegroups.com.