<%@ 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="com.tarisan.util.Utilidades" %> <%@ page import="com.tarisan.persistencia.PersistenciaParametros" %> <%@ page import="java.util.Properties" %> <% //LogTarisan.logger.log(NivelLog.INFO, "Inicio página de facturacion_rehabpod (pac/facturacion_rehabpod.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 { LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Inicio página de facturacion_rehabpod (pac/facturacion_rehabpod.jsp)"); try { // Definicion de variables String strMensajeSinElementos="No ha seleccionado ningún acto médico."; String strParametroMenu=""; String strCampoNombre=""; String strListaElementos=""; String strListaCodigoElementos=""; int intImpresion = 0; int intPagina = 0; int intFinalizar = 0; StringBuffer strSql = new StringBuffer(); Object aCondiciones[]=null; String strEsPrimeraVisita = ""; String strListaElementosPrescripcion = ""; //Obtención del perfil del usuario conectado StringBuffer perfil = new StringBuffer(); perfil.append("|"); perfil.append(sesion.getAttribute("PERFIL")); perfil.append("|"); StringBuffer perfilIguala = new StringBuffer(); perfilIguala.append(sesion.getAttribute("PERFIL")); //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){ if (request.getParameter("nombre")!="") strCampoNombre = (String)request.getParameter("nombre"); } //parametro pagina para realizar la paginacion if (request.getParameter("pagina")!=null){ if (request.getParameter("pagina")!="") intPagina=Integer.parseInt(request.getParameter("pagina")); } //parametro listaPrescripciones para mostrar las prescripciones seleccionadas if (request.getParameter("listaElementos")!=null){ if (request.getParameter("listaElementos")!="") strListaElementos=(String)request.getParameter("listaElementos"); } //parametro listaPrescripciones para mostrar las prescripciones seleccionadas if (request.getParameter("listaCodigoElementos")!=null){ if (request.getParameter("listaCodigoElementos")!="") strListaCodigoElementos=(String)request.getParameter("listaCodigoElementos"); } //parametro listaElementosPrescripciones utilizado para realizar la impresion if (request.getParameter("listaElementosPrescripcion")!=null){ if (request.getParameter("listaElementosPrescripcion")!="") strListaElementosPrescripcion=(String)request.getParameter("listaElementosPrescripcion"); } //parametro impresion que nos indica que se ha de realizar una impresion if (request.getParameter("imp")!=null) { if (request.getParameter("imp")!="") intImpresion=Integer.parseInt(request.getParameter("imp")); } //parametro finalizar que nos indica que se ha pulsado el boton de finalizar una cura if (request.getParameter("finalizar")!=null) { if (request.getParameter("finalizar")!="") intFinalizar=Integer.parseInt(request.getParameter("finalizar")); } String mensaje = (String)sesion.getAttribute("RESULTADO"); sesion.setAttribute("RESULTADO", null); int intMedico = ((Usuario)sesion.getAttribute("USUARIO")).getMedico(); int intEspecialidad = ((Usuario)sesion.getAttribute("USUARIO")).getEspecialidad(); long intColectivo = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getColectivo(); int intBeneficiario = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getBeneficiario(); double dblPoliza = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getPoliza(); String diagnostico= ""; 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("
", " "); } } String path = request.getContextPath(); if (request.getContextPath().indexOf("tarisan")==-1){ path = path + "/tarisan"; } %> Especialidades
<%= sesion.getAttribute("USUARIO") %>

<%=strNoticia %>


<%= sesion.getAttribute("PACIENTE") %>

