<%@ page language="java" %> <%@ page import="javax.naming.*, carol.estilo.*" %> <% String urlDB, usuarioDB, senhaDB, driverDB; InitialContext ic = new InitialContext(); urlDB = (String)ic.lookup("java:/comp/env/urlDB"); usuarioDB = (String)ic.lookup("java:/comp/env/usuarioDB"); senhaDB = (String)ic.lookup("java:/comp/env/senhaDB"); driverDB = (String)ic.lookup("java:/comp/env/driverDB"); Class.forName(driverDB).newInstance(); conConexao = java.sql.DriverManager.getConnection(urlDB, usuarioDB, senhaDB); try { intEdicao = Integer.parseInt(request.getParameter("edi")); } catch (Exception e) { if (request.getParameter("cboInformativos") != null) { intEdicao = Integer.parseInt(request.getParameter("cboInformativos")); } else { intEdicao = 0; } } if (request.getParameter("pag") != null) intPagina = Integer.parseInt(request.getParameter("pag")); else intPagina = 1; carregaEstilos(); montarInformativo(); outrasEdicoes(); conConexao.close(); %> <%! String strPagina = new String(), strTitulo = new String(), strComboOutras = new String(), strCabecalho = new String(), strPaginasLateral = new String(), strSql, strParteDaPagina, strCategoria, strChamada, strTexto; java.sql.Connection conConexao; java.sql.ResultSet recRegistro; int intEdicao, intPagina, intAno, intPaginaAnt, intSequencia, intOrdem, intEstilo, intSequenciaAnt; boolean bolAchou; java.util.Date datData; CEstilo cesEstilo; HTabela htaTabela, htaCodigos; private void montarInformativo() { boolean fim; try { java.sql.Statement comando = conConexao.createStatement(); if (intEdicao == 0) { recRegistro = comando.executeQuery("SELECT MAX(EDICAO) AS EDI FROM WINFORMATIVOS WHERE ANO > 0 AND EDICAO > 0;"); if (recRegistro.next()) { intEdicao = recRegistro.getInt("EDI"); } recRegistro.close(); } if (intPagina == 0) { intPagina = 1; } strSql = "SELECT " + "A.ANO, A.DATA, B.EDICAO, B.PAGINA, " + "B.SEQUENCIA, B.ORDEM, B.CHAMADA, B.CATEGORIA, " + "B.ESTILO, B.TEXTO " + "FROM " + "WINFORMATIVOS A, WINFORM_PG B " + "WHERE " + "A. ANO > 0 AND " + "A.EDICAO = B.EDICAO AND " + "B.EDICAO = " + intEdicao + " " + "ORDER BY " + "B.EDICAO ASC, B.PAGINA ASC, B.SEQUENCIA ASC, B.ORDEM ASC;"; recRegistro = comando.executeQuery(strSql); if (!recRegistro.next()) { strPagina = "
Não foi possível encontrar o Informativo especificado
"; strCabecalho = ""; strTitulo = ""; recRegistro.close(); return; } intAno = recRegistro.getInt("ANO"); datData = recRegistro.getDate("DATA"); strPagina = ""; strParteDaPagina = ""; strPaginasLateral = ""; intPaginaAnt = recRegistro.getInt("PAGINA"); bolAchou = false; fim = false; while (!fim) { strCategoria = recRegistro.getString("CATEGORIA"); strChamada = recRegistro.getString("CHAMADA"); intSequencia = recRegistro.getInt("SEQUENCIA"); if (!bolAchou) { strCabecalho = "Ano " + intAno + "
Edição " + intEdicao + "
" + mesExtenso(datData.getMonth()) + " de " + (datData.getYear() + 1900); strTitulo = "Ano " + intAno + " - Edição " + intEdicao + " - " + mesExtenso(datData.getMonth()) + " de " + (datData.getYear() + 1900); if (recRegistro.getInt("PAGINA") == intPagina) { strCabecalho = strCabecalho + "
Página " + intPagina; strTitulo = strTitulo + " - Página " + intPagina; bolAchou = true; } } if (recRegistro.getInt("PAGINA") == intPagina) { strPaginasLateral = strPaginasLateral + "" + "Página " + recRegistro.getInt("PAGINA") + " - " + recRegistro.getString("CATEGORIA") + " " + "" + strChamada + " "; while (!fim) { if (recRegistro.getInt("PAGINA") != intPagina) { break; } intOrdem = recRegistro.getInt("ORDEM"); intSequencia = recRegistro.getInt("SEQUENCIA"); intEstilo = recRegistro.getInt("ESTILO"); intSequenciaAnt = intSequencia; strParteDaPagina = ""; while (!fim) { intSequencia = recRegistro.getInt("SEQUENCIA"); if ((intSequenciaAnt != intSequencia) || (recRegistro.getInt("PAGINA") != intPagina)) { break; } strTexto = recRegistro.getString("TEXTO"); strParteDaPagina = strParteDaPagina + strTexto; fim = !recRegistro.next(); } cesEstilo = new CEstilo(); cesEstilo.setEstilo(htaCodigos.obter((new Integer(intEstilo)).toString())); cesEstilo.setEstilos(htaTabela); cesEstilo.setPagina(strParteDaPagina); strPagina = strPagina + cesEstilo.converte(); cesEstilo = null; } } else { if ((recRegistro.getInt("PAGINA") != intPaginaAnt) || (strPaginasLateral.length() == 0)) { strPaginasLateral = strPaginasLateral + "" + "Página " + recRegistro.getInt("PAGINA") + " - " + recRegistro.getString("CATEGORIA") + " " + "" + strChamada + " "; intPaginaAnt = recRegistro.getInt("PAGINA"); } fim = !recRegistro.next(); } } recRegistro.close(); comando.close(); } catch (java.sql.SQLException sqle) { System.out.println("[informativo] " + sqle.getMessage()); } } private String mesExtenso(int intMes) { String strMes[] = { "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"}; return strMes[intMes]; } private void carregaEstilos() { java.sql.Statement comando; strSql = "SELECT " + "CODIGO, TAG, ESTILO " + "FROM " + "WESTILOS " + "WHERE " + "CODIGO > 0;"; try { comando = conConexao.createStatement(); recRegistro = comando.executeQuery(strSql); htaTabela = new HTabela(); htaCodigos = new HTabela(); while (recRegistro.next()) { htaCodigos.put((new Integer(recRegistro.getInt("CODIGO"))).toString(), recRegistro.getString("TAG")); htaTabela.put(recRegistro.getString("TAG"), recRegistro.getString("ESTILO")); } recRegistro.close(); comando.close(); } catch (java.sql.SQLException sqle) { System.out.println("[informativo] " + sqle.getMessage()); } } private void outrasEdicoes() { strSql = "SELECT " + "EDICAO, DATA, MONTH(DATA) MES, YEAR(DATA) ANO " + "FROM " + "WINFORMATIVOS " + "WHERE " + "ANO > 0 AND " + "EDICAO > 0 " + "ORDER BY " + "EDICAO DESC;"; try { java.sql.Statement comando = conConexao.createStatement(); recRegistro = comando.executeQuery(strSql); strComboOutras = ""; while (recRegistro.next()) { strComboOutras = strComboOutras + "\n"; } recRegistro.close(); comando.close(); } catch (java.sql.SQLException sqle) { System.out.println("[informativo] " + sqle.getMessage()); } } public String strZero(int intNumero, int intCasas) { String strTemp; int intInd; strTemp = (new Integer(intNumero)).toString(); for (intInd = 1; intInd <= (intCasas - strTemp.length()); intInd++) { strTemp = "0" + strTemp; } return strTemp; } %> <%=strTitulo%>
  INFORMATIVO CAROL
 
<%=strCabecalho%>  
<% if (strPagina.length() == 0) { %>
Não foi possível encontrar a página especificada
<% } else { %> <%=strPagina%> <% } %>
  
<%=strPaginasLateral%>
    
 
 
 
 
 
Jornalista Responsável:
Carlos Alberto Nonino
(MTB 9.341)