Gerar boletos com data vencimento após FEVEREIRO de 2025

788 views
Skip to first unread message

Fabricio Ventura

unread,
Feb 2, 2024, 8:28:10 PM2/2/24
to JRimum Community
Preciso do bopepo.jar atualizado para gerar boletos após o FEVEREIRO de 2025.

Solerman Kaplon

unread,
Feb 5, 2024, 7:44:14 AM2/5/24
to jrimum-c...@googlegroups.com
Baixe os fontes e atualize as duas classes do main e do test em anexo e compile o projeto. Não uso bopepo padrão então não tenho um jar pronto dele.

Em 02/02/2024 17:56, Fabricio Ventura escreveu:
Preciso do bopepo.jar atualizado para gerar boletos após o FEVEREIRO de 2025. --
--
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 acessar essa discussão na Web, acesse https://groups.google.com/d/msgid/jrimum-community/2fe1af49-a47a-4184-9325-3e3cb8ce381dn%40googlegroups.com.


FatorDeVencimento.java
TestFatorDeVencimento.java

Rogggerio Machiello

unread,
Feb 5, 2024, 10:20:14 AM2/5/24
to jrimum-c...@googlegroups.com
Alguém aqui já conseguiu gerar Boletos d8?

Fabricio Ventura

unread,
Feb 5, 2024, 1:20:05 PM2/5/24
to JRimum Community
você teria o projeto para me enviar? para eu fazer as alterações e gerar o .jar?

baixei o projeto do github deles, porém está todo desatualizado. Da erro nas libs Vallia, Domkee e Textgit.

Roberto aqui

unread,
Feb 5, 2024, 1:45:12 PM2/5/24
to jrimum-c...@googlegroups.com

Rogggerio Machiello

unread,
Feb 5, 2024, 2:02:01 PM2/5/24
to jrimum-c...@googlegroups.com
Eu mandei desenvolver em Delphi porém não consigo registrar o boleto no banco pq não tenho contrato de concessão pública para conseguir convênio bancário pra isso 

Solerman Kaplon

unread,
Feb 5, 2024, 2:22:23 PM2/5/24
to jrimum-c...@googlegroups.com
Que erro? Acho que no nosso só fixamos as versões snapshot pra uma data fixa, tem um comando do maven para fazer isso mas não lembro de cabeça. Mas não adianta copiar do meu, só funcionaria a data que eu uso se vc tivesse um build igual no seu repositório (Aqui usamos um arquillian para fazer cache de tudo que é feito download do maven, aí não baixa remoto toda vez)

Adriana da Cunha Leocadio

unread,
Feb 5, 2024, 3:00:35 PM2/5/24
to jrimum-c...@googlegroups.com
Boa tarde!

Do que se trata?
Abraços 
AL

Raphael Souto

unread,
Feb 5, 2024, 3:02:41 PM2/5/24
to jrimum-c...@googlegroups.com
Amigo meu consegui gerar o D8 no qual colocou uma boa comissão ano passado.

Raphael Souto | CRECI/MG-31059
Private Broker & Real Estate
Phone / WhatsApp: +55 31 9.9428 3665
Mail / Skype / FB: rs...@outlook.com.br
Mail 2: rsouton...@gmail.com 


AVISO DE CONFIDENCIALIDADE E CONTEÚDO
A presente mensagem, suas continuações, antecedentes e seus eventuais anexos são de uso privativo e exclusivo de pessoas físicas e/ou jurídicas, entidades e órgãos autorizados por nós e podem conter informações confidenciais e/ou privilegiadas. Fica terminantemente vedado copiar, mostrar, modificar, divulgar ou se beneficiar, visitar ou ligar, imediata ou imediatamente, direta ou indiretamente, destas informações sem a autorização de seus criadores e autores.
Nós teremos e nos valeremos do direito de pleitear reparação material, moral e de todas as ordens e níveis pelos danos causados pela utilização indevida das informações e de requisitar a aplicação das penalidades
cabíveis e previstas na legislação brasileira vigente.



