<%@ 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.util.DES" %> <%@ page import="com.tarisan.persistencia.PersistenciaParametros" %> <%@ page import="java.util.Calendar" %> <% //LogTarisan.logger.log(NivelLog.INFO, "Inicio página de facturacion (pac/facturacion_odon.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 if(sesion.getAttribute("PACIENTE") == null) { LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Paciente borrado ¿Ha pulsado 'history back'?"); response.sendRedirect(request.getContextPath() + "/jsp/pac/gestor.jsp"); } //SI ES ADESLAS LO MANDAMOS A FACTURACION CHIPCARD else if ( ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getEntidadChipcard().compareTo(ParametrosConfiguracion.bin_chipcard_adeslas)==0) { LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Paciente ADESLAS, lo mandamos a facturacion chipcard"); response.sendRedirect(request.getContextPath() + "/jsp/pac/facturacion_chipcard.jsp?x=0&pagina=1"); } /*else if((((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getContrato() != ParametrosConfiguracion.contrato_dental) && (((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getContrato() != ParametrosConfiguracion.salud_con_cobertura_dental)) { LogTarisan.logger.log(NivelLog.INFO, "Redirección a franquicias_dentales.jsp"); response.sendRedirect(request.getContextPath() + "/jsp/pac/franquicias_dentales.jsp?x=2&pagina=1"); }*/ else { LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Inicio página de facturacion_odon (pac/facturacion_odon.jsp)"); try { // Definicion de variables String mensaje = null; mensaje = (String)sesion.getAttribute("ERROR"); String strMensajeSinElementos=""; if(mensaje == null || (mensaje.trim().compareTo("") == 0)) { strMensajeSinElementos="No ha seleccionado ningún acto médico."; } else { strMensajeSinElementos=mensaje; } String strParametroMenu=""; String strCampoNombre=""; String strListaElementos=""; String strListaCodigoElementos=""; int intImpresion = 0; int intPagina = 0; StringBuffer strSql = new StringBuffer(); Object aCondiciones[]=null; String strEsPrimeraVisita = ""; String strEsPrimeraLimpieza = ""; String strConRevisionHoy = ""; 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) 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 impresion que nos indica que se ha de realizar una impresion if (request.getParameter("imp")!=null) { intImpresion=Integer.parseInt(request.getParameter("imp")); } //atributo ENC que obtiene la peticion encriptada String factE = ""; if (sesion.getAttribute("ENC")!=null) { factE = (String)sesion.getAttribute("ENC"); sesion.removeAttribute("ENC"); } int intMedico = ((Usuario)sesion.getAttribute("USUARIO")).getMedico(); 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 tarjeta = String.valueOf(((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getTarjeta()); if(((Paciente)sesion.getAttribute("PACIENTE")).getDesplazado() != ParametrosConfiguracion.bin_chipcard_propios) tarjeta = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getTarjetaDesplazado(); PersistenciaTapolfac perTapolfac = new PersistenciaTapolfac(); Integer blnEsPolizaIgualaMedico = perTapolfac.esPolizaIgualaMedico(intMedico, intColectivo, dblPoliza); PersistenciaTaprimer perTaprimer = new PersistenciaTaprimer(); if (perTaprimer.esPrimeraVisita( intMedico, intColectivo, dblPoliza, intBeneficiario) ) strEsPrimeraVisita = "si"; else strEsPrimeraVisita = "no"; if (perTaprimer.esPrimeraLimpieza( intMedico, intColectivo, dblPoliza, intBeneficiario) ) strEsPrimeraLimpieza = "si"; else strEsPrimeraLimpieza = "no"; PersistenciaTamovext perTamovex = new PersistenciaTamovext(); strConRevisionHoy = "no"; //if(perTamovex.tieneRevisionHoy(intMedico, ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getTarjetaDesplazado(), true)) if(perTamovex.tieneRevisionHoyColPolOrd(intMedico, intColectivo, dblPoliza, intBeneficiario, true)) strConRevisionHoy = "si"; 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"; } %> Odontología
<%= sesion.getAttribute("USUARIO") %>

<%=strNoticia %>


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

