Files
tarisan_gitea/jsp/med/ap.jsp
T
2025-06-09 13:55:08 +02:00

510 lines
20 KiB
Plaintext

<%@ page import="com.tarisan.control.*" %>
<%@ page import="com.tarisan.control.PersistenciaVTaprescaTaclient" %>
<%@ page import="com.tarisan.data.*" %>
<%@ page import="com.tarisan.excepcion.*" %>
<%@ page import="com.tarisan.log.*" %>
<%@ page import="com.tarisan.util.Utilidades" %>
<%@ page import="com.tarisan.util.DES" %>
<%@ page import="com.tarisan.persistencia.PersistenciaParametros" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.Vector" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.math.BigDecimal"%>
<%@ page import="java.util.Calendar" %>
<%@ page import="java.io.*" %>
<%
// LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + "Inicio página de anatomía patológica (med/ap.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("../../html/login.html");
}
else
{
LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + "Inicio página de anatomía patológica (med/ap.jsp)");
try
{
// Definicion de variables
String strParametroMenu="";
Calendar calFechaAnalisis = Calendar.getInstance();
calFechaAnalisis.add(Calendar.MONTH, -ParametrosConfiguracion.periodoAnalisis);
java.sql.Date dtFechaAnalisis = new java.sql.Date(calFechaAnalisis.getTime().getTime());
StringBuffer strSql_requestid = new StringBuffer();
StringBuffer strSql = new StringBuffer();
int intPagina = 0;
SimpleDateFormat sdfFormateadorFecha=new SimpleDateFormat(PersistenciaParametros.formatoFechas);
Object aCondiciones[]=null;
//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 pagina para realizar la paginacion
if (request.getParameter("pagina")!=null)
intPagina=Integer.parseInt(request.getParameter("pagina"));
Tamensaje tamensaje = new Tamensaje();
PersistenciaTamensaje pertamensaje = new PersistenciaTamensaje();
/*Vector vTamensajes = new Vector();
String strCodigos = "6,7";
vTamensajes = pertamensaje.obtenerMensajes(strCodigos);
pertamensaje.obtenerMensaje(10).getMensaje();*/
boolean directorioListado = false;
Vector<String> archivos = new Vector<String>();
boolean mostrarNoticia = true;
PersistenciaTanoticias perTaNo = new PersistenciaTanoticias();
Vector vSeleccionNot = perTaNo.obtener_noticias_cabecera();
Vector vNoticias = new Vector();
String strNoticia = "";
String noticias ="";
String separador = " ---//--- ";
if(vSeleccionNot.size()==0){
mostrarNoticia = false;
}else{
mostrarNoticia = true;
Tanoticias tanoticia = null;
for(int i = 0; i < vSeleccionNot.size(); i++)
{
tanoticia = (Tanoticias)vSeleccionNot.elementAt(i);
if (i!=0){
strNoticia = strNoticia + separador + tanoticia.getNoticia();
}else{
strNoticia = tanoticia.getNoticia();
}
strNoticia = strNoticia.replaceAll("<br/>", " ");
}
}
%>
<html>
<head>
<title>Anatomía Patológica</title>
<link rel="shortcut icon" href="../../img/logo.ico" />
<link rel="STYLESHEET" type="text/css" href="../../css/estilos.css">
<script language="JavaScript" src="../../js/inicio_tarisan.js"></script>
<script language="JavaScript" src="../../js/menu_med.js"></script>
<script language="JavaScript" src="../../js/bloques_tarisan.js"></script>
<script language="JavaScript" src="../../js/funciones.js"></script>
<script language="JavaScript" src="../../js/jquery-1.11.3.js"></script>
<script language="JavaScript">pNG="<%= perfil.toString() %>"</script>
<script language="JavaScript" type="text/javascript">
<!--
function paginacion(pagina)
{
document.frmAnalisis.pagina.value=pagina;
document.frmAnalisis.submit();
}
function enviar_frmAnalitica(valor)
{
obj=document.getElementById(valor);
obj.submit();
}
//-->
</script>
</head>
<body marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" alink="#43881A" bgcolor="#FFFFFF">
<div class="marco">
<table cellpadding="0" cellspacing="0" border="0" align="center" style="width:95%">
<tr>
<td class="tdLogoCabecera"><img src="<%=request.getContextPath()%>/img/logo.png" class="logoCabecera"></td>
<td>
<table width="100%">
<tr><td class="tituloTablaMedico" align="center"><%= sesion.getAttribute("USUARIO") %></td></tr>
<tr>
<td>
<div id="contenedorNoticia">
<br>
<div class="tituloNoticia">
<p class="marquee"><%=strNoticia %></p>
</div>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- Cabecera de Navegación superior //-->
<table cellpadding="0" cellspacing="0" border="0" align="center" style="width:95%">
<tr>
<td><script language="JavaScript">bloques();</script></td>
</tr>
</table>
<br>
<!-- Cuerpo de la página //-->
<table cellpadding="0" cellspacing="0" border="0" align="center" style="width:95%">
<tr valign="top">
<td width="5%">
<!-- Menú de navegación del módulo (zona izquierda) //-->
<table cellpadding="0" cellspacing="0" border="0">
<tr valign="top">
<td colspan="2"><img src="../../img/sp.gif" width="180" height="12" border="0"></td>
</tr>
<tr valign="top">
<td><script language="JavaScript">escribirMenuGst();</script></td>
</tr>
</table>
</td>
<td width="565">
<!-- Tabla con el contenido de la página (zona central-derecha) //-->
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td width="1px" bgcolor="#CCCCCC" height="330px"></td>
<td class="txt" valign="top">
<img src="../../img/sp.gif" width="1" height="11" border="0"><br>
<table border="0" align="center" width="100%">
<!-- Presentacion de los resultados -->
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<form name="frmAnalisis" action="ap.jsp?x=<%=strParametroMenu%>" method="post">
<input type="hidden" name="pagina" value="1">
</form>
<%
//Creación de la tabla presentación de resultados
PersistenciaVTaprescaTamedico per = new PersistenciaVTaprescaTamedico();
Vector vSeleccion = per.listado_anatomia_por_medico(((Usuario)sesion.getAttribute("USUARIO")).getMedico(), dtFechaAnalisis, intPagina);
if (vSeleccion.size()==0) //No se han encontrado datos
{
%>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2" align="center"><span class="txt"><%=pertamensaje.obtenerMensaje(10).getMensaje() %></span></td>
</tr>
<%
}
else
{
if (intPagina != 0){ //se tiene en cuenta la paginacion
%>
<tr>
<td colspan="3" align="right"><span class="txt">Página <%=per.getPaginacion().getNumeroPagina()%> de <%=per.getPaginacion().getNumeroPaginasTotales()%></span></td>
</tr>
<%
}
%>
<tr>
<td class="cabeceraTabla" align="center" bgcolor="#FFAAAA">Fecha</td>
<td class="cabeceraTabla" align="center" bgcolor="#FFAAAA">Nombre</td>
<td class="cabeceraTabla" align="center" bgcolor="#FFAAAA">Ver Resultados</td>
</tr>
<%
//VTaresanaTaclient vTaresanaTaclient = null;
VTaresanaTamedico vTaresanaTamedico = null;
String estilo = "";
for(int i = 0; i < vSeleccion.size(); i++)
{
if (i % 2 == 0)
{
estilo = "filaA";
}
else
{
estilo = "filaB";
}
//vTaresanaTaclient = (VTaresanaTaclient)vSeleccion.elementAt(i);
vTaresanaTamedico = (VTaresanaTamedico)vSeleccion.elementAt(i);
%>
<tr class="trResultados">
<%
if (vTaresanaTamedico.getAutorizacion() == 0) //campo autorizacion nulo o inicializado a 0. Valor no valido.
{
%>
<td class="<%=estilo%>" align="center"><%=sdfFormateadorFecha.format(vTaresanaTamedico.getFecha())%></td>
<td class="<%=estilo%>" align="left"><%=/*vTaresanaTaclient.getNombre() + " " + */vTaresanaTamedico.getApellidos()%></td>
<%
}
else //campo autorizacion tiene un valor valido
{
%>
<td class="<%=estilo%>" align="center">
<%
String peticion = ""+vTaresanaTamedico.getAutorizacion();
String peticionE = ""+vTaresanaTamedico.getAutorizacionEncriptada();
String ruta = ParametrosConfiguracion.ruta_pdf_peticiones_ap;
File ficheroPeticion = new File(ruta+peticion+".pdf");
if(ficheroPeticion.exists()) //Busco en la nueva ubicación
{
%>
<form name="frmPeticiones" action="<%=request.getContextPath()%>/servlet/GestorPacientes" target="blank" method="post" style="margin-bottom: 0px">
<input type="hidden" name="tipo" value="6"/>
<input type="hidden" name="nombrePDF" value="<%=peticionE%>" />
<input type="hidden" name="OPCION" value="<%=Constantes.OPC_PAC_VER_PDF%>">
<input type="submit" value="<%=sdfFormateadorFecha.format(vTaresanaTamedico.getFecha())%>" class="enlacePeticion"></input>
</form>
<%
}else{
ruta = ParametrosConfiguracion.ruta_pdf_peticiones;
ficheroPeticion = new File(ruta+peticion+".pdf");
if(ficheroPeticion.exists()) //Busco en la ubicación vieja
{
%>
<form name="frmPeticiones" action="<%=request.getContextPath()%>/servlet/GestorPacientes" target="blank" method="post" style="margin-bottom: 0px">
<input type="hidden" name="tipo" value="15"/>
<input type="hidden" name="nombrePDF" value="<%=peticionE%>" />
<input type="hidden" name="OPCION" value="<%=Constantes.OPC_PAC_VER_PDF%>">
<input type="submit" value="<%=sdfFormateadorFecha.format(vTaresanaTamedico.getFecha())%>" class="enlacePeticion"></input>
</form>
<%
}else{
%>
<span align="center"><%=sdfFormateadorFecha.format(vTaresanaTamedico.getFecha())%></span>
<%
}
}
%>
</td>
<td class="<%=estilo%>" align="center">
<%
ruta = ParametrosConfiguracion.ruta_pdf_peticiones_ap;
ficheroPeticion = new File(ruta+peticion+".pdf");
if(ficheroPeticion.exists()) //Busco en la nueva ubicación
{
%>
<form name="frmPeticiones" action="<%=request.getContextPath()%>/servlet/GestorPacientes" target="blank" method="post" style="margin-bottom: 0px">
<input type="hidden" name="tipo" value="6"/>
<input type="hidden" name="nombrePDF" value="<%=peticionE%>" />
<input type="hidden" name="OPCION" value="<%=Constantes.OPC_PAC_VER_PDF%>">
<input type="submit" value="<%=vTaresanaTamedico.getApellidos()%>" class="enlacePeticion"></input>
</form>
<%
}else{
ruta = ParametrosConfiguracion.ruta_pdf_peticiones;
ficheroPeticion = new File(ruta+peticion+".pdf");
if(ficheroPeticion.exists()) //Busco en la ubicación vieja
{
%>
<form name="frmPeticiones" action="<%=request.getContextPath()%>/servlet/GestorPacientes" target="blank" method="post" style="margin-bottom: 0px">
<input type="hidden" name="tipo" value="15"/>
<input type="hidden" name="nombrePDF" value="<%=peticionE%>" />
<input type="hidden" name="OPCION" value="<%=Constantes.OPC_PAC_VER_PDF%>">
<input type="submit" value="<%=vTaresanaTamedico.getApellidos()%>" class="enlacePeticion"></input>
</form>
<%
}else{
%>
<span align="center"><%=vTaresanaTamedico.getApellidos()%></span>
<%
}
}
%>
</td>
<td class="<%=estilo%>" align="center">
<%
String resultado = ""+vTaresanaTamedico.getAutorizacion();
String resultadoE = vTaresanaTamedico.getAutorizacionEncriptada();
String igualadaE = ""+vTaresanaTamedico.getIgualadaEncriptada();
Usuario usu = (Usuario)sesion.getAttribute("USUARIO");
if(usu.getMedico() == vTaresanaTamedico.getPrescriptor())
{
if(vTaresanaTamedico.getEpisodio()!=0){
String episodio = ""+vTaresanaTamedico.getEpisodio();
String episodioE = ""+vTaresanaTamedico.getEpisodioEncriptado();
String direccion = ParametrosConfiguracion.ruta_pdf_resultados_anatomia_CSM;
/*if (!directorioListado){
archivos = Utilidades.buscar_ficheros_directorio(direccion);
directorioListado = true;
}
Vector<String> children = Utilidades.buscar_ficheros_array(episodio, archivos);*/
/*String[] children = Utilidades.buscar_ficheros3(episodio,direccion);*/
Vector<String> children = Utilidades.buscar_ficheros(episodio,direccion);
if (children.size()==0) {
%><p>No hay PDF</p><%
}
else {
for (int f=0; f < children.size() ; f++) {
String filename = children.elementAt(f);
DES encrypter = new DES(""+((Usuario)sesion.getAttribute("USUARIO")).getMedico());
String dirE = encrypter.encrypt(filename);
%><form name="resultados" action="<%=request.getContextPath()%>/servlet/GestorPacientes" target="blank" method="post" style="margin-bottom: 0px">
<input type="hidden" name="tipo" value="21"/>
<input type="hidden" name="nombrePDF" value="<%=dirE%>" />
<input type="hidden" name="OPCION" value="<%=Constantes.OPC_PAC_VER_PDF%>">
<input type="submit" value="Ver PDF" class="enlace"></input>
</form><%
}
}
}else{
//PAC.ruta_pdf
String direccion = ParametrosConfiguracion.ruta_pdf_resultados_anatomia;
File fichero = new File(direccion+resultado+".pdf");
if(fichero.exists())
{
%><form name="resultados" action="<%=request.getContextPath()%>/servlet/GestorPacientes" target="blank" method="post" style="margin-bottom: 0px">
<input type="hidden" name="tipo" value="2"/>
<input type="hidden" name="nombrePDF" value="<%=resultadoE%>" />
<input type="hidden" name="OPCION" value="<%=Constantes.OPC_PAC_VER_PDF%>">
<input type="submit" value="Ver PDF" class="enlace"></input>
</form><%
}
else
{
fichero = new File(direccion+resultado+".PDF");
if(fichero.exists())
{
%><form name="resultados" action="<%=request.getContextPath()%>/servlet/GestorPacientes" target="blank" method="post" style="margin-bottom: 0px">
<input type="hidden" name="tipo" value="2"/>
<input type="hidden" name="nombrePDF" value="<%=resultadoE%>" />
<input type="hidden" name="OPCION" value="<%=Constantes.OPC_PAC_VER_PDF%>">
<input type="submit" value="Ver PDF" class="enlace"></input>
</form><%
}
else
{
direccion = ParametrosConfiguracion.ruta_pdf_resultados;
fichero = new File(direccion+resultado+".pdf");
if(fichero.exists())
{
%><form name="resultados" action="<%=request.getContextPath()%>/servlet/GestorPacientes" target="blank" method="post" style="margin-bottom: 0px">
<input type="hidden" name="tipo" value="16"/>
<input type="hidden" name="nombrePDF" value="<%=/*fichero.getName()*/resultadoE%>" />
<input type="hidden" name="OPCION" value="<%=Constantes.OPC_PAC_VER_PDF%>">
<input type="submit" value="Ver PDF" class="enlace"></input>
</form><%
}
else
{
fichero = new File(direccion+resultado+".PDF");
if(fichero.exists())
{
%><form name="resultados" action="<%=request.getContextPath()%>/servlet/GestorPacientes" target="blank" method="post" style="margin-bottom: 0px">
<input type="hidden" name="tipo" value="16"/>
<input type="hidden" name="nombrePDF" value="<%=/*fichero.getName()*/resultadoE%>" />
<input type="hidden" name="OPCION" value="<%=Constantes.OPC_PAC_VER_PDF%>">
<input type="submit" value="Ver PDF" class="enlace"></input>
</form><%
}
else
{
%><p>No hay PDF<!-- < %=/*pertamensaje.obtenerMensaje(6).getMensaje()*/ %>--></p><% //Resultados Pendientes
}
}
}
}
}
}
else
{
%>
<p><%=pertamensaje.obtenerMensaje(7).getMensaje() %></p>
<%
}
%>
</td>
<%
strSql_requestid.delete(0,strSql_requestid.length());
}
%>
</tr>
<%
}
if (intPagina!=0){ //se tiene en cuenta la paginacion %>
<tr><td colspan="3"></td></tr>
<tr>
<td colspan="3">
<table border="0" align="center">
<tr>
<%if (per.getPaginacion().esPrimeraPagina()){%>
<td width="70" align="right"><span class="pagDesactivo">primero</span></td>
<td></td>
<td width="70" align="left"><span class="pagDesactivo">anterior</span></td>
<%}else{%>
<td width="70" align="right"><a href="javascript:paginacion(1)" class="enlace">primero</a></td>
<td></td>
<td width="70" align="left"><a href="javascript:paginacion(<%=per.getPaginacion().getNumeroPagina() - 1%>)" class="enlace">anterior</a></td>
<%}%>
<%if (per.getPaginacion().esUltimaPagina()){%>
<td width="70" align="right"><span class="pagDesactivo">siguiente</span></td>
<td></td>
<td width="70" align="left"><span class="pagDesactivo">último</span></td>
<%}else{%>
<td width="70" align="right"><a href="javascript:paginacion(<%=per.getPaginacion().getNumeroPagina() + 1%>)" class="enlace">siguiente</a></td>
<td></td>
<td width="70" align="left"><a href="javascript:paginacion(<%=per.getPaginacion().getNumeroPaginasTotales()%>)" class="enlace">último</a></td>
<%}%>
</tr>
</table>
</td>
</tr>
<%
} //fin if(pagina!=0)
} //fin else (vSeleccion.size()!=0)
%>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<form name="frmImprimirPeticion" action="<%=request.getContextPath()%>/servlet/GestorPacientes" target="blank" method="post" style="width:50%;margin-bottom: 0px">
<input type="hidden" name="tipo" value="1"/>
<input type="hidden" name="nombrePDF" value="" />
<input type="hidden" name="OPCION" value="<%=Constantes.OPC_PAC_VER_PDF%>">
</form>
</body>
</html>
<script>
var jsMostrarNoticia = <%=mostrarNoticia %>;
if (!jsMostrarNoticia){
document.getElementById('contenedorNoticia').style.display="none";
}else{
<% strNoticia = strNoticia.replaceAll("\"", "'"); %>
var not = "<%=strNoticia %>";
tamanioNoticia(not);
marquee($('.tituloNoticia'), $('.marquee'),not);
}
</script>
<%
}
catch(Exception ex)
{
LogTarisan.logger.log(NivelLog.ERROR, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Exception: " + ex);
sesion.setAttribute("ERROR", "ExcepcionTarisan: " + ex);
response.sendRedirect("../error.jsp");
}
LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Final página de anatomía patológica (med/ap.jsp)");
}
%>