Roberto aqui

unread,
Feb 6, 2024, 6:28:55 AM2/6/24
to jrimum-c...@googlegroups.com
Onde eu começo a estudar para saber mais sobre estas informações de geração de boleto?

Raphael Souto

unread,
Feb 6, 2024, 6:32:55 AM2/6/24
to jrimum-c...@googlegroups.com
Na faculdade e na receita federal parceiro! Não é fácil não, eu tenho o caminho!


Raphael Souto | CRECI/MG-31059
Private Broker & Real Estate
Phone / WhatsApp: +55 31 9.9428 3665
Mail / Skype / FB: rs...@outlook.com.br
Mail 2: rsouton...@gmail.com 


AVISO DE CONFIDENCIALIDADE E CONTEÚDO
A presente mensagem, suas continuações, antecedentes e seus eventuais anexos são de uso privativo e exclusivo de pessoas físicas e/ou jurídicas, entidades e órgãos autorizados por nós e podem conter informações confidenciais e/ou privilegiadas. Fica terminantemente vedado copiar, mostrar, modificar, divulgar ou se beneficiar, visitar ou ligar, imediata ou imediatamente, direta ou indiretamente, destas informações sem a autorização de seus criadores e autores.
Nós teremos e nos valeremos do direito de pleitear reparação material, moral e de todas as ordens e níveis pelos danos causados pela utilização indevida das informações e de requisitar a aplicação das penalidades
cabíveis e previstas na legislação brasileira vigente.

Roberto aqui

unread,
Feb 6, 2024, 6:45:39 AM2/6/24
to jrimum-c...@googlegroups.com
Então é por isso....pra mim está faltando só o treinamento da receita mesmo.

Roberto aqui

unread,
Feb 6, 2024, 6:47:15 AM2/6/24
to jrimum-c...@googlegroups.com
Que horas começa o treinamento da receita? O professor vai ser o Pablo Marçal?

Ruan Alves

unread,
Feb 6, 2024, 8:32:15 AM2/6/24
to JRimum Community
Captura de tela 2024-02-06 102741.png

Camila Espinosa

unread,
Feb 6, 2024, 8:45:02 AM2/6/24
to JRimum Community
Olá, vi muitas pessoas falando sobre o boleto D8, então resolvi comentar também:
Caso alguém tenha interesse em adquirir, tenho um programa gerador de boleto D8.
Para mais informações, podem entrar em contato pelo e-mail: con...@connectclick.com.br
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

andre...@gmail.com

unread,
Mar 20, 2024, 8:51:10 PM3/20/24
to JRimum Community
Eu reescrevi a classe de fator de vencimento para poder emitir os boletos após essa data. Também recompilei o projeto com java 18 e atualizei todas as dependência para versões mais atuais. Em breve vou fazer um fork do projeto no GIT e manda o link aqui, por hora, seja o código fonte para atualização do fator de vencimento:


/*
 * Copyright 2008 JRimum Project
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by
 * applicable law or agreed to in writing, software distributed under the
 * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
 * OF ANY KIND, either express or implied. See the License for the specific
 * language governing permissions and limitations under the License.
 * Created at: 30/03/2008 - 18:17:40
 * ================================================================================
 * Direitos autorais 2008 JRimum Project
 * Licenciado sob a Licença Apache, Versão 2.0 ("LICENÇA"); você não pode usar
 * esse arquivo exceto em conformidade com a esta LICENÇA. Você pode obter uma
 * cópia desta LICENÇA em http://www.apache.org/licenses/LICENSE-2.0 A menos que
 * haja exigência legal ou acordo por escrito, a distribuição de software sob
 * esta LICENÇA se dará “COMO ESTÁ”, SEM GARANTIAS OU CONDIÇÕES DE QUALQUER
 * TIPO, sejam expressas ou tácitas. Veja a LICENÇA para a redação específica a
 * reger permissões e limitações sob esta LICENÇA.
 * Criado em: 30/03/2008 - 18:17:40
 */