<% if ((blnEsPolizaIgualaMedico == 0) || ((blnEsPolizaIgualaMedico != 0) && perfilIguala.toString().compareTo("01")!=0)){ LogTarisan.logger.log(NivelLog.INFO, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - PERFIL TARISAN: " + perfilIguala.toString() + " " + blnEsPolizaIgualaMedico); %> <% PersistenciaTTFranquiciasDentales perT = new PersistenciaTTFranquiciasDentales(); long longColectivonew = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getColectivo(); int intEntidadnew = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getEntidadIMQ(); int intEspecialidadnew = ((Usuario)sesion.getAttribute("USUARIO")).getEspecialidad(); int intContrato = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getContrato(); Calendar cal = Calendar.getInstance() ; Integer anio = cal.get(Calendar.YEAR); int franquicia = 0; franquicia = perT.obtenerNumeroFranquicia(intEspecialidadnew, intEntidadnew, longColectivonew,anio); if (franquicia==0) //No se han encontrado datos al buscar una franquicia por entidad { int franquiciaPorContrato = 0; franquiciaPorContrato = perT.obtenerNumeroFranquiciaPorContrato(intContrato); if (franquiciaPorContrato==0) //No se han encontrado datos al buscar una franquicia por contrato { %> <% } else { String franquiciaE = ""; String strMedico = ""+((Usuario)sesion.getAttribute("USUARIO")).getMedico(); DES encrypter = new DES(strMedico); franquiciaE = "franquicia_"+ franquiciaPorContrato; franquiciaE = encrypter.encrypt(franquiciaE); %> <% } } else { String franquiciaE = ""; String strMedico = ""+((Usuario)sesion.getAttribute("USUARIO")).getMedico(); DES encrypter = new DES(strMedico); franquiciaE = "franquicia_"+ franquicia; franquiciaE = encrypter.encrypt(franquiciaE); %> <% } %>
<% PersistenciaTtactmed per = new PersistenciaTtactmed(); long intColectivonew = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getColectivo(); double dblPolizanew = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getPoliza(); PersistenciaPaciente perPa = new PersistenciaPaciente(); int intEntidad = ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getEntidadIMQ(); Vector vSeleccion = new Vector(); Vector vSeleccion2 = new Vector(); if(((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getEntidadChipcard().compareTo(ParametrosConfiguracion.bin_chipcard_propios)!=0) { vSeleccion = per.obtenerActosAutoprescribiblesDespla(intPagina, ((Usuario)sesion.getAttribute("USUARIO")).getEspecialidad(), ((Usuario)sesion.getAttribute("USUARIO")).getTarifa(), strCampoNombre); LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Asegurado DESPLAZADO. Actos cubiertos: " + vSeleccion.size()); }else{ if(Utilidades.buscar_en_properties(""+((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getContrato(), ParametrosConfiguracion.contrato_dental)){ PersistenciaTabenefi perTaBen = new PersistenciaTabenefi(); int cliente = perTaBen.obtenerNumCli(((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getTarjeta()); int entidad = perTaBen.obtenerEntidad(cliente,((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getTarjeta()); long colec = perTaBen.obtenerColectivo(cliente,((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getTarjeta()); if (perPa.tieneSalud(entidad,colec,intMedico)/*&&((colec!=-1)&&(entidad!=-1))*/){ //Comprueba si al pasar una tarjeta dental el paciente tiene tambien una arjeta de salud. Esto es para sacar todos los actos cubiertos. PersistenciaTTColect perTTCol = new PersistenciaTTColect(); int contratoSalud = perTTCol.obtenerContrato(entidad,colec); vSeleccion = per.obtenerActosDentalesYSalud(intPagina, ((Usuario)sesion.getAttribute("USUARIO")).getEspecialidad(), ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getContrato(), intColectivonew, dblPolizanew,((Usuario)sesion.getAttribute("USUARIO")).getTarifa(), strCampoNombre, contratoSalud); LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Asegurado IMQ. Actos cubiertos: " + vSeleccion.size()); }else{ vSeleccion = per.obtenerActosAutoprescribibles(intPagina, ((Usuario)sesion.getAttribute("USUARIO")).getEspecialidad(), ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getContrato(), intColectivonew, dblPolizanew,((Usuario)sesion.getAttribute("USUARIO")).getTarifa(), strCampoNombre); LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Asegurado IMQ. Actos cubiertos: " + vSeleccion.size()); } }else{ vSeleccion = per.obtenerActosAutoprescribibles(intPagina, ((Usuario)sesion.getAttribute("USUARIO")).getEspecialidad(), ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getContrato(), intColectivonew, dblPolizanew,((Usuario)sesion.getAttribute("USUARIO")).getTarifa(), strCampoNombre); LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Asegurado IMQ. Actos cubiertos: " + vSeleccion.size()); } /* vSeleccion = per.obtenerActosAutoprescribibles(intPagina, ((Usuario)sesion.getAttribute("USUARIO")).getEspecialidad(), ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getContrato(), intColectivonew, dblPolizanew,((Usuario)sesion.getAttribute("USUARIO")).getTarifa(), strCampoNombre); LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - Asegurado IMQ. Actos cubiertos: " + vSeleccion.size()); /*if(((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getContrato() == ParametrosConfiguracion.contrato_dental){*/ /* if(Utilidades.buscar_en_properties(""+((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getContrato(), ParametrosConfiguracion.contrato_dental)){ PersistenciaTabenefi perTaBen = new PersistenciaTabenefi(); int cliente = perTaBen.obtenerNumCli(((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getTarjeta()); int entidad = perTaBen.obtenerEntidad(cliente,((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getTarjeta()); long colec = perTaBen.obtenerColectivo(cliente,((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getTarjeta()); if (perPa.tieneSalud(entidad,colec,intMedico)/*&&((colec!=-1)&&(entidad!=-1))*//*){ //Comprueba si al pasar una tarjeta dental el paciente tiene tambien una arjeta de salud. Esto es para sacar todos los actos cubiertos. PersistenciaTTColect perTTCol = new PersistenciaTTColect(); int contratoSalud = perTTCol.obtenerContrato(entidad,colec); vSeleccion2 = per.obtenerActosAutoprescribibles(intPagina, ((Usuario)sesion.getAttribute("USUARIO")).getEspecialidad(), contratoSalud, intColectivonew, dblPolizanew,((Usuario)sesion.getAttribute("USUARIO")).getTarifa(), strCampoNombre); LogTarisan.logger.log(NivelLog.DEBUG, ((Usuario)sesion.getAttribute("USUARIO")).getMedico() + " - El asegurado ha pasado una tarjeta dental pero también tiene una de salud. Sacamos sus actos: " + vSeleccion.size()); if (vSeleccion.size()!=0){ if (vSeleccion2.size()!=0){ Vector vAux = new Vector(); for (int i=0;i < vSeleccion.size(); i++){ vAux.add(vSeleccion.elementAt(i)); } for (int x=0;x < vSeleccion2.size(); x++){ vAux.add(vSeleccion2.elementAt(x)); } vSeleccion = vAux; } } Utilidades.ordenarVectorTTActmed(vSeleccion); } }*/ } 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); //hacemos el tratamiento por si viene comilla simple en la descripcion strDescripcionSinComilla = ttactmed.getDescripcion().replace('\'', '~'); %> <% if (strListaElementos.indexOf("¬" + ttactmed.getDescripcion() + "¬")!=-1) { %> <% } else { %> <% } %> <% } %> <% if (intPagina!=0){ //se tiene en cuenta la paginacion %> <% } //fin if(pagina!=0) %> <% } //fin else (vSeleccion.size()!=0) %>
Imputación de actos médicos:
Nombre acto médico:   <%=pertamensaje.obtenerMensaje(24).getMensaje() %>
 