<% //comprobar si tiene una autorizacion válida long longAutorizacion = 0; PersistenciaTaconaut perTaconaut = new PersistenciaTaconaut(); PersistenciaTTMovaut persistenciaTTMovaut = new PersistenciaTTMovaut(); String tarjeta = ""; if(((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getTarjeta() == 0) tarjeta = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getTarjetaDesplazado(); else tarjeta = String.valueOf(((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getTarjeta()); if(request.getParameter("nombre") != "" && request.getParameter("nombre") != null) //Se trata de una búsqueda { longAutorizacion = Long.parseLong(request.getParameter("nombre")); if(perTaconaut.BuscarAutorizacion(longAutorizacion, tarjeta)) LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Autorizacion: "+longAutorizacion); else longAutorizacion = -1; } else if(request.getParameter("autorizacion") != null) { longAutorizacion = Long.parseLong(request.getParameter("autorizacion")); if(perTaconaut.BuscarAutorizacion(longAutorizacion, tarjeta)) LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Autorizacion: "+longAutorizacion); else longAutorizacion = -1; } else { int perfilsesion = Integer.parseInt((String)sesion.getAttribute("PERFIL")); if( perfilsesion == Integer.parseInt(Constantes.PERFIL_ATS)) { LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - es ATS buscamos en taconaut"); longAutorizacion = perTaconaut.ultimaAutorizacion(intEspecialidad, tarjeta, strCampoNombre); LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Autorizacion: "+longAutorizacion); } else { LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - NO es ATS buscamos en ttmovaut: " + intEspecialidad + " perfilats:" + Constantes.PERFIL_ATS); longAutorizacion = persistenciaTTMovaut.ObtenerAutorizacion((Paciente)sesion.getAttribute("PACIENTE"), intMedico); } } if (longAutorizacion != 0 && longAutorizacion != -1) { diagnostico = perTaconaut.ObtenerInforme(longAutorizacion); LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Tenemos autorizacion: "+longAutorizacion+" PERFIL TARISAN: " + perfilIguala.toString() + " - "); %>
<% if(mensaje != null) { %> <% } %> <% //parametro finalizar que nos indica que se ha pulsado el boton de finalizar una cura if (request.getParameter("finalizar")!=null) { intFinalizar=Integer.parseInt(request.getParameter("finalizar")); } PersistenciaTtactmed per = new PersistenciaTtactmed(); long intColectivonew = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getColectivo(); double dblPolizanew = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getPoliza(); //Esta es la consulta que le cuesta 20seg. devolver aCondiciones = new Object[1]; aCondiciones[0] = Integer.valueOf(intEspecialidad); String actos = ""; PersistenciaTTMovaut perTTmovaut= new PersistenciaTTMovaut(); //obtenemos los actos incluidos en la autorización Vector vSeleccion = null; int perfilsesion = Integer.parseInt((String)sesion.getAttribute("PERFIL")); PersistenciaTaconaut pertacon = new PersistenciaTaconaut(); Long autoriza = longAutorizacion; boolean autorizacionats = false; if( perfilsesion == Integer.parseInt(Constantes.PERFIL_ATS) && autoriza != null) { LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - valor autorizacion: " + longAutorizacion + ", autoriza: " + autoriza); vSeleccion = pertacon.ObtenerActosAutorizados(autoriza); autorizacionats = true; } else { vSeleccion = perTTmovaut.ObtenerActosAutorizados(longAutorizacion, intEspecialidad); } if (vSeleccion.size()!=0) { for(int i = 0; i < vSeleccion.size(); i++) { if((Integer)vSeleccion.elementAt(i) > 0) { actos = actos + vSeleccion.elementAt(i).toString() + ", "; } } actos = actos.substring(0, actos.length()-2); } //vSeleccion = per.seleccionar("select * from ttactmed where especialidad = ? and acto in ("+actos+")", intPagina, aCondiciones); vSeleccion = per.listadoActosAutorizados(intEspecialidad, actos, intPagina); if (vSeleccion.size()==0) //No se han encontrado datos { %> <% } else { if (intPagina != 0){ //se tiene en cuenta la paginacion %> <% } %> <% Ttactmed ttactmed = null; String estilo = ""; String strDescripcionSinComilla=""; for(int i = 0; i < vSeleccion.size(); i++) { if (i % 2 == 0) { estilo = "filaA"; } else { estilo = "filaB"; } ttactmed = (Ttactmed)vSeleccion.elementAt(i); //obtenemos la tarjeta del paciente de sesion tarjeta = ""; if(((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getTarjeta() == 0) tarjeta = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getTarjetaDesplazado(); else tarjeta = String.valueOf(((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getTarjeta()); if(!autorizacionats) { perTaconaut = new PersistenciaTaconaut(); if(!(perTaconaut.ComprobarAutorizacionValida(longAutorizacion, intMedico, ttactmed.getActo(), tarjeta))) { int cuantos = perTTmovaut.ObtenerCantidadActoAutorizado(longAutorizacion, ttactmed.getActo()); //Insertamos la línea de la autorización y el número de sesiones en "Alberto". if(perTaconaut.CrearAutorizacionValida(longAutorizacion, intMedico, intEspecialidad, ttactmed.getActo(), cuantos, 1, tarjeta)) { LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - No hay autorizacion en taconaut pero si en ttmovaut. Creamos una nueva correctamente: "+longAutorizacion+" "+intMedico+" "+intEspecialidad+" "+ttactmed.getActo()+" "+cuantos+" 0 "+tarjeta); } } } //hacemos el tratamiento por si viene comilla simple en la descripcion strDescripcionSinComilla = ttactmed.getDescripcion().replace('\'', '~'); %> <% boolean habilitado = false; boolean finalizado = false; int sesiones =0; if(!autorizacionats) { if (intFinalizar!=0){ perTaconaut.ponerCuraACero(longAutorizacion, intMedico, ttactmed.getActo(), intEspecialidad); } habilitado = perTaconaut.PermitirImputarActo(longAutorizacion, intEspecialidad, intMedico, ttactmed.getActo(), tarjeta); sesiones = perTaconaut.ObtenerSesionesPendientes(longAutorizacion, intMedico, ttactmed.getActo()); finalizado = perTaconaut.esCuraFinalizada(longAutorizacion, intEspecialidad, intMedico, ttactmed.getActo(), tarjeta); } else { if (intFinalizar!=0){ perTaconaut.ponerCuraACero(longAutorizacion, ttactmed.getActo(), intEspecialidad); } sesiones = perTaconaut.ObtenerSesionesPendientes(longAutorizacion, ttactmed.getActo()); LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - \n\n "+perTaconaut.PermitirImputarActo(longAutorizacion, intEspecialidad, ttactmed.getActo(), tarjeta)+"\n\n"); if(ParametrosConfiguracion.actos_ats_curas.indexOf(String.valueOf(ttactmed.getActo() ))>0) habilitado = perTaconaut.PermitirImputarActo(longAutorizacion, intEspecialidad, ttactmed.getActo(), tarjeta); else habilitado = true; finalizado = perTaconaut.esCuraFinalizada(longAutorizacion, intEspecialidad, ttactmed.getActo(), tarjeta); } if(habilitado && sesiones > 0 && !finalizado) { if (strListaElementos.indexOf("¬" + ttactmed.getDescripcion() + "¬")!=-1) { %> <% } else { %> <% } } else { %> <% } %> <%if(sesiones <=2) { estilo = "filaC"; } %> <% int acto = ttactmed.getActo(); /*if((acto==6000 || acto==6001 || acto==6002 || acto==6003) && !finalizado){*/ if(Utilidades.buscar_en_properties(""+acto, ParametrosConfiguracion.actos_ats_curas) && !finalizado){ if(habilitado && sesiones > 0 && !finalizado){ %><% } } %> <% intFinalizar=0; } %> <% if (intPagina!=0){ //se tiene en cuenta la paginacion %> <% } //fin if(pagina!=0) %> <% } //fin else (vSeleccion.size()!=0) %>
<%=pertamensaje.obtenerMensaje(44).getMensaje() %>
  <%=mensaje %>    
