Files
2025-06-09 13:55:08 +02:00

542 lines
20 KiB
Plaintext

<%@ 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" %>
<%@ page import="java.util.Calendar" %>
<%@ page import="java.io.*" %>
<%
//LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + ": Inicio p&aacute;gina de radiologo (pac/radiologo.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&oacute;n invalidada");
response.sendRedirect("../../html/login.html");
}
else
{
LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Inicio p&aacute;gina de radiologo (pac/radiologo.jsp)");
try
{
// Definicion de variables
String strParametroMenu="";
String strAutorizacion="";
StringBuffer strSql = new StringBuffer();
int intPagina=0;
String strRespuesta="";
boolean blnPeticionCapturada=false;
Object aCondiciones[]=null;
long intColectivo = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getColectivo();
double dblPoliza = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getPoliza();
int intBeneficiario = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getBeneficiario();
int intEspecialidad = ((Usuario)sesion.getAttribute("USUARIO")).getEspecialidad();
java.sql.Date dtFechaActual = new java.sql.Date(Calendar.getInstance().getTime().getTime());
PersistenciaVTaprescaTtactmed per = new PersistenciaVTaprescaTtactmed();
Vector vSeleccion=null;
int mostrarBotonPDF = 0;
//Obtenci&oacute;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("autorizacion")!=null)
strAutorizacion = (String)request.getParameter("autorizacion");
//parametro pagina para realizar la paginacion
if (request.getParameter("pagina")!=null)
intPagina=Integer.parseInt(request.getParameter("pagina"));
//parametro respuesta para sacar el mensaje seg&uacute;n se haya capturado o no
if (request.getParameter("respuesta")!=null)
strRespuesta = (String)request.getParameter("respuesta");
//obtenemos las prescripciones de los radiodiagnosticos en caso de que se haya introducido un numero de autorizacion
if (!strAutorizacion.equalsIgnoreCase("")) //El usuario ha introducido el numero de autorizacion
{
PersistenciaTaresana perTa = new PersistenciaTaresana();
if(!perTa.peticionCapturada(Long.parseLong(strAutorizacion))){
per = new PersistenciaVTaprescaTtactmed();
vSeleccion = per.obtenerPrescripcionAnalisis(Long.parseLong(strAutorizacion), intColectivo, dblPoliza, intBeneficiario, intEspecialidad, intPagina,((Usuario)sesion.getAttribute("USUARIO")).getMedico());
}else{
blnPeticionCapturada=true;
}
}
Tamensaje tamensaje = new Tamensaje();
PersistenciaTamensaje pertamensaje = new PersistenciaTamensaje();
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>Radi&oacute;logo </title>
<link rel="shortcut icon" href="../../img/logo.ico" />
<link rel="STYLESHEET" type="text/css" href="../../css/estilos.css">
<link rel="STYLESHEET" type="text/css" href="../../css/jquery.modal.css">
<script language="JavaScript" src="../../js/funciones.js"></script>
<script language="JavaScript" src="../../js/inicio_tarisan.js"></script>
<script language="JavaScript" src="../../js/menu_pac.js"></script>
<script language="JavaScript" src="../../js/bloques_tarisan.js"></script>
<script language="JavaScript">pNG="<%= perfil.toString() %>"</script>
<script language="JavaScript" src="../../js/jquery-1.11.3.js"></script>
<script language="JavaScript" src="../../js/jquery.modal.min.js"></script>
<script language="JavaScript" type="text/javascript">
<!--
function aceptarAnalisis(aceptar)
{
if (aceptar==0)
{
//alert("Para poder aceptar el radiodiagn&oacute;stico debe realizar una b&uacute;squeda previa del mismo.");
modal({type:'error',title:'Atenci&oacute;n!',text:'Para poder aceptar el radiodiagn&oacute;stico debe realizar una b&uacute;squeda previa del mismo.',});
document.frmRadiologo.autorizacion.focus();
}
else if (aceptar==2)
{
//alert("La petici&oacute;n solicitada ya ha sido aceptada.");
modal({type:'error',title:'Atenci&oacute;n!',text:'La petici&oacute;n solicitada ya ha sido aceptada.',});
document.frmRadiologo.autorizacion.focus();
}
else
{
var boton = document.getElementById('okimprimir');
boton.disabled = true;
document.frmAceptarRadiodiagnostico.submit();
/*alert("Petici&oacute;n adjudicada correctamente"); */
}
}
function mostrarPrescripciones()
{
if (validarAutorizacion(document.frmRadiologo.autorizacion))
document.frmRadiologo.submit();
}
function validarAutorizacion(autorizacion)
{
if (document.frmRadiologo.autorizacion.value.length == 7){
document.frmRadiologo.autorizacion.value = "0" + document.frmRadiologo.autorizacion.value;
}else if(document.frmRadiologo.autorizacion.value.length == 6){
document.frmRadiologo.autorizacion.value = "00" + document.frmRadiologo.autorizacion.value;
}
//var blnValorCorrecto = (soloNumeros(autorizacion.value) && document.frmRadiologo.autorizacion.value.length == 8);
var blnValorCorrecto = soloNumeros(autorizacion.value);
if (!blnValorCorrecto)
{
//alert("La autorizaci&oacute;n debe ser un valor num&eacute;rico de 8 d&iacute;gitos.");
//alert("La autorizaci&oacute;n debe ser un valor num&eacute;rico.");
modal({type:'error',title:'Atenci&oacute;n!',text:'La autorizaci&oacute;n debe ser un valor num&eacute;rico.',});
autorizacion.focus();
}
return blnValorCorrecto;
}
function paginacion(pagina)
{
document.frmRadiologo.pagina.value=pagina;
document.frmRadiologo.submit();
}
//-->
</script>
</head>
<body marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" alink="#43881A" bgcolor="#FFFFFF" onload="javascript:document.frmRadiologo.autorizacion.focus()">
<div class="marco">
<!-- Datos del usuario conectado //-->
<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>
<!-- Cabecera de Navegaci&oacute;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>
<!-- Datos del paciente introducido mediante la lectura de la tarjeta //-->
<table cellpadding="0" cellspacing="0" border="0" align="center" style="width:95%">
<tr>
<td class="tituloTabla" align="center"><%= sesion.getAttribute("PACIENTE") %></td>
</tr>
<!-- <tr>
<td bgcolor="#C02331"><img src="img/sp.gif" width="746" height="1" border="0"></td>
</tr>-->
</table>
<br>
<!-- Cuerpo de la p&aacute;gina //-->
<table cellpadding="0" cellspacing="0" border="0" align="center" style="width:95%">
<tr valign="top">
<!--<td width="180">//-->
<td width="5%">
<!-- Men&uacute; de navegaci&oacute;n del m&oacute;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>
<!--<tr valign="top">
<td align="center"><img src="<%=request.getContextPath()%>/img/Logo_rosca.jpg" border="0" width="75%"></td>
</tr>-->
</table>
</td>
<!--<td bgcolor="#CCCCCC"><img src="<%=request.getContextPath()%>/img/sp.gif" width="1" height="12" border="0"></td> -->
<td width="565">
<!-- Tabla con el contenido de la p&aacute;gina (zona central-derecha) //-->
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<!--<td><img src="<%=request.getContextPath()%>/img/sp.gif" width="4" height="261" border="0"></td>-->
<td width="1px" bgcolor="#CCCCCC"></td>
<td class="txt" valign="top">
<table border="0" align="center" width="100%" cellpadding="0">
<!-- Presentacion de los resultados -->
<tr>
<td colspan="2" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<%
if (blnPeticionCapturada)
{
%>
<td><input type="button" name="aceptar" value="Aceptar" id="okimprimir" onclick="javascript:aceptarAnalisis(2)" class="menu"></td>
<%
}
else if ((vSeleccion==null || vSeleccion.size()==0)){
%>
<td><input type="button" name="aceptar" value="Aceptar" id="okimprimir" onclick="javascript:aceptarAnalisis(0)" class="menu"></td>
<%
}
else
{
%>
<td><input type="button" name="aceptar" value="Aceptar" id="okimprimir" onclick="javascript:aceptarAnalisis(1)" class="menu"></td>
<%
}
%>
</tr>
</table>
</td>
</tr>
<tr>
<form name="frmAceptarRadiodiagnostico" action="../../servlet/GestorPacientes" method="post">
<input type="hidden" name="OPCION" value="<%=Constantes.OPC_PAC_ANALISTA_ACEPTAR_RADIODIAGNOSTICO%>">
<input type="hidden" name="autorizacion" value="<%=strAutorizacion%>">
</form>
<form name="frmRadiologo" action="radiologo.jsp?x=<%=strParametroMenu%>" method="post" onSubmit="javascript:return validarAutorizacion(this.autorizacion)">
<td colspan="2">
<table border="0" align="center">
<tr>
<td><span class="txtnegrita">N&uacute;mero de autorizaci&oacute;n: </span></td>
<td><input type="text" size="10" name="autorizacion" class="txt" maxlength="10" value='<%=strAutorizacion%>'></td>
<td>&nbsp;</td>
<td><a href="javascript:mostrarPrescripciones()" class="enlace"><%=pertamensaje.obtenerMensaje(24).getMensaje() %></a></td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"></td></tr>
</table>
</td>
<input type="hidden" name="pagina" value="1">
</form>
</tr>
<tr><td colspan="2"></td></tr>
<%
if (!strAutorizacion.equalsIgnoreCase("")) //El usuario ha introducido el numero de autorizacion
{
if (blnPeticionCapturada) //ya existe un analisis
{
%>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2" align="center"><span class="txt"><% tamensaje = pertamensaje.obtenerMensaje(8); %><%=tamensaje.getMensaje() %></span></td>
</tr>
<%
}
else if (vSeleccion==null || vSeleccion.size()==0) //No se han encontrado datos
{
%>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2" align="center"><span class="txt"><% tamensaje = pertamensaje.obtenerMensaje(9); %><%=tamensaje.getMensaje() %></span></td>
</tr>
<%
}
else //no existe un analisis previo. Se muestran los datos de la prescripcion.
{
mostrarBotonPDF = 1;
if (intPagina != 0){ //se tiene en cuenta la paginacion
%>
<tr>
<td colspan="2" align="right"><span class="txt">P&aacute;gina <%=per.getPaginacion().getNumeroPagina()%> de <%=per.getPaginacion().getNumeroPaginasTotales()%></span></td>
</tr>
<%
}
%>
<tr>
<td class="cabeceraTabla" align="center" bgcolor="#FFAAAA">C&oacute;digo</td>
<td class="cabeceraTabla" align="center" bgcolor="#FFAAAA">Descripci&oacute;n</td>
</tr>
<%
VTapresca_Ttactmed vtapresca_tarisanttactmed = new VTapresca_Ttactmed();
String strInforme = ((VTapresca_Ttactmed)vSeleccion.elementAt(0)).getInforme();
String estilo = "";
for(int i = 0; i < vSeleccion.size(); i++)
{
if (i % 2 == 0)
{
estilo = "filaA";
}
else
{
estilo = "filaB";
}
vtapresca_tarisanttactmed = (VTapresca_Ttactmed)vSeleccion.elementAt(i);
%>
<tr class="trResultados">
<td class="<%=estilo%>" align="center"><%=vtapresca_tarisanttactmed.getActo()%></td>
<td class="<%=estilo%>" align="left"><%=vtapresca_tarisanttactmed.getDescripcionActoMedico()%></td>
</tr>
<%
}
%>
<% if (intPagina!=0){ //se tiene en cuenta la paginacion %>
<tr><td colspan="2"></td></tr>
<tr>
<td colspan="2">
<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">&uacute;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">&uacute;ltimo</a></td>
<%}%>
</tr>
</table>
</td>
</tr>
<%
} //fin if(pagina!=0)
%>
<tr><td colspan="2">&nbsp;</td></tr>
<tr>
<td colspan="2" align="center">
<table>
<tr>
<td align="left" class="txtNegrita">Informe:</td>
</tr>
<tr>
<td align="left"><textarea name="informe" rows="4" cols="50" class="txt" readonly="readonly"><%=strInforme%></textarea></td>
</tr>
</table>
</td>
</tr>
<%
} //fin else (vSeleccion.size()!=0)
}
%>
</table>
<table border="0" align="center" width="100%" cellpadding="0">
<tr>
<td class="" align="left">
<%
if(mostrarBotonPDF==1){
String resultado = ""+strAutorizacion;
/*resultado = (resultado.length()<8)?"0"+resultado:resultado;*/
File fichero = new File(ParametrosConfiguracion.ruta_pdf_peticiones_rx+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="14"/>
<input type="hidden" name="nombrePDF" value="<%=fichero.getName()%>" />
<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(ParametrosConfiguracion.ruta_pdf_peticiones_rx+Integer.valueOf(strAutorizacion).toString()+".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="14"/>
<input type="hidden" name="nombrePDF" value="<%=fichero.getName()%>" />
<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(ParametrosConfiguracion.ruta_pdf_peticiones+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="15"/>
<input type="hidden" name="nombrePDF" value="<%=fichero.getName()%>" />
<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(ParametrosConfiguracion.ruta_pdf_peticiones+Integer.valueOf(strAutorizacion).toString()+".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="15"/>
<input type="hidden" name="nombrePDF" value="<%=fichero.getName()%>" />
<input type="hidden" name="OPCION" value="<%=Constantes.OPC_PAC_VER_PDF%>">
<input type="submit" value="Ver PDF" class="enlace"></input>
</form><%
}
else
{
%><p>PDF inexistente</p><%
}
}
}
}
}
mostrarBotonPDF = 0;
%>
</td>
<%
if (/*intRespuesta == 1*/strRespuesta.compareTo("1")==0){
%><td class="txtnegrita" align="center" style="color:blue">Petici&oacute;n adjudicada correctamente<td> <%
}else if (/*intRespuesta == 2*/strRespuesta.compareTo("2")==0){
%><td class="txtnegrita" align="center" style="color:rgb(189, 2, 2);">No se puede capturar el radiodiagn&oacute;stico. El acto no tiene precio<td><%
}
%>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</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(ExcepcionTarisan ex)
{
LogTarisan.logger.log(NivelLog.ERROR, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - ExcepcionTarisan: " + ex.getMensaje());
sesion.setAttribute("ERROR", "Error en la presentaci&oacute;n de la p&aacute;gina al usuario.");
response.sendRedirect("../error.jsp");
}
catch(Exception ex)
{
LogTarisan.logger.log(NivelLog.ERROR, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Exception: " + ex);
sesion.setAttribute("ERROR", "Error en la presentaci&oacute;n de la p&aacute;gina al usuario.");
response.sendRedirect("../error.jsp");
}
LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Final p&aacute;gina de radiologo (pac/radiologo.jsp)");
}
%>