<% tamensaje = pertamensaje.obtenerMensaje(10); %><%=tamensaje.getMensaje() %>
Página <%=per.getPaginacion().getNumeroPagina()%> de <%=per.getPaginacion().getNumeroPaginasTotales()%>
Acto Descripción Precio
<%=ttactmed.getActo()%> <%=ttactmed.getDescripcion()%> <%=Utilidades.formatearDouble(per.obtenerPrecioActoMedico(((Usuario)sesion.getAttribute("USUARIO")).getTarifa(), ttactmed.getActo(), ((Usuario)sesion.getAttribute("USUARIO")).getEspecialidad()), PersistenciaParametros.decimales)%>
<%if (per.getPaginacion().esPrimeraPagina()){%> <%}else{%> <%}%> <%if (per.getPaginacion().esUltimaPagina()){%> <%}else{%> <%}%>
primero anteriorprimero anteriorsiguiente últimosiguiente último
 
No tiene franquicias asociadas
 
 
 
 
<% } else { %> <% if (blnEsPolizaIgualaMedico == 1){ %> <%} else { %> <% }%>
 
 
 
<%=pertamensaje.obtenerMensaje(12).getMensaje() %><% tamensaje = pertamensaje.obtenerMensaje(11); %><%=tamensaje.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_odon (pac/facturacion_odon.jsp)"); } %>