package org.jrimum.bopepo;

import static java.lang.String.format;
import static org.jrimum.utilix.Objects.isNull;
import static org.jrimum.utilix.text.DateFormat.DDMMYYYY_B;

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

import org.apache.commons.lang3.time.DateUtils;
import org.jrimum.utilix.Dates;
import org.jrimum.utilix.Exceptions;

/**
 * <p>
 * Serviços utilitários do universo bancário, como por exemplo calcular o fator
 * de vencimento de boletos.</code>
 * </p>
 *
 * @author <a href="http://gilmatryx.googlepages.com/">Gilmar P.S.L</a>
 * @author <a href="mailto:misael...@gmail.com">Misael Barreto</a>
 * @author <a href="mailto:romul...@gmail.com">Rômulo Augusto</a>
 * @author <a href="http://www.nordestefomento.com.br">Nordeste Fomento
 *         Mercantil</a>
 *
 * @since 0.2
 *
 * @version 0.2
 */
public class FatorDeVencimento {

/**
 * <p>
 * Data base para o cálculo do fator de vencimento fixada em 07/10/1997 pela
 * FEBRABAN.
 * </p>
 */
private static final Calendar BASE_DO_FATOR_DE_VENCIMENTO = new GregorianCalendar(1997, Calendar.OCTOBER, 7);
private static final Calendar BASE_DO_FATOR_DE_VENCIMENTO_POS_2025 = new GregorianCalendar(2022, Calendar.MAY, 29);
/**
 * <p>
 * Data base para o cálculo do fator de vencimento fixada em 07/10/1997 pela
 * FEBRABAN.
 * </p>
 */
private static final Date DATA_BASE_DO_FATOR_DE_VENCIMENTO = BASE_DO_FATOR_DE_VENCIMENTO.getTime();
private static final Date DATA_BASE_DO_FATOR_DE_VENCIMENTO_POS_2025 = BASE_DO_FATOR_DE_VENCIMENTO_POS_2025.getTime();

/**
 * <p>
 * Data máxima alcançada pelo fator de vencimento com base fixada em
 * 07/10/1997.
 * </p>
 */
private static final Date DATA_LIMITE_DO_FATOR_DE_VENCIMENTO = new GregorianCalendar(2025, Calendar.FEBRUARY, 21).getTime();
private static final Date DATA_LIMITE_DO_FATOR_DE_VENCIMENTO_POS_2025 = new GregorianCalendar(2047, Calendar.JANUARY, 17).getTime();

/**
 * <p>
 * Calcula o fator de vencimento a partir da subtração entre a DATA DE
 * VENCIMENTO de um título e a DATA BASE fixada em 07/10/1997.
 * </p>
 *
 * <p>
 * O fator de vencimento nada mais é que um referencial numérico de 4
 * dígitos que representa a quantidade de dias decorridos desde a data base
 * (07/10/1997) até a data de vencimento do título. Ou seja, a diferença em
 * dias entre duas datas.
 * </p>
 *
 * <p>
 * Exemplos:
 * </p>
 * <ul type="circule">
 * <li>07/10/1997 (Fator = 0);</li>
 * <li>03/07/2000
 * (Fator = 1000);</li>
 * <li>05/07/2000 (Fator = 1002);</li>
 * <li>01/05/2002
 * (Fator = 1667);</li>
 * <li>21/02/2025 (Fator = 9999).</li>
 * </ul>
 *
 * <p>
 * Funcionamento:
 * </p>
 *
 * <ul type="square">
 * <li>Caso a data de vencimento seja anterior a data
 * base (Teoricamente fator negativo), uma exceção do tipo
 * IllegalArgumentException será lançada.</li>
 * <li>A data limite para o
 * cálculo do fator de vencimento é 21/02/2025 (Fator de vencimento = 9999).
 * Caso a data de vencimento seja posterior a data limite, uma exceção do
 * tipo IllegalArgumentException será lançada.</li>
 * </ul>
 * <li>A partir do dia 22/02/2025 a contagem do fator de vencimento é
 * retroagida para 1000 e uma nova contagem é iniciada à
 * partir dai.</li>
 * </ul>
 *
 *
 *
 * <p>
 * <strong>ATENÇÃO</strong>, esse cálculo se refere a títulos em cobrança,
 * ou melhor: BOLETOS. Desta forma, lembramos que a DATA BASE é uma norma da
 * FEBRABAN. Essa norma diz que todos os boletos emitidos a partir de 1º de
 * setembro de 2000 (primeiro dia útil = 03/07/2000 - SEGUNDA) devem seguir
 * esta regra de cálculo para compor a informação de vencimento no código de
 * barras. Portanto, boletos no padrão FEBRABAN quando capturados por
 * sistemas da rede bancária permitem que se possa realizar a operação
 * inversa, ou seja, adicionar à data base o fator de vencimento capturado.
 * Obtendo então a data de vencimento deste boleto.
 * </p>
 *
 * @param data
 *            data de vencimento de um título
 * @return fator de vencimento calculado
 * @throws IllegalArgumentException
 *
 * @since 0.2
 */
public static int toFator(Date data) throws IllegalArgumentException {

if (isNull(data)) {

return (Integer) Exceptions.throwIllegalArgumentException("Impossível realizar o cálculo do fator de vencimento de uma data nula!");

} else {

Date dataTruncada = DateUtils.truncate(data, Calendar.DATE);

checkIntervalo(dataTruncada);

if (dataTruncada.before(DATA_LIMITE_DO_FATOR_DE_VENCIMENTO) || dataTruncada.equals(DATA_LIMITE_DO_FATOR_DE_VENCIMENTO)) {
return (int) Dates.calculeDiferencaEmDias(DATA_BASE_DO_FATOR_DE_VENCIMENTO, dataTruncada);
} else {
return (int) Dates.calculeDiferencaEmDias(DATA_BASE_DO_FATOR_DE_VENCIMENTO_POS_2025, dataTruncada);
}
}
}

/**
 * <p>
 * Transforma um fator de vencimento em um objeto data da forma inversa
 * descrita em {@linkplain #toFator(Date)}.
 * </p>
 *
 * @param fator
 *            - Número entre o intervalo (incluíndo) 0 e 9999
 * @return Data do vencimento
 * @throws IllegalArgumentException
 *             Caso o {@code fator} < 0 ou {@code fator} > 9999
 */
public static Date toDate(int fator) throws IllegalArgumentException {

checkIntervalo(fator);

Calendar date = (Calendar) BASE_DO_FATOR_DE_VENCIMENTO.clone();

date.add(Calendar.DAY_OF_YEAR, fator);

return DateUtils.truncate(date.getTime(), Calendar.DATE);
}

/**
 * <p>
 * Lança exceção caso a {@code dataVencimentoTruncada} esteja fora do
 * intervalo entre a {@linkplain #DATA_BASE_DO_FATOR_DE_VENCIMENTO} e a
 * {@linkplain #DATA_LIMITE_DO_FATOR_DE_VENCIMENTO}.
 * </p>
 *
 * @param dataVencimentoTruncada
 *            data de vencimento truncada com {@code
 *            DateUtils.truncate(date, Calendar.DATE)}
 * @throws IllegalArgumentException
 *             Caso a data esteja {@code dataVencimentoTruncada} esteja fora
 *             do intervalo entre a
 *             {@linkplain #DATA_BASE_DO_FATOR_DE_VENCIMENTO} e a
 *             {@linkplain #DATA_LIMITE_DO_FATOR_DE_VENCIMENTO}
 */
private static void checkIntervalo(Date dataVencimentoTruncada) throws IllegalArgumentException {

if (dataVencimentoTruncada.before(DATA_BASE_DO_FATOR_DE_VENCIMENTO) || dataVencimentoTruncada.after(DATA_LIMITE_DO_FATOR_DE_VENCIMENTO_POS_2025)) {

Exceptions.throwIllegalArgumentException(
format("Para o cálculo do fator de vencimento se faz necessário informar uma data entre %s e %s.", DDMMYYYY_B.format(DATA_BASE_DO_FATOR_DE_VENCIMENTO), DDMMYYYY_B.format(DATA_LIMITE_DO_FATOR_DE_VENCIMENTO)));

}
}

/**
 * <p>
 * Lança exceção caso o {@code fator} estja fora do intervalo.
 * </p>
 *
 * @param fatorDeVencimento
 *            - Número entre o intervalo (incluíndo) 0 e 9999
 * @throws IllegalArgumentException
 *             Caso o {@code fator} < 0 ou {@code fator} > 9999
 */
private static void checkIntervalo(int fatorDeVencimento) throws IllegalArgumentException {

if (fatorDeVencimento < 0 || fatorDeVencimento > 9999) {

Exceptions.throwIllegalArgumentException("Impossível transformar em data um fator menor que zero! O fator de vencimento deve ser um número entre 0 e 9999.");
}
}
}

