/* * Created on 14-dic-2005 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package com.tarisan.control; import com.tarisan.data.Paciente; import com.tarisan.data.Ttrayos; import com.tarisan.data.VTaresanaTamedico; import com.tarisan.log.*; import com.tarisan.util.DES; import com.tarisan.util.Utilidades; import com.tarisan.excepcion.ExcepcionTarisan; import java.sql.*; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Vector; /** * @author Roumen * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class PersistenciaVTaprescaTamedico { /** * El objeto Paginacion que controla el número de filas a mostrar por cada página. */ private Paginacion objPaginacion = new Paginacion(); /** * Obtiene el valor del objeto Paginacion para saber que página se está visualizando. * @return El objeto Paginacion. */ public Paginacion getPaginacion() { return objPaginacion; } public Vector seleccionar_his(String sqlSelect, int pagina, Object[] aCondiciones) throws ExcepcionTarisan { int elementosPaginacion=1; Vector vResultado = new Vector(); VTaresanaTamedico vTaresanaTamedico = null; try { //Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); String url = ""; StringBuffer cadenaConexion = new StringBuffer(); cadenaConexion.append("jdbc:oracle:thin:"); cadenaConexion.append(ParametrosConfiguracion.dbhis_usuario); cadenaConexion.append("/"); cadenaConexion.append(ParametrosConfiguracion.dbhis_password); cadenaConexion.append("@"); cadenaConexion.append(ParametrosConfiguracion.dbhis_maquina); cadenaConexion.append(":"); cadenaConexion.append(ParametrosConfiguracion.dbhis_puerto); cadenaConexion.append(":"); cadenaConexion.append(ParametrosConfiguracion.dbhis_instancia); LogTarisan.logger.log(NivelLog.INFO,cadenaConexion.toString()); url = cadenaConexion.toString(); DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver()); Connection conexion_his = DriverManager.getConnection(url); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion_his, sqlSelect, aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { vTaresanaTamedico = new VTaresanaTamedico(); vTaresanaTamedico.setNombre(rs.getString("NOMBRE")); vTaresanaTamedico.setApellidos(rs.getString("APELLIDOS")); vTaresanaTamedico.setFecha(rs.getDate("FECHA")); vTaresanaTamedico.setAutorizacion(rs.getLong("AUTORIZACION")); vTaresanaTamedico.setPrescriptor(rs.getInt("PRESCRIPTOR")); vResultado.addElement(vTaresanaTamedico); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion_his); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " registros de la tabla de his (" + sqlSelect + ")"); } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la tabla de his: " + sqle + " (" + sqlSelect + ")"); throw (ExcepcionTarisan)sqle; } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la tabla de his: " + sqle + " (" + sqlSelect + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la tabla de his: " + sqle + " (" + sqlSelect + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Throwable sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la tabla de his: " + sqle + " (" + sqlSelect + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } return vResultado; } /** * Selecciona los registros de la JOIN entre tablas TAMEDICO y tapresca_tarisan en función de la sentencia SELECT indicada. * @param sqlSelect La sentencia SELECT de selección. * @param pagina Número de página a mostrar. * @param aCondiciones Array que contiene los parámetros utilizados en la sentencia SELECT. * @return El Vector con los registros seleccionados (todos pertenencientes a la clase VTaprescrTamedico). * @throws */ public Vector seleccionar(String sqlSelect, int pagina, Object[] aCondiciones) throws ExcepcionTarisan { int elementosPaginacion=1; Vector vResultado = new Vector(); VTaresanaTamedico vTaresanaTamedico = null; try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect, aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { vTaresanaTamedico = new VTaresanaTamedico(); vTaresanaTamedico.setNombre(rs.getString("NOMBRE")); vTaresanaTamedico.setApellidos(rs.getString("APELLIDOS")); vTaresanaTamedico.setFecha(rs.getDate("FECHA")); vTaresanaTamedico.setAutorizacion(rs.getLong("AUTORIZACION")); vTaresanaTamedico.setPrescriptor(rs.getInt("PRESCRIPTOR")); vResultado.addElement(vTaresanaTamedico); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " registros de la tabla tapresca_tarisan (" + sqlSelect + ")"); } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de tapresca_tarisan: " + sqle + " (" + sqlSelect + ")"); throw (ExcepcionTarisan)sqle; } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de tapresca_tarisan: " + sqle + " (" + sqlSelect + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de tapresca_tarisan: " + sqle + " (" + sqlSelect + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Throwable sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de tapresca_tarisan: " + sqle + " (" + sqlSelect + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } return vResultado; } public Vector listado_autorizaciones_por_medico(long autorizacion, int intPagina) { Vector resul = new Vector(); StringBuffer strSql = new StringBuffer(); Object [] aCondiciones = new Object[1]; String consulta = ""; strSql.append("select distinct(tapresca_tarisan.AUTORIZACION), tamedico.NOMBRE, tamedico.apellidos, tapresca_tarisan.PRESCRIPTOR, tapresca_tarisan.FECHA"); strSql.append(" from tamedico, tapresca_tarisan"); strSql.append(" where tamedico.MEDICO = tapresca_tarisan.PRESCRIPTOR"); strSql.append(" and tapresca_tarisan.autorizacion = ?"); strSql.append(" order by tapresca_tarisan.fecha desc"); aCondiciones[0]=Long.valueOf(autorizacion); try { resul = this.seleccionar(strSql.toString(), intPagina, aCondiciones); consulta = Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de Tapresca-tamedico (listado_autorizaciones_por_medico): " + e + " (" + consulta + ")"); } return resul; } public Vector listado_analiticas_paciente(String colectivo, String poliza, String orden, Date fecha, int intPagina) { Vector resul = new Vector(); StringBuffer strSql = new StringBuffer(); Object [] aCondiciones = new Object[2]; String consulta = ""; strSql.append("select NOMBRE, APELLIDOS,FECHA, AUTORIZACION, PRESCRIPTOR FROM ("); strSql.append("select NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL FECHA ,TRIM(NOVAHIS.fpersona.NOMBRE) NOMBRE, TRIM(NOVAHIS.fpersona.APELLIDO1) || ' ' ||TRIM(NOVAHIS.fpersona.APELLIDO2) APELLIDOS, REPLACE(NHGP_PETICION_CAB.NHGP_PETC_ID,'-','') AUTORIZACION, NOVAHIS.fpersona.CODIGO_PERSONAL PRESCRIPTOR"); strSql.append(" from NOVAHIS.Co_cli_planes, NOVAHIS.cliente_pagadores,NOVAHIS.NHGP_PETICION_CAB, NOVAHIS.fpersona"); strSql.append(" WHERE NOVAHIS.Co_cli_planes.num_afil = ?"); strSql.append(" and NOVAHIS.Co_cli_planes.CLIPAG_PK = NOVAHIS.cliente_pagadores.CLIPAG_PK"); strSql.append(" and NOVAHIS.cliente_pagadores.CODIGO_CLIENTE = NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PAC"); strSql.append(" and NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL = NOVAHIS.fpersona.CODIGO_PERSONAL"); strSql.append(" and NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_tact = 2"); strSql.append(" and NOVAHIS.NHGP_PETICION_CAB.nhgp_petc_estado = 2"); strSql.append(" and NOVAHIS.NHGP_PETICION_CAB.nhgp_petc_FSOL >= ?"); strSql.append(" GROUP BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL,TRIM(NOVAHIS.fpersona.NOMBRE), TRIM(NOVAHIS.fpersona.APELLIDO1),TRIM(NOVAHIS.fpersona.APELLIDO2), NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID, NOVAHIS.fpersona.CODIGO_PERSONAL"); strSql.append(" ORDER BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL DESC)"); String colec,pol,ord; int longitud; colec = colectivo; pol = poliza; ord = orden; longitud = colec.length(); for(int i = 0; i < 5 - longitud ; i++) { colec = "0" + colec; } longitud = pol.length(); for(int i = 0; i < (12 - longitud); i++) { pol = "0" + pol; } longitud = ord.length(); for(int i = 0; i < (2 - longitud); i++) { ord = "0" + ord; } aCondiciones[0] = colec + "-" + pol + "-" + ord ; aCondiciones[1] = fecha; try { resul = this.seleccionar_his(strSql.toString(), intPagina, aCondiciones); consulta = Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de Tapresca-tamedico (listado_analiticas_paciente): " + e + " (" + consulta + ")"); } return resul; } public Vector listado_analiticas_por_tarjeta(Paciente pac, int intPagina) { Vector resul = new Vector(); StringBuffer strSql = new StringBuffer(); Object [] aCondiciones = new Object[1]; String consulta = ""; strSql.append("select distinct(tapresca_tarisan.AUTORIZACION), tamedico.NOMBRE, tamedico.apellidos, tapresca_tarisan.PRESCRIPTOR, tapresca_tarisan.FECHA"); strSql.append(" from tamedico, tapresca_tarisan"); strSql.append(" where tamedico.MEDICO = tapresca_tarisan.PRESCRIPTOR"); strSql.append(" and tapresca_tarisan.tarjeta = ?"); strSql.append(" and tapresca_tarisan.especialidad = 4"); strSql.append(" order by tapresca_tarisan.fecha desc,"); strSql.append(" tapresca_tarisan.autorizacion desc"); //Paciente pac = (Paciente)sesion.getAttribute("PACIENTE"); if(pac.getDesplazado() == null) pac.setDesplazado(pac.getTarjeta().getEntidadChipcard()); if (pac.getDesplazado().compareTo(ParametrosConfiguracion.bin_chipcard_propios) == 0) { aCondiciones[0]=(Integer.valueOf( pac.getTarjeta().getTarjeta())).toString(); } else { aCondiciones[0]=new String( pac.getTarjeta().getTarjetaDesplazado()); } try { resul = this.seleccionar(strSql.toString(), intPagina, aCondiciones); consulta = Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de Tapresca-tamedico (listado_analiticas_paciente): " + e + " (" + consulta + ")"); } return resul; } public Vector listado_analiticas_por_paciente(String colectivo, String poliza, String orden, Date fecha, Paciente pac, int medico, int intPagina) throws SQLException, ParseException { int elementosPaginacion=1; Vector resul = new Vector(); VTaresanaTamedico vTaresanaTamedico = null; String strMedico = ""+medico; boolean vPeticionConGuion; String tarjeta = ""; if(pac.getDesplazado() == null) pac.setDesplazado(pac.getTarjeta().getEntidadChipcard()); if (pac.getDesplazado().compareTo(ParametrosConfiguracion.bin_chipcard_propios) == 0) { tarjeta=(Integer.valueOf( pac.getTarjeta().getTarjeta())).toString(); } else { tarjeta=new String( pac.getTarjeta().getTarjetaDesplazado()); } String colec,pol,ord; int longitud; colec = colectivo.trim(); pol = poliza.trim(); ord = orden.trim(); longitud = colec.length(); for(int i = 0; i < 5 - longitud ; i++) { colec = "0" + colec; } longitud = pol.length(); for(int i = 0; i < (12 - longitud); i++) { pol = "0" + pol; } longitud = ord.length(); for(int i = 0; i < (2 - longitud); i++) { ord = "0" + ord; } String fecha_texto = fecha.toString(); String prueba = "SELECT NOMBRE, APELLIDOS, FECHA, AUTORIZACION, IGUALADA, PRESCRIPTOR, EXTRACCION FROM (SELECT NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL FECHA, TRIM(NOVAHIS.FPERSONA.NOMBRE) NOMBRE, TRIM(NOVAHIS.FPERSONA.APELLIDO1) || ' ' || TRIM(NOVAHIS.FPERSONA.APELLIDO2) APELLIDOS, NHGP_PETICION_CAB.NHGP_PETC_ID AUTORIZACION, '0' IGUALADA, NOVAHIS.FPERSONA.CODIGO_PERSONAL PRESCRIPTOR, NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO AS EXTRACCION FROM NOVAHIS.CO_CLI_PLANES, NOVAHIS.CLIENTE_PAGADORES, NOVAHIS.NHGP_PETICION_CAB, NOVAHIS.FPERSONA WHERE NOVAHIS.CO_CLI_PLANES.NUM_AFIL = '"+ colec + "-" + pol + "-" + ord +"' AND NOVAHIS.CO_CLI_PLANES.CLIPAG_PK = NOVAHIS.CLIENTE_PAGADORES.CLIPAG_PK AND NOVAHIS.CLIENTE_PAGADORES.CODIGO_CLIENTE = NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PAC AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL = NOVAHIS.FPERSONA.CODIGO_PERSONAL AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_TACT = 2 AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL >=TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd') AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_EPI NOT IN (SELECT NOVAHIS.NHGP_PETIN_CAB.NHGP_ID_PROCESO FROM NOVAHIS.NHGP_PETIN_CAB) GROUP BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL, TRIM(NOVAHIS.FPERSONA.NOMBRE), TRIM(NOVAHIS.FPERSONA.APELLIDO1), TRIM(NOVAHIS.FPERSONA.APELLIDO2), NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID, NOVAHIS.FPERSONA.CODIGO_PERSONAL, NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO UNION SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, ''||TAPRESCA_TARISAN.AUTORIZACION, ''||P.PETICION_GPC IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, C.NHGP_PETC_ESTADO AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P, NOVAHIS.NHGP_PETICION_CAB C WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta +"' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND P.NHGP_REFEXT = TO_CHAR(TAPRESCA_TARISAN.AUTORIZACION) AND TAPRESCA_TARISAN.FECHA >= TO_DATE('"+ fecha_texto + "', 'yyyy-mm-dd') AND P.PETICION_GPC IS NOT NULL AND P.NHGP_ID_PROCESO = C.NHGP_PETC_EPI AND C.NHGP_PETC_TACT = 2 GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, P.PETICION_GPC, TAPRESCA_TARISAN.PRESCRIPTOR, C.NHGP_PETC_ESTADO UNION(SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, ''||TAPRESCA_TARISAN.AUTORIZACION, '0' IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, (SELECT COUNT(TAMOVEXT_ESPIA.AUTORIZACION) FROM TAMOVEXT_ESPIA WHERE TAMOVEXT_ESPIA.AUTORIZACION = TAPRESCA_TARISAN.AUTORIZACION ) AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta + "' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND TAPRESCA_TARISAN.FECHA >= TO_DATE ('" + fecha_texto + "', 'yyyy-mm-dd') GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.PRESCRIPTOR MINUS SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, ''||TAPRESCA_TARISAN.AUTORIZACION, '0' IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, (SELECT COUNT(TAMOVEXT_ESPIA.AUTORIZACION) FROM TAMOVEXT_ESPIA WHERE TAMOVEXT_ESPIA.AUTORIZACION = TAPRESCA_TARISAN.AUTORIZACION ) AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta + "' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND P.NHGP_REFEXT = TO_CHAR(TAPRESCA_TARISAN.AUTORIZACION) AND TAPRESCA_TARISAN.FECHA >= TO_DATE('"+ fecha_texto +"', 'yyyy-mm-dd') GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.PRESCRIPTOR)) ORDER BY FECHA DESC, AUTORIZACION DESC"; //String prueba = "SELECT NOMBRE, APELLIDOS, FECHA, AUTORIZACION, IGUALADA, PRESCRIPTOR, EXTRACCION FROM (SELECT NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL FECHA, TRIM(NOVAHIS.FPERSONA.NOMBRE) NOMBRE, TRIM(NOVAHIS.FPERSONA.APELLIDO1) || ' ' || TRIM(NOVAHIS.FPERSONA.APELLIDO2) APELLIDOS, TO_NUMBER(NHGP_PETICION_CAB.NHGP_PETC_ID) AUTORIZACION, 0 IGUALADA, NOVAHIS.FPERSONA.CODIGO_PERSONAL PRESCRIPTOR, NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO AS EXTRACCION FROM NOVAHIS.CO_CLI_PLANES, NOVAHIS.CLIENTE_PAGADORES, NOVAHIS.NHGP_PETICION_CAB, NOVAHIS.FPERSONA WHERE NOVAHIS.CO_CLI_PLANES.NUM_AFIL = '"+ colec + "-" + pol + "-" + ord +"' AND NOVAHIS.CO_CLI_PLANES.CLIPAG_PK = NOVAHIS.CLIENTE_PAGADORES.CLIPAG_PK AND NOVAHIS.CLIENTE_PAGADORES.CODIGO_CLIENTE = NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PAC AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL = NOVAHIS.FPERSONA.CODIGO_PERSONAL AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_TACT = 2 AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL >=TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd') AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_EPI NOT IN (SELECT NOVAHIS.NHGP_PETIN_CAB.NHGP_ID_PROCESO FROM NOVAHIS.NHGP_PETIN_CAB) GROUP BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL, TRIM(NOVAHIS.FPERSONA.NOMBRE), TRIM(NOVAHIS.FPERSONA.APELLIDO1), TRIM(NOVAHIS.FPERSONA.APELLIDO2), NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID, NOVAHIS.FPERSONA.CODIGO_PERSONAL, NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO UNION SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, TO_NUMBER(P.PETICION_GPC) IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, C.NHGP_PETC_ESTADO AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P, NOVAHIS.NHGP_PETICION_CAB C WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta +"' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND P.NHGP_REFEXT = TO_CHAR(TAPRESCA_TARISAN.AUTORIZACION) AND TAPRESCA_TARISAN.FECHA >= TO_DATE('"+ fecha_texto + "', 'yyyy-mm-dd') AND P.PETICION_GPC IS NOT NULL AND P.NHGP_ID_PROCESO = C.NHGP_PETC_EPI AND C.NHGP_PETC_TACT = 2 GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, P.PETICION_GPC, TAPRESCA_TARISAN.PRESCRIPTOR, C.NHGP_PETC_ESTADO UNION(SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, 0 IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, (SELECT COUNT(TAMOVEXT_ESPIA.AUTORIZACION) FROM TAMOVEXT_ESPIA WHERE TAMOVEXT_ESPIA.AUTORIZACION = TAPRESCA_TARISAN.AUTORIZACION ) AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta + "' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND TAPRESCA_TARISAN.FECHA >= TO_DATE ('" + fecha_texto + "', 'yyyy-mm-dd') GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.PRESCRIPTOR MINUS SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, 0 IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, (SELECT COUNT(TAMOVEXT_ESPIA.AUTORIZACION) FROM TAMOVEXT_ESPIA WHERE TAMOVEXT_ESPIA.AUTORIZACION = TAPRESCA_TARISAN.AUTORIZACION ) AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta + "' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND P.NHGP_REFEXT = TO_CHAR(TAPRESCA_TARISAN.AUTORIZACION) AND TAPRESCA_TARISAN.FECHA >= TO_DATE('"+ fecha_texto +"', 'yyyy-mm-dd') GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.PRESCRIPTOR)) ORDER BY FECHA DESC, AUTORIZACION DESC"; //String prueba = "SELECT NOMBRE, APELLIDOS, FECHA, AUTORIZACION, IGUALADA, PRESCRIPTOR, EXTRACCION FROM (SELECT NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL FECHA, TRIM(NOVAHIS.FPERSONA.NOMBRE) NOMBRE, TRIM(NOVAHIS.FPERSONA.APELLIDO1) || ' ' || TRIM(NOVAHIS.FPERSONA.APELLIDO2) APELLIDOS, TO_NUMBER(NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID) AUTORIZACION, 0 IGUALADA, NOVAHIS.FPERSONA.CODIGO_PERSONAL PRESCRIPTOR, NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO AS EXTRACCION FROM NOVAHIS.CO_CLI_PLANES, NOVAHIS.CLIENTE_PAGADORES, NOVAHIS.NHGP_PETICION_CAB, NOVAHIS.FPERSONA WHERE NOVAHIS.CO_CLI_PLANES.NUM_AFIL = '"+ colec + "-" + pol + "-" + ord +"' AND NOVAHIS.CO_CLI_PLANES.CLIPAG_PK = NOVAHIS.CLIENTE_PAGADORES.CLIPAG_PK AND NOVAHIS.CLIENTE_PAGADORES.CODIGO_CLIENTE = NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PAC AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL = NOVAHIS.FPERSONA.CODIGO_PERSONAL AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_TACT = 2 AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL >=TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd') AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_EPI NOT IN (SELECT NOVAHIS.NHGP_PETIN_CAB.NHGP_ID_PROCESO FROM NOVAHIS.NHGP_PETIN_CAB) GROUP BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL, TRIM(NOVAHIS.FPERSONA.NOMBRE), TRIM(NOVAHIS.FPERSONA.APELLIDO1), TRIM(NOVAHIS.FPERSONA.APELLIDO2), NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID, NOVAHIS.FPERSONA.CODIGO_PERSONAL, NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO UNION SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, TO_NUMBER(P.PETICION_GPC) IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, C.NHGP_PETC_ESTADO AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P, NOVAHIS.NHGP_PETICION_CAB C WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta +"' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND P.NHGP_REFEXT = TO_CHAR(TAPRESCA_TARISAN.AUTORIZACION) AND TAPRESCA_TARISAN.FECHA >= TO_DATE('"+ fecha_texto + "', 'yyyy-mm-dd') AND P.PETICION_GPC IS NOT NULL AND P.NHGP_ID_PROCESO = C.NHGP_PETC_EPI AND C.NHGP_PETC_TACT = 2 GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, P.PETICION_GPC, TAPRESCA_TARISAN.PRESCRIPTOR, C.NHGP_PETC_ESTADO UNION(SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, 0 IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, (SELECT COUNT(TAMOVEXT_ESPIA.AUTORIZACION) FROM TAMOVEXT_ESPIA WHERE TAMOVEXT_ESPIA.AUTORIZACION = TAPRESCA_TARISAN.AUTORIZACION ) AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta + "' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND TAPRESCA_TARISAN.FECHA >= TO_DATE ('" + fecha_texto + "', 'yyyy-mm-dd') GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.PRESCRIPTOR MINUS SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, 0 IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, (SELECT COUNT(TAMOVEXT_ESPIA.AUTORIZACION) FROM TAMOVEXT_ESPIA WHERE TAMOVEXT_ESPIA.AUTORIZACION = TAPRESCA_TARISAN.AUTORIZACION ) AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta + "' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND P.NHGP_REFEXT = TO_CHAR(TAPRESCA_TARISAN.AUTORIZACION) AND TAPRESCA_TARISAN.FECHA >= TO_DATE('"+ fecha_texto +"', 'yyyy-mm-dd') GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.PRESCRIPTOR)) ORDER BY FECHA DESC, AUTORIZACION DESC"; try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, prueba); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, intPagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { DES encrypter = new DES(strMedico); vPeticionConGuion = false; String auto = rs.getString("AUTORIZACION"); String autoEncriptada = encrypter.encrypt(auto); if (auto.indexOf("-") != -1) { vPeticionConGuion = true; auto = auto.replace("-", ""); } String iguaEncriptada = "0"; if (rs.getString("IGUALADA").compareTo("0")!=0){ iguaEncriptada = encrypter.encrypt(rs.getString("IGUALADA")); } vTaresanaTamedico = new VTaresanaTamedico(); vTaresanaTamedico.setNombre(rs.getString("NOMBRE")); vTaresanaTamedico.setApellidos(rs.getString("APELLIDOS")); vTaresanaTamedico.setFecha(rs.getDate("FECHA")); /*vTaresanaTamedico.setAutorizacion(rs.getLong("AUTORIZACION"));*/ vTaresanaTamedico.setAutorizacion(Long.parseLong(auto)); vTaresanaTamedico.setIgualada(rs.getString("IGUALADA")); vTaresanaTamedico.setAutorizacionEncriptada(autoEncriptada); vTaresanaTamedico.setIgualadaEncriptada(iguaEncriptada); vTaresanaTamedico.setPrescriptor(rs.getInt("PRESCRIPTOR")); vTaresanaTamedico.setExtraccion(rs.getInt("EXTRACCION")); vTaresanaTamedico.setPeticionConGuion(vPeticionConGuion); resul.addElement(vTaresanaTamedico); if (intPagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + resul.size() + " registros de la tabla de his (" + prueba + ")"); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de Tapresca-tamedico-Petin-peticion (listado_analiticas_por_paciente): " + e + " (" + prueba + ")"); } return resul; } public Vector listado_analiticas_por_medico(int medico, Date fecha, int intPagina) throws ExcepcionTarisan, SQLException, ParseException { return this.listado_analiticas_por_medico(medico, fecha, "", "", "", intPagina); } public Vector listado_analiticas_por_medico(int medico, Date fecha, String ape1, String ape2, String nom, int intPagina) throws SQLException, ParseException { int elementosPaginacion=1; Vector resul = new Vector(); boolean vPeticionConGuion; VTaresanaTamedico vTaresanaTamedico = null; StringBuffer strSql = new StringBuffer(); String strMedico = ""+medico; String strApe1 = ""; String strApe2 = ""; String strApellidos = "%%"; String strNom = ""; if (!ape1.equals("")){ strApe1 = ape1; } if (!ape2.equals("")){ strApe2 = ape2; } if ((!ape1.equals(""))||(!ape2.equals(""))){ if ((!ape1.equals(""))&&(!ape2.equals(""))){ strApellidos = "%"+ape1+"%"+ape2+"%"; }else if(!ape1.equals("")){ strApellidos = ape1+"%"; }else{ strApellidos = "%"+ape2+"%"; } //strApellidos = ape1+"%"+ape2; } if (!nom.equals("")){ strNom = nom; } Object [] aCondiciones = new Object[8]; String consulta = ""; strSql.append("select NOMBRE, APELLIDOS,FECHA, AUTORIZACION, IGUALADA, PRESCRIPTOR, EXTRACCION FROM ("); strSql.append(" select NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL FECHA ,TRIM(NOVAHIS.CLIENTES.NOMBRE) NOMBRE, TRIM(NOVAHIS.CLIENTES.APELLIDO1) || ' ' ||TRIM(NOVAHIS.CLIENTES.APELLIDO2) APELLIDOS, NHGP_PETICION_CAB.NHGP_PETC_ID AUTORIZACION, '0' IGUALADA, NOVAHIS.fpersona.CODIGO_PERSONAL PRESCRIPTOR, NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO AS EXTRACCION"); strSql.append(" from NOVAHIS.Co_cli_planes, NOVAHIS.cliente_pagadores,NOVAHIS.NHGP_PETICION_CAB, NOVAHIS.fpersona, novahis.csm_medicos_imq, NOVAHIS.CLIENTES"); strSql.append(" WHERE NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL =CSM_MEDICOS_IMQ.MEDICO_CSM"); strSql.append(" and CSM_MEDICOS_IMQ.MEDICO_IMQ = ?"); strSql.append(" and NOVAHIS.Co_cli_planes.CLIPAG_PK = NOVAHIS.cliente_pagadores.CLIPAG_PK"); strSql.append(" and NOVAHIS.cliente_pagadores.CODIGO_CLIENTE = NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PAC"); strSql.append(" AND NOVAHIS.CLIENTE_PAGADORES.CODIGO_CLIENTE = NOVAHIS.CLIENTES.CODIGO_CLIENTE"); strSql.append(" and NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL = NOVAHIS.fpersona.CODIGO_PERSONAL"); strSql.append(" and NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_tact = 2"); //strSql.append(" and NOVAHIS.NHGP_PETICION_CAB.nhgp_petc_estado = 2"); strSql.append(" and NOVAHIS.NHGP_PETICION_CAB.nhgp_petc_FSOL >= ?"); strSql.append(" AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_EPI not IN (SELECT NOVAHIS.NHGP_PETIN_CAB.NHGP_ID_PROCESO FROM NOVAHIS.NHGP_PETIN_CAB)"); strSql.append(" and NOVAHIS.CLIENTES.APELLIDO1 LIKE '%" + strApe1 + "%'"); strSql.append(" and NOVAHIS.CLIENTES.APELLIDO2 LIKE '%" + strApe2 + "%'"); strSql.append(" and NOVAHIS.CLIENTES.NOMBRE LIKE '%" + strNom + "%'"); strSql.append(" GROUP BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL,TRIM(NOVAHIS.CLIENTES.NOMBRE), TRIM(NOVAHIS.CLIENTES.APELLIDO1),TRIM(NOVAHIS.CLIENTES.APELLIDO2), NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID, NOVAHIS.fpersona.CODIGO_PERSONAL, NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO"); strSql.append(" UNION"); strSql.append(" SELECT tapresca_tarisan.FECHA, TTCLIENT.NOMBRE, TTCLIENT.apellidos, ''||tapresca_tarisan.AUTORIZACION, ''||C.NHGP_PETC_ID IGUALADA, tapresca_tarisan.PRESCRIPTOR, C.NHGP_PETC_ESTADO AS EXTRACCION"); strSql.append(" FROM TTCLIENT, TTBENEFI, tapresca_tarisan, novahis.csm_nhgp_petin_cab p, NOVAHIS.NHGP_PETICION_CAB C"); strSql.append(" WHERE TAPRESCA_TARISAN.COLEC = TTBENEFI.COLECTIVO"); strSql.append(" AND TAPRESCA_TARISAN.POLIZA = TTBENEFI.POLIZA"); strSql.append(" AND TAPRESCA_TARISAN.ORDEN = TTBENEFI.ORDEN"); strSql.append(" AND TTBENEFI.CLIENTE = TTCLIENT.CLIENTE"); strSql.append(" and ttbenefi.fecha_baja is null"); strSql.append(" AND TAPRESCA_TARISAN.PRESCRIPTOR = ?"); strSql.append(" AND tapresca_tarisan.especialidad = 4"); strSql.append(" AND P.NHGP_REFEXT = to_char(TAPRESCA_TARISAN.AUTORIZACION)"); strSql.append(" AND P.NHGP_ID_PROCESO = C.NHGP_PETC_EPI"); strSql.append(" AND C.NHGP_PETC_TACT = 2"); strSql.append(" AND TAPRESCA_TARISAN.FECHA >= ?"); strSql.append(" AND P.PETICION_GPC IS NOT NULL"); strSql.append(" AND TTCLIENT.APELLIDOS LIKE '" + strApellidos + "'"); strSql.append(" AND TTCLIENT.NOMBRE LIKE '%" + strNom + "%'"); strSql.append(" GROUP BY tapresca_tarisan.AUTORIZACION, tapresca_tarisan.FECHA, TTCLIENT.NOMBRE, TTCLIENT.apellidos, C.NHGP_PETC_ID, tapresca_tarisan.PRESCRIPTOR, C.NHGP_PETC_ESTADO"); strSql.append(" UNION"); strSql.append(" ( SELECT tapresca_tarisan.FECHA, TTCLIENT.NOMBRE, TTCLIENT.apellidos, ''||tapresca_tarisan.AUTORIZACION, '0' IGUALADA, tapresca_tarisan.PRESCRIPTOR, (SELECT COUNT (TAMOVEXT_ESPIA.AUTORIZACION) FROM TAMOVEXT_ESPIA WHERE TAMOVEXT_ESPIA.AUTORIZACION = TAPRESCA_TARISAN.AUTORIZACION AND TAMOVEXT_ESPIA.PRESCRIPTOR = TAPRESCA_TARISAN.PRESCRIPTOR) AS EXTRACCION"); strSql.append(" FROM TTCLIENT, TTBENEFI, tapresca_tarisan"); strSql.append(" WHERE TAPRESCA_TARISAN.COLEC = TTBENEFI.COLECTIVO"); strSql.append(" AND TAPRESCA_TARISAN.POLIZA = TTBENEFI.POLIZA"); strSql.append(" AND TAPRESCA_TARISAN.ORDEN = TTBENEFI.ORDEN"); strSql.append(" AND TTBENEFI.CLIENTE = TTCLIENT.CLIENTE"); strSql.append(" and ttbenefi.fecha_baja is null"); strSql.append(" AND TAPRESCA_TARISAN.PRESCRIPTOR = ?"); strSql.append(" AND tapresca_tarisan.especialidad = 4"); strSql.append(" AND TAPRESCA_TARISAN.FECHA >= ?"); strSql.append(" AND TTCLIENT.APELLIDOS LIKE '" + strApellidos + "'"); strSql.append(" AND TTCLIENT.NOMBRE LIKE '%" + strNom + "%'"); strSql.append(" GROUP BY tapresca_tarisan.AUTORIZACION, tapresca_tarisan.FECHA, TTCLIENT.NOMBRE, TTCLIENT.apellidos, tapresca_tarisan.PRESCRIPTOR"); strSql.append(" MINUS"); strSql.append(" SELECT tapresca_tarisan.FECHA, TTCLIENT.NOMBRE, TTCLIENT.apellidos, ''||tapresca_tarisan.AUTORIZACION, '0' IGUALADA, tapresca_tarisan.PRESCRIPTOR, (SELECT COUNT (TAMOVEXT_ESPIA.AUTORIZACION) FROM TAMOVEXT_ESPIA WHERE TAMOVEXT_ESPIA.AUTORIZACION = TAPRESCA_TARISAN.AUTORIZACION AND TAMOVEXT_ESPIA.PRESCRIPTOR = TAPRESCA_TARISAN.PRESCRIPTOR) AS EXTRACCION"); strSql.append(" FROM TTCLIENT, TTBENEFI, tapresca_tarisan, novahis.nhgp_petin_cab p"); strSql.append(" WHERE TAPRESCA_TARISAN.COLEC = TTBENEFI.COLECTIVO"); strSql.append(" AND TAPRESCA_TARISAN.POLIZA = TTBENEFI.POLIZA"); strSql.append(" AND TAPRESCA_TARISAN.ORDEN = TTBENEFI.ORDEN"); strSql.append(" AND TTBENEFI.CLIENTE = TTCLIENT.CLIENTE"); strSql.append(" and ttbenefi.fecha_baja is null"); strSql.append(" AND TAPRESCA_TARISAN.PRESCRIPTOR = ?"); strSql.append(" AND tapresca_tarisan.especialidad = 4"); strSql.append(" AND P.NHGP_REFEXT = TO_CHAR (TAPRESCA_TARISAN.AUTORIZACION)"); strSql.append(" AND TAPRESCA_TARISAN.FECHA >= ?"); strSql.append(" AND TTCLIENT.APELLIDOS LIKE '" + strApellidos + "'"); strSql.append(" AND TTCLIENT.NOMBRE LIKE '%" + strNom + "%'"); strSql.append(" GROUP BY tapresca_tarisan.AUTORIZACION, tapresca_tarisan.FECHA, TTCLIENT.NOMBRE, TTCLIENT.apellidos, tapresca_tarisan.PRESCRIPTOR)"); strSql.append(" )"); strSql.append(" ORDER BY fecha DESC, autorizacion DESC"); aCondiciones[0] = medico ; aCondiciones[1] = fecha; aCondiciones[2] = medico ; aCondiciones[3] = fecha; aCondiciones[4] = medico ; aCondiciones[5] = fecha; aCondiciones[6] = medico ; aCondiciones[7] = fecha; try { /*resul = this.seleccionar(strSql.toString(), intPagina, aCondiciones); consulta = Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones);*/ Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, intPagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { DES encrypter = new DES(strMedico); vPeticionConGuion = false; String auto = rs.getString("AUTORIZACION"); String autoEncriptada = encrypter.encrypt(auto); if (auto.indexOf("-") != -1) { vPeticionConGuion = true; auto = auto.replace("-", ""); } String iguaEncriptada = "0"; if (rs.getString("IGUALADA").compareTo("0")!=0){ iguaEncriptada = encrypter.encrypt(rs.getString("IGUALADA")); } vTaresanaTamedico = new VTaresanaTamedico(); vTaresanaTamedico.setNombre(rs.getString("NOMBRE")); vTaresanaTamedico.setApellidos(rs.getString("APELLIDOS")); vTaresanaTamedico.setFecha(rs.getDate("FECHA")); /*vTaresanaTamedico.setAutorizacion(rs.getLong("AUTORIZACION"));*/ vTaresanaTamedico.setAutorizacion(Long.parseLong(auto)); vTaresanaTamedico.setIgualada(rs.getString("IGUALADA")); vTaresanaTamedico.setAutorizacionEncriptada(autoEncriptada); vTaresanaTamedico.setIgualadaEncriptada(iguaEncriptada); vTaresanaTamedico.setPrescriptor(rs.getInt("PRESCRIPTOR")); vTaresanaTamedico.setExtraccion(rs.getInt("EXTRACCION")); vTaresanaTamedico.setPeticionConGuion(vPeticionConGuion); resul.addElement(vTaresanaTamedico); if (intPagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + resul.size() + " registros de la tabla de his (" + strSql.toString() + ")"); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de Tapresca-tamedico-Petin-peticion (listado_analiticas_por_paciente): " + e + " (" + consulta + ")"); } return resul; } public Vector listado_anatomia_por_paciente(String colectivo, String poliza, String orden, Date fecha, Paciente pac, int medico, int intPagina) throws SQLException, ParseException { int elementosPaginacion=1; Vector resul = new Vector(); boolean vPeticionConGuion; VTaresanaTamedico vTaresanaTamedico = null; String strMedico = ""+medico; String tarjeta = ""; if(pac.getDesplazado() == null) pac.setDesplazado(pac.getTarjeta().getEntidadChipcard()); if (pac.getDesplazado().compareTo(ParametrosConfiguracion.bin_chipcard_propios) == 0) { tarjeta=(Integer.valueOf( pac.getTarjeta().getTarjeta())).toString(); } else { tarjeta=new String( pac.getTarjeta().getTarjetaDesplazado()); } String colec,pol,ord; int longitud; colec = colectivo.trim(); pol = poliza.trim(); ord = orden.trim(); longitud = colec.length(); for(int i = 0; i < 5 - longitud ; i++) { colec = "0" + colec; } longitud = pol.length(); for(int i = 0; i < (12 - longitud); i++) { pol = "0" + pol; } longitud = ord.length(); for(int i = 0; i < (2 - longitud); i++) { ord = "0" + ord; } String fecha_texto = fecha.toString(); //String prueba = "SELECT NOMBRE, APELLIDOS, FECHA, AUTORIZACION, IGUALADA, PRESCRIPTOR FROM (SELECT NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL FECHA, TRIM(NOVAHIS.FPERSONA.NOMBRE) NOMBRE, TRIM(NOVAHIS.FPERSONA.APELLIDO1) || ' ' || TRIM(NOVAHIS.FPERSONA.APELLIDO2) APELLIDOS, TO_NUMBER(NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID) AUTORIZACION, 0 IGUALADA, NOVAHIS.FPERSONA.CODIGO_PERSONAL PRESCRIPTOR FROM NOVAHIS.CO_CLI_PLANES, NOVAHIS.CLIENTE_PAGADORES, NOVAHIS.NHGP_PETICION_CAB, NOVAHIS.FPERSONA WHERE NOVAHIS.CO_CLI_PLANES.NUM_AFIL = '"+ colec + "-" + pol + "-" + ord +"' AND NOVAHIS.CO_CLI_PLANES.CLIPAG_PK = NOVAHIS.CLIENTE_PAGADORES.CLIPAG_PK AND NOVAHIS.CLIENTE_PAGADORES.CODIGO_CLIENTE = NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PAC AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL = NOVAHIS.FPERSONA.CODIGO_PERSONAL AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_TACT = 2 AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO = 2 AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL >=TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd') AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_EPI NOT IN (SELECT NOVAHIS.NHGP_PETIN_CAB.NHGP_ID_PROCESO FROM NOVAHIS.NHGP_PETIN_CAB) GROUP BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL, TRIM(NOVAHIS.FPERSONA.NOMBRE), TRIM(NOVAHIS.FPERSONA.APELLIDO1), TRIM(NOVAHIS.FPERSONA.APELLIDO2), NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID, NOVAHIS.FPERSONA.CODIGO_PERSONAL UNION SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, TO_NUMBER(P.PETICION_GPC) IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta +"' AND TAPRESCA_TARISAN.ESPECIALIDAD = 5 AND P.NHGP_REFEXT = TO_CHAR(TAPRESCA_TARISAN.AUTORIZACION) AND TAPRESCA_TARISAN.FECHA >= TO_DATE('"+ fecha_texto + "', 'yyyy-mm-dd') AND P.PETICION_GPC IS NOT NULL GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, P.PETICION_GPC, TAPRESCA_TARISAN.PRESCRIPTOR UNION(SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, 0 IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR FROM TAMEDICO, TAPRESCA_TARISAN WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta + "' AND TAPRESCA_TARISAN.ESPECIALIDAD = 5 AND TAPRESCA_TARISAN.FECHA >= TO_DATE ('" + fecha_texto + "', 'yyyy-mm-dd') GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.PRESCRIPTOR MINUS SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, 0 IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta + "' AND TAPRESCA_TARISAN.ESPECIALIDAD = 5 AND P.NHGP_REFEXT = TO_CHAR(TAPRESCA_TARISAN.AUTORIZACION) AND TAPRESCA_TARISAN.FECHA >= TO_DATE('"+ fecha_texto +"', 'yyyy-mm-dd') GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.PRESCRIPTOR)) ORDER BY FECHA DESC, AUTORIZACION DESC"; String prueba = "SELECT NOMBRE,"; prueba += " APELLIDOS,"; prueba += " FECHA,"; prueba += " AUTORIZACION,"; prueba += " IGUALADA,"; prueba += " PRESCRIPTOR,"; prueba += " NHGP_PETC_EPI EPISODIO"; prueba += " FROM ( SELECT NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL FECHA,"; // -- NO VINCULADOS prueba += " TRIM (NOVAHIS.FPERSONA.NOMBRE) NOMBRE,"; prueba += " TRIM (NOVAHIS.FPERSONA.APELLIDO1)"; prueba += " || ' '"; prueba += " || TRIM (NOVAHIS.FPERSONA.APELLIDO2)"; prueba += " APELLIDOS,"; prueba += " NHGP_PETICION_CAB.NHGP_PETC_ID"; prueba += " AUTORIZACION,"; prueba += " '0' IGUALADA,"; prueba += " NOVAHIS.FPERSONA.CODIGO_PERSONAL PRESCRIPTOR,"; prueba += " NHGP_PETC_EPI"; prueba += " FROM NOVAHIS.CO_CLI_PLANES,"; prueba += " NOVAHIS.CLIENTE_PAGADORES,"; prueba += " NOVAHIS.NHGP_PETICION_CAB,"; prueba += " NOVAHIS.FPERSONA"; prueba += " WHERE NOVAHIS.CO_CLI_PLANES.NUM_AFIL = '"+ colec + "-" + pol + "-" + ord +"'"; prueba += " AND NOVAHIS.CO_CLI_PLANES.CLIPAG_PK ="; prueba += " NOVAHIS.CLIENTE_PAGADORES.CLIPAG_PK"; prueba += " AND NOVAHIS.CLIENTE_PAGADORES.CODIGO_CLIENTE ="; prueba += " NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PAC"; prueba += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL ="; prueba += " NOVAHIS.FPERSONA.CODIGO_PERSONAL"; prueba += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO = 2"; prueba += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL >="; prueba += " TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd')"; prueba += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_TAPA IS NOT NULL"; prueba += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_EPI NOT IN"; prueba += " ( SELECT NOVAHIS.CSM_NHGP_PETIN_CAB.NHGP_ICD9"; prueba += " FROM NOVAHIS.CSM_NHGP_PETIN_CAB WHERE NOVAHIS.CSM_NHGP_PETIN_CAB.NHGP_TIPO = 2"; prueba += " )"; prueba += " GROUP BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL,"; prueba += " TRIM (NOVAHIS.FPERSONA.NOMBRE),"; prueba += " TRIM (NOVAHIS.FPERSONA.APELLIDO1),"; prueba += " TRIM (NOVAHIS.FPERSONA.APELLIDO2),"; prueba += " NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID,"; prueba += " NOVAHIS.FPERSONA.CODIGO_PERSONAL,"; prueba += " NHGP_PETICION_CAB.NHGP_PETC_EPI"; prueba += " UNION"; prueba += " SELECT TAPRESCA_TARISAN.FECHA,"; // -- vinculadas por antonio prueba += " TAMEDICO.NOMBRE,"; prueba += " TAMEDICO.APELLIDOS,"; prueba += " ''||TAPRESCA_TARISAN.AUTORIZACION,"; prueba += " ''||P.PETICION_GPC IGUALADA,"; prueba += " TAPRESCA_TARISAN.PRESCRIPTOR,"; prueba += " DECODE(NHGP_ICD9,NULL,0,NHGP_ICD9) EPISODIO"; prueba += " FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P"; prueba += " WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR"; prueba += " AND TAPRESCA_TARISAN.TARJETA like '%" + tarjeta +"%'"; prueba += " AND TAPRESCA_TARISAN.ESPECIALIDAD = 5"; prueba += " AND P.NHGP_REFEXT = TO_CHAR (TAPRESCA_TARISAN.AUTORIZACION)"; prueba += " AND TAPRESCA_TARISAN.FECHA >="; prueba += " TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd')"; prueba += " AND P.PETICION_GPC IS NOT NULL"; prueba += " GROUP BY TAPRESCA_TARISAN.AUTORIZACION,"; prueba += " TAPRESCA_TARISAN.FECHA,"; prueba += " TAMEDICO.NOMBRE,"; prueba += " TAMEDICO.APELLIDOS,"; prueba += " P.PETICION_GPC,"; prueba += " TAPRESCA_TARISAN.PRESCRIPTOR,NHGP_ICD9"; prueba += " UNION"; prueba += " (SELECT TAPRESCA_TARISAN.FECHA,"; // -- todas las de tarisan menos las vinculadas por tarisan prueba += " TAMEDICO.NOMBRE,"; prueba += " TAMEDICO.APELLIDOS,"; prueba += " ''||TAPRESCA_TARISAN.AUTORIZACION,"; prueba += " '0' IGUALADA,"; prueba += " TAPRESCA_TARISAN.PRESCRIPTOR,"; prueba += " 0 EPISODIO"; prueba += " FROM TAMEDICO, TAPRESCA_TARISAN"; prueba += " WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR"; prueba += " AND TAPRESCA_TARISAN.TARJETA like '%" + tarjeta +"%'"; prueba += " AND TAPRESCA_TARISAN.ESPECIALIDAD = 5"; prueba += " AND TAPRESCA_TARISAN.FECHA >="; prueba += " TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd')"; prueba += " GROUP BY TAPRESCA_TARISAN.AUTORIZACION,"; prueba += " TAPRESCA_TARISAN.FECHA,"; prueba += " TAMEDICO.NOMBRE,"; prueba += " TAMEDICO.APELLIDOS,"; prueba += " TAPRESCA_TARISAN.PRESCRIPTOR"; prueba += " MINUS"; prueba += " SELECT TAPRESCA_TARISAN.FECHA,"; prueba += " TAMEDICO.NOMBRE,"; prueba += " TAMEDICO.APELLIDOS,"; prueba += " ''||TAPRESCA_TARISAN.AUTORIZACION,"; prueba += " '0' IGUALADA,"; prueba += " TAPRESCA_TARISAN.PRESCRIPTOR,"; prueba += " 0"; prueba += " FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P"; prueba += " WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR"; prueba += " AND TAPRESCA_TARISAN.TARJETA like '%" + tarjeta +"%'"; prueba += " AND TAPRESCA_TARISAN.ESPECIALIDAD = 5"; prueba += " AND P.NHGP_REFEXT = TO_CHAR (TAPRESCA_TARISAN.AUTORIZACION)"; prueba += " AND TAPRESCA_TARISAN.FECHA >="; prueba += " TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd')"; prueba += " GROUP BY TAPRESCA_TARISAN.AUTORIZACION,"; prueba += " TAPRESCA_TARISAN.FECHA,"; prueba += " TAMEDICO.NOMBRE,"; prueba += " TAMEDICO.APELLIDOS,"; prueba += " TAPRESCA_TARISAN.PRESCRIPTOR)"; prueba += " )"; prueba += " ORDER BY FECHA DESC, AUTORIZACION DESC"; try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, prueba); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, intPagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { DES encrypter = new DES(strMedico); vPeticionConGuion = false; String auto = rs.getString("AUTORIZACION"); String autoEncriptada = encrypter.encrypt(auto); if (auto.indexOf("-") != -1) { vPeticionConGuion = true; auto = auto.replace("-", ""); } String iguaEncriptada = "0"; if (rs.getString("IGUALADA").compareTo("0")!=0){ iguaEncriptada = encrypter.encrypt(rs.getString("IGUALADA")); } String epiEncriptado = "0"; if (rs.getString("EPISODIO").compareTo("0")!=0){ epiEncriptado = encrypter.encrypt(rs.getString("EPISODIO")); } vTaresanaTamedico = new VTaresanaTamedico(); vTaresanaTamedico.setNombre(rs.getString("NOMBRE")); vTaresanaTamedico.setApellidos(rs.getString("APELLIDOS")); vTaresanaTamedico.setFecha(rs.getDate("FECHA")); /*vTaresanaTamedico.setAutorizacion(rs.getLong("AUTORIZACION"));*/ vTaresanaTamedico.setAutorizacion(Long.parseLong(auto)); vTaresanaTamedico.setIgualada(rs.getString("IGUALADA")); vTaresanaTamedico.setAutorizacionEncriptada(autoEncriptada); vTaresanaTamedico.setIgualadaEncriptada(iguaEncriptada); vTaresanaTamedico.setPrescriptor(rs.getInt("PRESCRIPTOR")); vTaresanaTamedico.setEpisodio(rs.getInt("EPISODIO")); vTaresanaTamedico.setEpisodioEncriptado(epiEncriptado); vTaresanaTamedico.setPeticionConGuion(vPeticionConGuion); resul.addElement(vTaresanaTamedico); if (intPagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + resul.size() + " registros de la tabla de his (" + prueba + ")"); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de Tapresca-tamedico-Petin-peticion (listado_anatomia_por_paciente): " + e + " (" + prueba + ")"); } return resul; } public Vector listado_anatomia_por_medico(int medico, Date fecha, int intPagina) throws SQLException, ParseException { int elementosPaginacion=1; boolean vPeticionConGuion; Vector resul = new Vector(); VTaresanaTamedico vTaresanaTamedico = null; //StringBuffer strSql = new StringBuffer(); String strMedico = ""+medico; String fecha_texto = fecha.toString(); //Object [] aCondiciones = new Object[8]; String consulta = ""; consulta += "SELECT NOMBRE,"; consulta += " APELLIDOS,"; consulta += " FECHA,"; consulta += " AUTORIZACION,"; consulta += " IGUALADA,"; consulta += " PRESCRIPTOR,"; consulta += " EPISODIO"; consulta += " FROM ( SELECT NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL FECHA,"; consulta += " TRIM (NOVAHIS.CLIENTES.NOMBRE) NOMBRE,"; consulta += " TRIM (NOVAHIS.CLIENTES.APELLIDO1)"; consulta += " || ' '"; consulta += " || TRIM (NOVAHIS.CLIENTES.APELLIDO2)"; consulta += " APELLIDOS,"; consulta += " NHGP_PETICION_CAB.NHGP_PETC_ID"; consulta += " AUTORIZACION,"; consulta += " '0' IGUALADA,"; consulta += " NOVAHIS.CSM_MEDICOS_IMQ.MEDICO_IMQ prescriptor,"; consulta += " NHGP_PETC_EPI EPISODIO"; consulta += " FROM NOVAHIS.CO_CLI_PLANES,"; consulta += " NOVAHIS.CLIENTE_PAGADORES,"; consulta += " NOVAHIS.NHGP_PETICION_CAB,"; consulta += " NOVAHIS.FPERSONA,"; consulta += " novahis.csm_medicos_imq,"; consulta += " NOVAHIS.CLIENTES"; consulta += " WHERE NOVAHIS.CO_CLI_PLANES.CLIPAG_PK ="; consulta += " NOVAHIS.CLIENTE_PAGADORES.CLIPAG_PK"; consulta += " AND NOVAHIS.CLIENTE_PAGADORES.CODIGO_CLIENTE ="; consulta += " NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PAC"; consulta += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL ="; consulta += " NOVAHIS.FPERSONA.CODIGO_PERSONAL"; consulta += " AND NOVAHIS.CLIENTE_PAGADORES.CODIGO_CLIENTE ="; consulta += " NOVAHIS.CLIENTES.CODIGO_CLIENTE "; consulta += " AND novahis.fpersona.codigo_personal ="; consulta += " novahis.csm_medicos_imq.medico_csm"; consulta += " AND novahis.csm_medicos_imq.medico_imq = " + medico; consulta += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO = 2"; consulta += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL >="; consulta += " TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd')"; consulta += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_TAPA IS NOT NULL"; consulta += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_EPI NOT IN"; consulta += " (SELECT NOVAHIS.CSM_NHGP_PETIN_CAB.NHGP_ICD9"; consulta += " FROM NOVAHIS.CSM_NHGP_PETIN_CAB"; consulta += " WHERE NOVAHIS.CSM_NHGP_PETIN_CAB.NHGP_TIPO = 2)"; consulta += " GROUP BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL,"; consulta += " TRIM (NOVAHIS.CLIENTES.NOMBRE),"; consulta += " TRIM (NOVAHIS.CLIENTES.APELLIDO1),"; consulta += " TRIM (NOVAHIS.CLIENTES.APELLIDO2),"; consulta += " NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID,"; consulta += " NOVAHIS.CSM_MEDICOS_IMQ.MEDICO_IMQ,"; consulta += " NHGP_PETICION_CAB.NHGP_PETC_EPI"; consulta += " UNION"; consulta += " SELECT TAPRESCA_TARISAN.FECHA,"; consulta += " TTCLIENT.NOMBRE,"; consulta += " TTCLIENT.APELLIDOS,"; consulta += " ''||TAPRESCA_TARISAN.AUTORIZACION,"; consulta += " ''||P.PETICION_GPC IGUALADA,"; consulta += " TAPRESCA_TARISAN.PRESCRIPTOR,"; consulta += " DECODE(NHGP_ICD9,NULL,0,NHGP_ICD9) EPISODIO"; consulta += " FROM TTCLIENT, TTBENEFI, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P"; consulta += " WHERE TAPRESCA_TARISAN.COLEC = TTBENEFI.COLECTIVO"; consulta += " AND TAPRESCA_TARISAN.POLIZA = TTBENEFI.POLIZA"; consulta += " AND TAPRESCA_TARISAN.ORDEN = TTBENEFI.ORDEN"; consulta += " AND TTBENEFI.CLIENTE = TTCLIENT.CLIENTE"; consulta += " AND TTBENEFI.FECHA_BAJA IS NULL"; consulta += " AND TAPRESCA_TARISAN.PRESCRIPTOR = " + medico; consulta += " AND TAPRESCA_TARISAN.ESPECIALIDAD = 5"; consulta += " AND P.NHGP_REFEXT = TO_CHAR (TAPRESCA_TARISAN.AUTORIZACION)"; consulta += " AND TAPRESCA_TARISAN.FECHA >="; consulta += " TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd')"; consulta += " AND P.PETICION_GPC IS NOT NULL"; consulta += " GROUP BY TAPRESCA_TARISAN.AUTORIZACION,"; consulta += " TAPRESCA_TARISAN.FECHA,"; consulta += " TTCLIENT.NOMBRE,"; consulta += " TTCLIENT.APELLIDOS,"; consulta += " P.PETICION_GPC,"; consulta += " TAPRESCA_TARISAN.PRESCRIPTOR,NHGP_ICD9"; consulta += " UNION"; consulta += " ( SELECT TAPRESCA_TARISAN.FECHA,"; consulta += " TTCLIENT.NOMBRE,"; consulta += " TTCLIENT.APELLIDOS,"; consulta += " ''||TAPRESCA_TARISAN.AUTORIZACION AUTORIZACION,"; consulta += " '0' IGUALADA,"; consulta += " TAPRESCA_TARISAN.PRESCRIPTOR,"; consulta += " 0 EPISODIO"; consulta += " FROM TTCLIENT, TTBENEFI, TAPRESCA_TARISAN"; consulta += " WHERE TAPRESCA_TARISAN.COLEC = TTBENEFI.COLECTIVO"; consulta += " AND TAPRESCA_TARISAN.POLIZA = TTBENEFI.POLIZA"; consulta += " AND TAPRESCA_TARISAN.ORDEN = TTBENEFI.ORDEN"; consulta += " AND TTBENEFI.CLIENTE = TTCLIENT.CLIENTE"; consulta += " AND TTBENEFI.FECHA_BAJA IS NULL"; consulta += " AND TAPRESCA_TARISAN.PRESCRIPTOR = " + medico; consulta += " AND TAPRESCA_TARISAN.ESPECIALIDAD = 5"; consulta += " AND TAPRESCA_TARISAN.FECHA >="; consulta += " TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd')"; consulta += " GROUP BY TAPRESCA_TARISAN.AUTORIZACION,"; consulta += " TAPRESCA_TARISAN.FECHA,"; consulta += " TTCLIENT.NOMBRE,"; consulta += " TTCLIENT.APELLIDOS,"; consulta += " TAPRESCA_TARISAN.PRESCRIPTOR"; consulta += " MINUS"; consulta += " SELECT TAPRESCA_TARISAN.FECHA,"; consulta += " TTCLIENT.NOMBRE,"; consulta += " TTCLIENT.APELLIDOS,"; consulta += " ''||TAPRESCA_TARISAN.AUTORIZACION AUTORIZACION,"; consulta += " '0' IGUALADA,"; consulta += " TAPRESCA_TARISAN.PRESCRIPTOR,"; consulta += " 0 EPISODIO"; consulta += " FROM TTCLIENT, TTBENEFI, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P"; consulta += " WHERE TAPRESCA_TARISAN.COLEC = TTBENEFI.COLECTIVO"; consulta += " AND TAPRESCA_TARISAN.POLIZA = TTBENEFI.POLIZA"; consulta += " AND TAPRESCA_TARISAN.ORDEN = TTBENEFI.ORDEN"; consulta += " AND TTBENEFI.CLIENTE = TTCLIENT.CLIENTE"; consulta += " AND TTBENEFI.FECHA_BAJA IS NULL"; consulta += " AND TAPRESCA_TARISAN.ESPECIALIDAD = 5"; consulta += " AND P.NHGP_REFEXT = TO_CHAR (TAPRESCA_TARISAN.AUTORIZACION)"; consulta += " AND TAPRESCA_TARISAN.PRESCRIPTOR = " + medico; consulta += " AND TAPRESCA_TARISAN.FECHA >="; consulta += " TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd')"; consulta += " GROUP BY TAPRESCA_TARISAN.AUTORIZACION,"; consulta += " TAPRESCA_TARISAN.FECHA,"; consulta += " TTCLIENT.NOMBRE,"; consulta += " TTCLIENT.APELLIDOS,"; consulta += " TAPRESCA_TARISAN.PRESCRIPTOR)"; consulta += " ORDER BY FECHA DESC, AUTORIZACION DESC)"; try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, consulta/*, aCondiciones*/); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, intPagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { DES encrypter = new DES(strMedico); vPeticionConGuion = false; String auto = rs.getString("AUTORIZACION"); String autoEncriptada = encrypter.encrypt(auto); if (auto.indexOf("-") != -1) { vPeticionConGuion = true; auto = auto.replace("-", ""); } String iguaEncriptada = "0"; if (rs.getString("IGUALADA").compareTo("0")!=0){ iguaEncriptada = encrypter.encrypt(rs.getString("IGUALADA")); } String epiEncriptado = "0"; if (rs.getString("EPISODIO").compareTo("0")!=0){ epiEncriptado = encrypter.encrypt(rs.getString("EPISODIO")); } vTaresanaTamedico = new VTaresanaTamedico(); vTaresanaTamedico.setNombre(rs.getString("NOMBRE")); vTaresanaTamedico.setApellidos(rs.getString("APELLIDOS")); vTaresanaTamedico.setFecha(rs.getDate("FECHA")); /*vTaresanaTamedico.setAutorizacion(rs.getLong("AUTORIZACION"));*/ vTaresanaTamedico.setAutorizacion(Long.parseLong(auto)); vTaresanaTamedico.setIgualada(rs.getString("IGUALADA")); vTaresanaTamedico.setAutorizacionEncriptada(autoEncriptada); vTaresanaTamedico.setIgualadaEncriptada(iguaEncriptada); vTaresanaTamedico.setPrescriptor(rs.getInt("PRESCRIPTOR")); vTaresanaTamedico.setEpisodio(rs.getInt("EPISODIO")); vTaresanaTamedico.setEpisodioEncriptado(epiEncriptado); vTaresanaTamedico.setPeticionConGuion(vPeticionConGuion); resul.addElement(vTaresanaTamedico); if (intPagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + resul.size() + " registros de la tabla de his (" + consulta + ")"); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de Tapresca-tamedico-Petin-peticion (listado_anatomia_por_medico): " + e + " (" + consulta + ")"); } return resul; } }