jspdeveloper wrote:
> galera,
> sei q eh meio que off topic mas acho q alguem poderia me passar o segredo do
> codigo de barras em boleto bancario.
>
> abaixo esta o meu servlet q retorna um codigo de barras onde
> codigo de barras = x + dvMod11(x)
> http://164.41.67.135/servlets/BarCodeServlet?x=510646565000000090
>
> eu ja´ peguei a documentacao do banco do brasil e tambem a documentacao da
> febraban, mas nao estou entendendo bulhufas em como implementar aquele
> numero gigantesco que fica ao lado da logo do banco.
> ex: 00199.1388 90000.000001 00913.889218 2 12980000003200
> alguem pode me dizer como eu crio este numero?
Acho que o documento CBR 643 do Banco do Brasil explica tudo. Tá junto á
explicação do Barcode..
001 // codigo do banco
9 // dvMod11 código do Banco
se me lembro bem 9138 é código dá agencia
90000.000001 são campo tão até campo tão do ´campo livre´ do código de
barras
009138218 (..) 1298 são agencia + conta + dv conta (se me lembro bem)
ae vai..
o 2 sozinho é o DV do códugo de barras (acho que é o quinto charactere
do c de b.
00000003200 é o valor
o ultimo digito de cada bloco xxx.xxx é o dv do bloco
é por ai.. mas tá na docs..
>
>
> de brinde mando minha classe que calcula digitos para modulo 10 e 11.
> se ela estiver errada me reportem
>
>
> package uni.duni.te;
>
> public class DigitoVerificador {
>
> /**
> * Constructor
> */
> public DigitoVerificador() {
> }
>
> // comente o main. ele soh serve para testar a classe.
> public static void main(String[] args) {
> DigitoVerificador teste= new DigitoVerificador();
> long volta = 0;
>
> volta=teste.CalculaModulo11("32198798798798798798798798377778759");
> System.out.println("Mod11 de 32198798798798798798798798377778759");
> System.out.println("o resultado e "+volta);
>
>
> volta=teste.CalculaModulo11("20097987987987987777779879879876575765765170000
> 01");
> System.out.println("Mod11 de
> 2009798798798798777777987987987657576576517000001");
> System.out.println("o resultado e "+volta);
>
> volta=teste.CalculaModulo11("20017000002");
> System.out.println("Mod11 de 20017000002");
> System.out.println("o resultado e "+volta);
>
>
>
> volta=teste.CalculaModulo10("8220000215048200974123220154098290108605940");
> System.out.println("Mod10 de
> 8220000215048200974123220154098290108605940");
> System.out.println("o resultado e "+volta);
> }
>
>
> public long CalculaModulo11(String Entrada){
> long Soma=0;
> long multi=2;
> long Saida=0;
> int tamanho=Entrada.length()-1;
>
> long Resto;
>
> while(tamanho >= 0){
> //System.out.println("numero"+Entrada.charAt(tamanho)+" de index
> "+tamanho);
> Soma=Soma+(Long.parseLong(String.valueOf(Entrada.charAt(tamanho)))*
> multi);
> //System.out.println("a soma e "+Soma);
> multi=multi+1;
> tamanho=tamanho-1;
> if(multi==10)
> multi=2;
> }
> Resto=Soma%11;
> if( Resto==0 || Resto==1)
> Saida=0;
> else
> Saida=11-Resto;
> return Saida;
> }
>
>
> public long CalculaModulo10(String Entrada){
> long Soma=0;
> long multi=2;
> long Saida=0;
> int tamanho=Entrada.length()-1;
> long inttemp;
> long Resto;
>
> while(tamanho >= 0){
> //System.out.println("numero"+Entrada.charAt(tamanho)+" de index
> "+tamanho);
>
> inttemp=Long.parseLong(String.valueOf(Entrada.charAt(tamanho)))*multi;
>
> if(inttemp>=10)
> inttemp=inttemp-9;
> Soma=Soma+inttemp;
> //System.out.println("a soma e "+Soma);
> multi=multi-1;
> tamanho=tamanho-1;
> if(multi==0)
> multi=2;
> }
> Resto=Soma%10;
> Saida=10-Resto;
> return Saida;
> }
>
>
> }
>
>
>
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
>
>
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------