Rogggerio Machiello

unread,
Mar 21, 2024, 7:24:56 PM3/21/24
to jrimum-c...@googlegroups.com
Olá senhores qual o benefício de gerar boletos com vencimento após fevereiro de 2025

--
--
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.

Solerman Kaplon

unread,
Mar 22, 2024, 7:07:45 AM3/22/24
to jrimum-c...@googlegroups.com
Se hoje você parcelar uma compra em 12x, a última parcela cai em março de 2025.

andre...@gmail.com

unread,
Mar 26, 2024, 11:27:53 AM3/26/24
to JRimum Community
Fiz um fork  de todas as bibliotecas do projeto Jrimum aqui:


Dentro de cada projeto você vai encontrar os JARs compilados com JAVA 18 e todas as bibliotecas atualizadas para versões mais recentes. 
Revise também o POM para ver as dependências atualizadas.
Com esses JARs já é possível gerar boletos para depois de 2025. 

Se alguém tiver um repositório onde eu possa publicar os artefatos prontos para que seja possível apenas referenciar o projeto no POM, por favor me responda aqui passando os dados.

On Friday, February 2, 2024 at 10:28:10 PM UTC-3 ventura.p...@gmail.com wrote:

Guilherme

unread,
Mar 27, 2024, 9:40:37 AM3/27/24
to jrimum-c...@googlegroups.com
Excelente trabalho Andre

