Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problema com campos zerados na homologação do Bradesco #163

Open
gabrielhof opened this issue May 3, 2015 · 1 comment
Open

Problema com campos zerados na homologação do Bradesco #163

gabrielhof opened this issue May 3, 2015 · 1 comment

Comments

@gabrielhof
Copy link

Gerei alguns boletos para o Bradesco. Tudo aparenta estar perfeito. Ao menos, quase tudo.
O único problema é que o pessoal do Bradesco, que está homologando os boletos gerados, implica que os campos de descontos, deduções, multa e outros acréscimos devem estar em branco caso os valores desses campos sejam igual a zero.

Pensei em simplesmente passar null como parâmetro para os métodos comValorDescontos, comValorDeducoes, comValorMulta e comValorAcrescimos. Porém vi que esses métodos só aceitam String como parâmetro e dentro desses métodos é instanciado um BigDecimal:

public Boleto comValorDescontos(String valorDescontos) {
    this.valorDescontos = new BigDecimal(valorDescontos);
    return this;
}

Então, se passar null para esses caras, é NullPointerException na certa.

Minha única alternativa parece ser modificar o boleto-default.jasper e sobrescrever a classe GeradorDeBoleto. Alguém pode me dizer se existe outra alternativa para solucionar esse impedimento?

Agradeço desde já =)

@mariofts
Copy link
Member

mariofts commented May 4, 2015

Oi @gabrielhof

Para manter a retrocompatibilidade acabamos por reutilizar as interfaces antigas da classe boleto, onde o retorno é BigDecimal. Hoje a única solução é sobreescrever o template limpando os locais onde os valores são impressos, e passar a referência para o GeradorDeBoleto.

Estava pensando nas possibilidades, talvez criar uma nova interface onde todos os retornos sejam String, para facilitar a customização dos valores do template. Também tivemos problemas com pessoas que queriam que os valores dos boletos fossem formatados (R$ 1.000,00, por exemplo) e a solução acaba sempre sendo sobreescrever o template.

O problema é fazer isso de alguma maneira que o código antigo continue funcionando.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants