%@ page import="com.tarisan.control.*" %>
<%@ page import="com.tarisan.data.*" %>
<%@ page import="com.tarisan.excepcion.*" %>
<%@ page import="com.tarisan.log.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.Vector" %>
<%
LogTarisan.logger.log(NivelLog.INFO, "Inicio página de otras especialidades (pac/especialidades.jsp)");
response.setHeader("Expires", "0");
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
HttpSession sesion = request.getSession(true);
if(sesion.isNew() || (sesion.getAttribute("USUARIO") == null))
{
LogTarisan.logger.log(NivelLog.INFO, "Sesión invalidada");
response.sendRedirect(request.getContextPath() + "/html/login.html");
}
else
{
try
{
// Definicion de variables
String strMensajeSinElementos="No ha seleccionado ninguna especialidad.";
String strParametroMenu="";
String strCampoNombre="";
String strListaElementos="";
String strListaCodigoElementos="";
String strInforme="";
int intImpresion = 0;
int intPagina = 0;
StringBuffer strSql = new StringBuffer();
Object aCondiciones[]=null;
String strListaElementosPrescripcion = "";
String strInformePrescripcion = "";
String strAutorizacion="";
//Obtención del perfil del usuario conectado
StringBuffer perfil = new StringBuffer();
perfil.append("|");
perfil.append(sesion.getAttribute("PERFIL"));
perfil.append("|");
//Obtenemos los valores de los parametros que se pasan a la pagina
//En caso de que no se le pasen parametros, quedaram inicializados
//a sus valores por defecto
//parametro x para marcar la opcion del menu en la que se encuentra el usuario
if (request.getParameter("x")!=null)
strParametroMenu=(String)request.getParameter("x");
//parametro descripcion para las busquedas
if (request.getParameter("nombre")!=null)
strCampoNombre = (String)request.getParameter("nombre");
//parametro pagina para realizar la paginacion
if (request.getParameter("pagina")!=null)
intPagina=Integer.parseInt(request.getParameter("pagina"));
//parametro listaPrescripciones para mostrar las prescripciones seleccionadas
if (request.getParameter("listaElementos")!=null)
strListaElementos=(String)request.getParameter("listaElementos");
//parametro listaPrescripciones para mostrar las prescripciones seleccionadas
if (request.getParameter("listaCodigoElementos")!=null)
strListaCodigoElementos=(String)request.getParameter("listaCodigoElementos");
//parametro listaElementosPrescripciones utilizado para realizar la impresion
if (request.getParameter("listaElementosPrescripcion")!=null)
strListaElementosPrescripcion=(String)request.getParameter("listaElementosPrescripcion");
//parametro informePrescripcion utilizado para realizar la impresion
if (request.getParameter("informePrescripcion")!=null)
strInformePrescripcion=(String)request.getParameter("informePrescripcion");
//atributo autorizacion utilizado para realizar la impresion
if (request.getAttribute("autorizacion")!=null)
strAutorizacion=(String)request.getAttribute("autorizacion");
//parametro informe para mostrar el informe introducido por el medico
if (request.getParameter("informe")!=null)
strInforme=(String)request.getParameter("informe");
//parametro impresion que nos indica que se ha de realizar una impresion
if (request.getParameter("imp")!=null)
intImpresion=Integer.parseInt(request.getParameter("imp"));
%>
<%
strSql.append("SELECT ESPECIALIDAD, DESCRIPCION");
strSql.append(" FROM TAESPECI");
strSql.append(" WHERE ESPECIALIDAD <> ?");
//comprobamos si se trata de una busqueda de especialidades
if (!strCampoNombre.equalsIgnoreCase(""))
{
if (strCampoNombre.endsWith("*"))
strCampoNombre=strCampoNombre.replace('*', '%');
else
strCampoNombre="%" + strCampoNombre + "%";
strSql.append(" AND DESCRIPCION LIKE ?");
aCondiciones = new Object[2];
aCondiciones[1] = strCampoNombre;
}
else
aCondiciones = new Object[1];
aCondiciones[0] = Integer.valueOf(0);
strSql.append(" ORDER BY DESCRIPCION");
PersistenciaTaespeci per = new PersistenciaTaespeci();
Vector vSeleccion = per.seleccionar(strSql.toString(), intPagina, aCondiciones);
if (vSeleccion.size()==0) //No se han encontrado datos
{
%>
No se ha encontrado ningún dato.
<%
}
else
{
if (intPagina != 0){ //se tiene en cuenta la paginacion
%>
Página <%=per.getPaginacion().getNumeroPagina()%> de <%=per.getPaginacion().getNumeroPaginasTotales()%>
<%
}
%>
Descripción
<%
Taespeci taespeci = null;
String estilo = "";
String strDescripcionSinComilla="";
for(int i = 0; i < vSeleccion.size(); i++)
{
if (i % 2 == 0)
{
estilo = "filaA";
}
else
{
estilo = "filaB";
}
taespeci = (Taespeci)vSeleccion.elementAt(i);
//hacemos el tratamiento por si viene comilla simple en la descripcion
strDescripcionSinComilla = taespeci.getDescripcion().replace('\'', '~');
%>
<%
if (strListaElementos.indexOf("�" + taespeci.getDescripcion() + "�")!=-1)
{
%>
<%
}
else
{
%>
<%
}
%>
<%=taespeci.getDescripcion()%>
<%
}
%>
<% if (intPagina!=0){ //se tiene en cuenta la paginacion %>
<%
}
catch(ExcepcionTarisan ex)
{
LogTarisan.logger.log(NivelLog.ERROR, "ExcepcionTarisan: " + ex.getMensaje());
sesion.setAttribute("ERROR", "Error en la presentación de la página al usuario.");
response.sendRedirect(request.getContextPath() + "/jsp/error.jsp");
}
catch(Exception ex)
{
LogTarisan.logger.log(NivelLog.ERROR, "Exception: " + ex);
sesion.setAttribute("ERROR", "Error en la presentación de la página al usuario.");
response.sendRedirect(request.getContextPath() + "/jsp/error.jsp");
}
}
LogTarisan.logger.log(NivelLog.INFO, "Final página de otras especialidades (pac/especialidades.jsp)");
%>