--
--
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.

William Borges

unread,
Nov 20, 2024, 4:35:14 PM11/20/24
to JRimum Community
Olá, você conseguiu resolver este problema?

Estou com o mesmo !

Rafael Marinho dos Santos

unread,
Nov 20, 2024, 4:42:46 PM11/20/24
to jrimum-c...@googlegroups.com

Eu consegui sobrescrevendo a classe no projeto e alterando a data


--
--
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.

William Borges

unread,
Nov 20, 2024, 4:54:33 PM11/20/24
to jrimum-c...@googlegroups.com

Você pode me passar este projeto, aqui só tenho o jar

Desde já agradeço a ajuda


Rafael Marinho dos Santos

unread,
Nov 20, 2024, 5:30:09 PM11/20/24
to jrimum-c...@googlegroups.com

Amanhã te mando a classe vc cria no projeto um package igual como tá no jar que aí ele substitui


Rafael Marinho dos Santos

unread,
Nov 20, 2024, 5:30:30 PM11/20/24
to jrimum-c...@googlegroups.com

Você tá usando em Java web?

Guilherme

unread,
Nov 20, 2024, 5:33:28 PM11/20/24
to jrimum-c...@googlegroups.com

Você pode buildar o .class dessa classe nova e substituir dentro do .jar também, (os imports e caminho do package devem ser iguais)


