%@ page import="java.util.*,java.sql.*,br.unb.string.*,br.unb.matematica.*" session="false"%>
<%
//FORMATACAO DE DADOS
// criei esta classe que faz a formatacao de datas, valores, etc
formataDados formata = new formataDados();
// obtencao dos parametros
// informacoes que serao utilizadas na geracao do boleto
String nome = request.getParameter("nome");
String refTran = request.getParameter("refTran");
// numero_acompanhamento = refTran
String numero_acompanhamento = refTran;
String dtVenc = request.getParameter("dtVenc");
String msgLoja = request.getParameter("msgLoja");
String urlRetorno = "informacoes_acompanhamento.jsp?numero_acompanhamento="+numero_acompanhamento;
String valor = request.getParameter("valor");
String endereco = request.getParameter("endereco");
String cidade = request.getParameter("cidade");
String estado = request.getParameter("uf");
String cep = request.getParameter("cep");
%>
<%
//geracao do codigo de barras
StringBuffer codigo_de_barras = new StringBuffer();
String codigo_de_barras_com_dv = new String();
// montagem do codigo de barras de acordo com a especificacao do BB
codigo_de_barras.append("001"); // 001 003
codigo_de_barras.append("9"); // 004
codigo_de_barras.append("1298"); // 006 009 fator de vencimento . 27/04/2001=1298
codigo_de_barras.append("000000"+valor); // 010 019
codigo_de_barras.append("912384"); // 020 025 numero do convenio
codigo_de_barras.append("000000000"+refTran); // 026 042 nosso numero , numero de acomp.
codigo_de_barras.append("21"); // 043 04
int tamanhoCodigoDeBarras = 0 ;
tamanhoCodigoDeBarras = codigo_de_barras.length();
String parte1 = codigo_de_barras.toString();
parte1=parte1.substring(0,4);
String parte2 = codigo_de_barras.toString();
parte2=parte2.substring(4,tamanhoCodigoDeBarras);
// calculo do digito verificador aqui
DigitoVerificador dv = new DigitoVerificador();
String digitoVerificadorCodBarras = new String();
String tempDV = new String();
digitoVerificadorCodBarras = tempDV.valueOf(dv.CalculaModulo11(codigo_de_barras.toString()));
// junta parte1 + dv + parte2
codigo_de_barras_com_dv = parte1 + digitoVerificadorCodBarras + parte2;
%>
<%
// geracao da linha digitada
String Campo1 = new String();
String Campo2 = new String();
String Campo3 = new String();
String Campo4 = digitoVerificadorCodBarras;
String Campo5= new String();
Campo1 = "001"+"9" + codigo_de_barras_com_dv.substring(19,24); //001 = cod banco , 9 = real$ , substring de 020 a 024
Campo1 = Campo1 + tempDV.valueOf(dv.CalculaModulo10(Campo1));
Campo2 = codigo_de_barras_com_dv.substring(24,34);
Campo2 = Campo2 + tempDV.valueOf(dv.CalculaModulo10(Campo2));
Campo3 = codigo_de_barras_com_dv.substring(34,44);
Campo3 = Campo3 + tempDV.valueOf(dv.CalculaModulo10(Campo3));
// Campo4 jah definido acima
Campo5 = codigo_de_barras_com_dv.substring(5,19);
String linhaDigitavel = new String();
linhaDigitavel = Campo1.substring(0,5)+"."+Campo1.substring(5,10)+" "+
Campo2.substring(0,5)+"."+Campo2.substring(5,11)+" "+
Campo3.substring(0,5)+"."+Campo3.substring(5,11)+" "+
Campo4+" "+
Campo5;
%>
Boleto