%@ 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" %>
<%
LogTarisan.logger.log(NivelLog.INFO, "Inicio página de facturacion_estoma (pac/facturacion_estoma.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, "Paciente borrado ¿Ha pulsado 'history back'?");
response.sendRedirect(request.getContextPath() + "/jsp/pac/gestor.jsp");
}
//else if ( ((Paciente)sesion.getAttribute("PACIENTE")).getDesplazado().compareTo(ParametrosConfiguracion.bin_chipcard_propios) != 0 )
else if ( ((Paciente)sesion.getAttribute("PACIENTE")).getDesplazado() != (ParametrosConfiguracion.bin_chipcard_propios))
{
LogTarisan.logger.log(NivelLog.INFO, "Sesión invalidada");
response.sendRedirect(request.getContextPath() + "/jsp/pac/facturacion_chipcard.jsp?x=0&pagina=1");
}
else
{
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;
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)
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"));
}
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";
%>
<%
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
Vector vSeleccion = per.obtenerActosAutoprescribibles(intPagina, ((Usuario)sesion.getAttribute("USUARIO")).getEspecialidad(), ((Paciente)sesion.getAttribute("PACIENTE")).getTarjeta().getContrato(), intColectivonew, dblPolizanew,((Usuario)sesion.getAttribute("USUARIO")).getTarifa(), strCampoNombre);
if (vSeleccion.size()==0) //No se han encontrado datos
{
%>
No parece tener cobertura dental...
<%
}
else
{
if (intPagina != 0){ //se tiene en cuenta la paginacion
%>
Página <%=per.getPaginacion().getNumeroPagina()%> de <%=per.getPaginacion().getNumeroPaginasTotales()%>
<%
}
%>
Acto
Descripción
Precio
<%
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)
{
%>
<%
}
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 facturacion_estoma (pac/facturacion_estoma.jsp)");
%>