William Borges

unread,
Nov 20, 2024, 6:50:34 PM11/20/24
to jrimum-c...@googlegroups.com
Ok, vou aguardar amanhã você me mandar, e vou fazer da forma que está me orientando, valeu!

Julyana Villela

unread,
Nov 20, 2024, 7:02:16 PM11/20/24
to jrimum-c...@googlegroups.com
Boa noite,

Estou enfrentando este mesmo problema, porém eu só tenho o .jar que um desenvolvedor fez pra mim e depois sumiu, não deu mais manutenção.
Eu precisava muito resolver isso. Alguém pode me ajudar? Tem como somente com o .jar resolver isso?
Agradeço desde já.

Julyana



--
Att.

Julyana Villela

William Borges

unread,
Nov 21, 2024, 9:27:41 AM11/21/24
to JRimum Community
Meu problema que não tenho o projeto.

Poderia me enviar o projeto do Boleto !?

Rafael Marinho dos Santos

unread,
Nov 21, 2024, 12:47:48 PM11/21/24
to jrimum-c...@googlegroups.com
package org.jrimum.bopepo;


import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import org.apache.commons.lang.time.DateUtils;
import org.jrimum.utilix.Dates;
import org.jrimum.utilix.Exceptions;
import org.jrimum.utilix.Objects;
import org.jrimum.utilix.text.DateFormat;

public class FatorDeVencimento {

    // Nova data base
    private static final Calendar NOVA_BASE_DO_FATOR_DE_VENCIMENTO = new GregorianCalendar(2025, 1, 22); // 22/02/2025
    private static final int FATOR_INICIAL = 1000;
    private static final Date DATA_BASE_DO_FATOR_DE_VENCIMENTO = NOVA_BASE_DO_FATOR_DE_VENCIMENTO.getTime();

    // Data base anterior para cálculo de fator antes de 22/02/2025
    private static final Calendar BASE_ANTIGA = new GregorianCalendar(1997, 9, 7); // Data base original
    private static final Date DATA_BASE_ANTIGA = BASE_ANTIGA.getTime();

    // Define o limite de data, se necessário
    private static final Date DATA_LIMITE_DO_FATOR_DE_VENCIMENTO = (new GregorianCalendar(2052, 7, 9)).getTime();


    public static int toFator(Date data) throws IllegalArgumentException {
        if (Objects.isNull(data)) {
            return ((Integer) Exceptions.throwIllegalArgumentException("Impossível realizar o cálculo do fator de vencimento de uma data nula!")).intValue();
        }

        Date dataTruncada = DateUtils.truncate(data, Calendar.DAY_OF_MONTH);

        if (dataTruncada.before(DATA_BASE_DO_FATOR_DE_VENCIMENTO)) {
            // Calcula o fator para datas antes de 22/02/2025
            checkIntervalo(dataTruncada, DATA_BASE_ANTIGA, DATA_LIMITE_DO_FATOR_DE_VENCIMENTO);
            return (int) Dates.calculeDiferencaEmDias(DATA_BASE_ANTIGA, dataTruncada);
        } else {
            // Calcula o fator para datas a partir de 22/02/2025
            checkIntervalo(dataTruncada, DATA_BASE_DO_FATOR_DE_VENCIMENTO, DATA_LIMITE_DO_FATOR_DE_VENCIMENTO);
            long diferencaEmDias = Dates.calculeDiferencaEmDias(DATA_BASE_DO_FATOR_DE_VENCIMENTO, dataTruncada);
            return (int) (FATOR_INICIAL + diferencaEmDias);

        }
    }

