Package systextil.bancos
Class BoletosBaseCalculos
java.lang.Object
systextil.bancos.BoletosBaseCalculos
Representa um centralizador de cálculos genéricos e que são utilizados por todos os bancos,
no ato de emissão do boleto bancário.
Importante: Alguns bancos chamam o Dígito Verificador do Código de barras de DAC (dígito de autoconferência), ou de Dígito Verificador Geral. Ambos significam a mesma coisa.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic byte
inverterModuloDaSoma
(CharSequence digitos, byte modulo, byte loop) Executa uma parte do cálculo do dígito verificador, que é o inverso do módulo da soma dos dígitos multiplicados pelos seus pesos.static String
montarCodigoDeBarras
(int banco, Date vencimento, br.com.intersys.systextil.connection.Amount valor, CharSequence campoLivre) Monta o código de barras a partir dos dados do boleto.static String
montarCodigoDeBarrasSafra
(int banco, Date vencimento, br.com.intersys.systextil.connection.Amount valor, CharSequence campoLivre) static String
montarCodigoDeBarrasSofisa
(int banco, Date vencimento, br.com.intersys.systextil.connection.Amount valor, CharSequence campoLivre) static String
Monta a linha digitável a partir do código de barras do boleto.
-
Constructor Details
-
BoletosBaseCalculos
public BoletosBaseCalculos()
-
-
Method Details
-
montarLinhaDigitavel
Monta a linha digitável a partir do código de barras do boleto.- Parameters:
cb
- o código de barras- Returns:
- a linha digitável já formatada
-
montarCodigoDeBarras
public static String montarCodigoDeBarras(int banco, Date vencimento, br.com.intersys.systextil.connection.Amount valor, CharSequence campoLivre) Monta o código de barras a partir dos dados do boleto.- Parameters:
banco
- o código do bancovencimento
- a data de vencimentovalor
- o valor do boletocampoLivre
- o campo livre, já montado conforme o banco- Returns:
- o código de barras montado
-
montarCodigoDeBarrasSafra
public static String montarCodigoDeBarrasSafra(int banco, Date vencimento, br.com.intersys.systextil.connection.Amount valor, CharSequence campoLivre) -
montarCodigoDeBarrasSofisa
public static String montarCodigoDeBarrasSofisa(int banco, Date vencimento, br.com.intersys.systextil.connection.Amount valor, CharSequence campoLivre) -
inverterModuloDaSoma
Executa uma parte do cálculo do dígito verificador, que é o inverso do módulo da soma dos dígitos multiplicados pelos seus pesos.Na prática, da direita para a esquerda, vai multiplicando os dígitos por pesos que seguem segundo um loop (p. ex. de 2 a 9 e repetindo), e somando os resultados. No fim, calcula o módulo dessa soma por um inteiro (p. ex. 11), subtrai desse inteiro e retorna o resultado.
Esta rotina tem aplicação em muitos tipos de cálculos de dígitos verificadores, incluindo para CNPJ e CPF. É conveniente mover esta rotina para uma classe mais genérica que possa usá-la e disponibilizá-la para todo o sistema.
- Parameters:
digitos
- os dígitos que serão analisados. Este String já deve estar limpo, isto é, contendo somente dígitos.modulo
- o número inteiro usado para calcular o módulo (p. ex. 11)loop
- a quantidade de pesos existentes no loop. Por exemplo, se o loop for de 2 a 9, então informar 8 (são 8 pesos)- Returns:
- o módulo subtraído do número
modulo
informado. Assim, o retorno nunca será zero, e pode ir de 1 atémodulo
.
-