%@ 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%>
|
<%
if (strPagina.length() == 0) {
%>
Não foi possível encontrar a página especificada
<% } else { %>
<%=strPagina%>
<% } %>
|
|
|
|