    public static Date toDate(int fator) throws IllegalArgumentException {
        if (fator >= FATOR_INICIAL) {
            // Calcula a data para fatores a partir de 1000
            checkIntervalo(fator);
            Calendar date = (Calendar) NOVA_BASE_DO_FATOR_DE_VENCIMENTO.clone();
            date.add(Calendar.DAY_OF_MONTH, fator - FATOR_INICIAL);
            return DateUtils.truncate(date.getTime(), Calendar.DAY_OF_MONTH);
        } else {
            // Calcula a data para fatores menores que 1000
            Calendar date = (Calendar) BASE_ANTIGA.clone();
            date.add(Calendar.DAY_OF_MONTH, fator);
            return DateUtils.truncate(date.getTime(), Calendar.DAY_OF_MONTH);
        }
    }

    private static void checkIntervalo(Date dataVencimentoTruncada, Date dataBase, Date dataLimite) throws IllegalArgumentException {
        if (dataVencimentoTruncada.before(dataBase) || dataVencimentoTruncada.after(dataLimite)) {
            Exceptions.throwIllegalArgumentException(String.format("Para o cálculo do fator de vencimento se faz necessário informar uma data entre %s e %s.", new Object[]{DateFormat.DDMMYYYY_B.format(dataBase), DateFormat.DDMMYYYY_B.format(dataLimite)}));

        }
    }

    private static void checkIntervalo(int fatorDeVencimento) throws IllegalArgumentException {
        if (fatorDeVencimento < 0 || fatorDeVencimento > FATOR_INICIAL + 9999) {
            Exceptions.throwIllegalArgumentException("Impossível transformar em data um fator fora do intervalo permitido!");
        }
    }
}

--
--
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.

Rafael Marinho dos Santos

unread,
Nov 21, 2024, 12:48:18 PM11/21/24
to jrimum-c...@googlegroups.com
o jar tentei anexar mas o gmail não permite anexar

Spadinha

unread,
Nov 21, 2024, 12:48:23 PM11/21/24
to jrimum-c...@googlegroups.com
Boa tarde, resolvi sim, mas não tenho acesso a subir no git 

Amanhã eu subo o projeto no drive e te envio o link e te mando o JAR compilado também 

--
--
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.

Fernando Luiz

unread,
Nov 21, 2024, 12:48:23 PM11/21/24
to jrimum-c...@googlegroups.com
Bom dia, estou gerando direto pela API do sicoob não utilizo a blibioteca para imprimir.


Em qua., 20 de nov. de 2024 às 18:35, William Borges <williamb...@gmail.com> escreveu:
--
--
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 esta conversa, acesse https://groups.google.com/d/msgid/jrimum-community/96953e43-67f2-415e-87a3-f4e270d3073dn%40googlegroups.com.


--
Desde já agradeço a atenção
Fernando Luiz

Spadinha

unread,
Nov 21, 2024, 12:48:23 PM11/21/24
to jrimum-c...@googlegroups.com
Eu baixei o projeto bobepo e corrigi o código, tenho o projeto correto para gerar o jar correto via maven 



Spadinha

unread,
Nov 21, 2024, 1:20:42 PM11/21/24
to jrimum-c...@googlegroups.com

William Borges

unread,
Nov 21, 2024, 2:19:25 PM11/21/24
to jrimum-c...@googlegroups.com
Obrigado, por compartilhar 

Mas as classes, Pessoa e Banco, não estão contidas neste jar ?

Pode dar um Help com isso !

Desde já agradeço 

Abraço
 

Dalvan Rodrigues

unread,
Nov 21, 2024, 2:30:16 PM11/21/24
to jrimum-c...@googlegroups.com
Me tira dessa comunidade, não sei do que se trata. 

Se for golpe me explica melhor 

Enviado do Gmail para celular


Spadinha