<%=pertamensaje.obtenerMensaje(48).getMensaje() %>   <%=pertamensaje.obtenerMensaje(24).getMensaje() %>
<% tamensaje = pertamensaje.obtenerMensaje(10); %><%=tamensaje.getMensaje() %>
Página <%=per.getPaginacion().getNumeroPagina()%> de <%=per.getPaginacion().getNumeroPaginasTotales()%>
<%=pertamensaje.obtenerMensaje(40).getMensaje() %> <%=pertamensaje.obtenerMensaje(41).getMensaje() %> <%=pertamensaje.obtenerMensaje(42).getMensaje() %> <%=pertamensaje.obtenerMensaje(47).getMensaje() %>
<%=ttactmed.getActo()%> <%=ttactmed.getDescripcion()%> <%=Utilidades.formatearDouble(per.obtenerPrecioActoMedico(((Usuario)sesion.getAttribute("USUARIO")).getTarifa(), ttactmed.getActo(), ((Usuario)sesion.getAttribute("USUARIO")).getEspecialidad()), PersistenciaParametros.decimales)%><%=sesiones%>
<%if (per.getPaginacion().esPrimeraPagina()){%> <%}else{%> <%}%> <%if (per.getPaginacion().esUltimaPagina()){%> <%}else{%> <%}%>
primero anteriorprimero anteriorsiguiente últimosiguiente último
Informe Diagnóstico:<%=diagnostico %>
<% } else { %> <% if (longAutorizacion == 0) { %> <% }else if (longAutorizacion == -1) { %> <% }%>
 
 
 
Paciente sin autorización activa, debe acudir a las oficinas de IMQ para solicitar una.
La autorización introducida no es correcta.
 
<%=pertamensaje.obtenerMensaje(30).getMensaje() %>
<% } %>
<% } catch(ExcepcionTarisan ex) { LogTarisan.logger.log(NivelLog.ERROR, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - 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, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - 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, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Final página de facturacion_rehabpod (pac/facturacion_rehabpod.jsp)"); } %>