unread,
Nov 21, 2024, 2:32:29 PM11/21/24
to jrimum-c...@googlegroups.com
Ficam no Projeto Domkee amigo. 

O Legacy do Bobepo utiliza 4 jars no Maven. Você não está usando o maven ??

image.png

Em qui., 21 de nov. de 2024 às 16:19, William Borges <williamb...@gmail.com> escreveu:

Spadinha

unread,
Nov 21, 2024, 2:46:16 PM11/21/24
to jrimum-c...@googlegroups.com
Me explica melhor, você precisa gerar o boleto do Sicoob ?? Quer adicionar o Banco Sicoob no lib ??


BancosSuportados bancoSuportado = null;
Banco novoBanco = null;

case CB240_SICOOB:
novoBanco = new Banco(new CodigoDeCompensacaoBACEN("756"), "BANCO COOPERATIVO DO BRASIL S.A. - BANCOOB",
new CNPJ("02038232000164"), "Banco Comercial Cooperativo");

try {
BufferedImage bi = ImageIO.read(FacesContext.getCurrentInstance().getExternalContext()
.getResourceAsStream("img/marca_sicoob.png"));
novoBanco.setImgLogo(bi);
} catch (IOException e) {
}

break;



ContaBancaria contaBancaria = null;
if (novoBanco != null) {
contaBancaria = new ContaBancaria(novoBanco);

} else {
contaBancaria = new ContaBancaria(bancoSuportado.create());
}


para o Sicoob basta fazer dessa forma. 


William Borges

unread,
Nov 21, 2024, 3:14:56 PM11/21/24
to jrimum-c...@googlegroups.com
Não, apenas gero os boletos, pelo meu sistema usando a biblioteca Bopepo, mas com este problema do fator de vencimento estou tentando ajeitar isso.
Mas sem o projeto fica difícil.

Tenho somente os jar   

Estou utilizando o NetBeans 8.2

Abri o projeto no Lagacy,  na IDE 23  não tem o pacote Domkee

 image.png


Braully Silva

unread,
Nov 21, 2024, 3:21:52 PM11/21/24
to jrimum-c...@googlegroups.com
Essa estrutura de pacotes aí parece ser do meu fork, que é um pouco diferente do projeto original. Os pacotes e as classes que você precisa estão ai no meio.

Spadinha

unread,
Nov 22, 2024, 10:13:52 AM11/22/24
to jrimum-c...@googlegroups.com
Sobrescreva então a classe FatorDeVencimento.class



FatorDeVencimento.java

Spadinha

unread,
Nov 22, 2024, 10:16:03 AM11/22/24
to jrimum-c...@googlegroups.com
Se quiser os 4 Jars já prontos,
Dentro do link que eu coloquei no projeto na pasta target, tem os 4 releases gerados lá no ZIP.

segue aqui o link novamente.


descompacte e adicione as bibliotecas já compiladas na pasta target ao seu projeto. Vai resolver seu problema. 

atenciosamente,

William Borges

unread,
Nov 22, 2024, 10:32:21 AM11/22/24
to jrimum-c...@googlegroups.com
Pessoal consegui resolver

Criei um novo projeto, fiu incluindo as packages e tudo mais

Deu Certo, obrigado pelo retorno de todos  !

Em sex., 22 de nov. de 2024 às 12:13, Spadinha <spad...@gmail.com> escreveu:

Antonio Elizeu da Rocha

unread,
Nov 26, 2024, 9:26:48 AM11/26/24
to jrimum-c...@googlegroups.com, Julyana Villela
Sumi não!
Olha eu aqui!




--

[]'s Antônio Elizeu da Rocha Neto  
        Fractal Sistemas                                  
          (35)9 91187683


dani

unread,
Jan 10, 2025, 6:05:55 PMJan 10
to JRimum Community
Perfeito fiz um teste aqui e 100 %. Parabéns mestre pelo espírito de colaboração.
Reply all
Reply to author
Forward
0 new messages