/** * @(#) Persistenciattactmed.java */ package com.tarisan.control; //import com.tarisan.data.Tagruana; import com.tarisan.data.Ttactmed; import com.tarisan.data.TtactmedGPC; import com.tarisan.log.*; import com.tarisan.util.Utilidades; import com.tarisan.excepcion.ExcepcionTarisan; import java.sql.*; import java.util.Vector; /** * Controla los accesos a la persistencia para la entidad ttactmed. * @author Dpto. Informática. * @version 1.0, 24/09/2003 */ public class PersistenciaTtactmed { /** * 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; } /** * Selecciona los registros de la tabla ttactmed 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 parametros utilizados en la sentencia SELECT. * @return El Vector con los registros seleccionados (todos pertenencientes a la clase ttactmed). * @throws */ public Vector seleccionar(String sqlSelect, int pagina, Object[] aCondiciones) throws ExcepcionTarisan { int elementosPaginacion=1; Vector vResultado = new Vector(); Ttactmed ttactmed = 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())) { ttactmed = new Ttactmed(); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setPrecio(rs.getInt("PRECIO")); vResultado.addElement(ttactmed); 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 TTACTMED (" + sqlSelect + ")"); } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + sqlSelect + ")"); throw (ExcepcionTarisan)sqle; } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + sqlSelect + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + sqlSelect + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Throwable sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + sqlSelect + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } return vResultado; } public String obtenerNombreActo(int codActo, int especialidad) throws ExcepcionTarisan { String resultado = ""; StringBuffer strSql = new StringBuffer(); Object[] aCondiciones = new Object[2]; try { strSql.append("Select descripcion"); strSql.append(" from TTACTMED"); strSql.append(" where especialidad = ?"); strSql.append(" and acto = ?"); aCondiciones[0] = Integer.valueOf(especialidad); aCondiciones[1] = Integer.valueOf(codActo); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); while(rs.next()) { resultado = rs.getString("DESCRIPCION"); } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionado el acto: " + resultado + " registros de la tabla TTACTMED (" + strSql.toString() + ")"); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } return resultado; } public Vector obtenerActosPeticionAutorizacion(int pagina, int especialidad, String busquedaActo) throws ExcepcionTarisan { return this.obtenerActosPeticionAutorizacion(pagina, especialidad, busquedaActo, 0); } /** * Selecciona los actos médicos de la tabla TTACTMED para realizar la petición de autorización. * @param pagina Número de página a mostrar. * @param especialidad Código de la especialidad. * @param busquedaActo Valor utilizado para filtrar las busquedas de los actos médicos por su nombre. En el caso de que se quieran obtener todos los actos médicos, este parámetro estará inicializado a vacio. * @return El Vector con los registros seleccionados (todos pertenencientes a la clase ttactmed). * @throws */ public Vector obtenerActosPeticionAutorizacion(int pagina, int especialidad, String busquedaActo, int tarifa) throws ExcepcionTarisan { int elementosPaginacion=1; Vector vResultado = new Vector(); Ttactmed ttactmed = null; StringBuffer strSql = new StringBuffer(); Object[] aCondiciones; try { strSql.append("SELECT TTACTMED.ACTO, DESCRIPCION"); strSql.append(" FROM TTACTMED, TATARIFA"); strSql.append(" WHERE TTACTMED.ESPECIALIDAD = ?"); strSql.append(" AND TTACTMED.ACTO <> ?"); strSql.append(" AND TTACTMED.AUTOPRESCRIPCION <> 'S'"); strSql.append(" AND TTACTMED.ACTO = TATARIFA.ACTO"); strSql.append(" AND TTACTMED.ESPECIALIDAD = TATARIFA.ESPECIALIDAD"); strSql.append(" AND TATARIFA.TARIFA = "+tarifa); strSql.append(" AND TATARIFA.IMPORTE > 0"); //comprobamos si se trata de una busqueda de acto medico de especialidad if (!busquedaActo.equalsIgnoreCase("")) { if (busquedaActo.endsWith("*")) busquedaActo=busquedaActo.replace('*', '%'); else busquedaActo="%" + busquedaActo + "%"; strSql.append(" AND DESCRIPCION LIKE ?"); aCondiciones = new Object[3]; aCondiciones[2] = busquedaActo; } else aCondiciones = new Object[2]; aCondiciones[0] = Integer.valueOf(especialidad); aCondiciones[1] = Integer.valueOf(ParametrosConfiguracion.codigoIgualas); strSql.append(" ORDER BY DESCRIPCION"); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setActo(rs.getInt("ACTO")); vResultado.addElement(ttactmed); 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 TTACTMED (" + strSql.toString() + ")"); } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw (ExcepcionTarisan)sqle; } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Throwable sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } return vResultado; } public Vector obtenerActosPeticionAutorizacion(int pagina, int especialidad, int contratoPoliza, long colectivo, double poliza, String busquedaActo) throws ExcepcionTarisan { return this.obtenerActosPeticionAutorizacion(pagina, especialidad, contratoPoliza, colectivo, poliza, busquedaActo, 0); } /** * Selecciona los actos médicos de la tabla ttactmed para realizar la petición de autorización. * @param pagina Número de página a mostrar. * @param especialidad Código de la especialidad. * @param busquedaActo Valor utilizado para filtrar las busquedas de los actos médicos por su nombre. En el caso de que se quieran obtener todos los actos médicos, este parámetro estará inicializado a vacio. * @return El Vector con los registros seleccionados (todos pertenencientes a la clase ttactmed). * @throws */ public Vector obtenerActosPeticionAutorizacion(int pagina, int especialidad, int contratoPoliza, long colectivo, double poliza, String busquedaActo, int tarifa) throws ExcepcionTarisan { int elementosPaginacion=1; Vector vResultado = new Vector(); Ttactmed ttactmed = null; StringBuffer strSql = new StringBuffer(); Object[] aCondiciones; int contador = 0; try { /* * *strSql.append("SELECT ACTO, DESCRIPCION"); strSql.append(" FROM ttactmed"); strSql.append(" WHERE ESPECIALIDAD = ?"); strSql.append(" AND ACTO <> ?"); strSql.append(" AND PRECIO > 0"); strSql.append(" AND AUTOPRESCRIP <> 'S'"); */ strSql.append("SELECT TTACTMED.ACTO, TTACTMED.DESCRIPCION"); strSql.append(" FROM TTACTMED, TATARIFA"); strSql.append(" WHERE TTACTMED.ESPECIALIDAD = ?"); strSql.append(" AND TTACTMED.ACTO <> ?"); strSql.append(" AND TTACTMED.AUTOPRESCRIPCION <> 'S'"); strSql.append(" AND TTACTMED.ACTO = TATARIFA.ACTO"); strSql.append(" AND TTACTMED.ESPECIALIDAD = TATARIFA.ESPECIALIDAD"); strSql.append(" AND TATARIFA.TARIFA = "+tarifa); strSql.append(" AND TATARIFA.IMPORTE > 0"); //comprobamos si se trata de una busqueda de acto medico de especialidad if (!busquedaActo.equalsIgnoreCase("")) { if (busquedaActo.endsWith("*")) busquedaActo=busquedaActo.replace('*', '%'); else busquedaActo="%" + busquedaActo + "%"; strSql.append(" AND DESCRIPCION LIKE ?"); aCondiciones = new Object[21]; aCondiciones[2] = busquedaActo; contador = 3; } else { aCondiciones = new Object[20]; contador = 2; } //INCLUIDOS EN TADERPOL strSql.append(" AND TTACTMED.ACTO IN"); strSql.append(" ("); strSql.append(" SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0"); strSql.append(" UNION"); //INCLUIDOS EN TADERCOL NO EXCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1)"); strSql.append(" UNION"); //INCLUIDOS EN TADERCAC Y NO EXCLUIDOS EN TADERCOL Y TADERPOL strSql.append(" SELECT ACTO FROM TADERCAC WHERE TADERCAC.CONTRATO = ? AND TADERCAC.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS DE TADERCOL Y TADERPOL //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1"); strSql.append(" UNION"); //EXCLUIDOS EN TADERCOL NO INCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 1 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0)"); strSql.append(" )"); strSql.append(" )"); aCondiciones[0] = Integer.valueOf(especialidad); aCondiciones[1] = Integer.valueOf(ParametrosConfiguracion.codigoIgualas); aCondiciones[contador + 0] = Long.valueOf(colectivo); aCondiciones[contador + 1] = Double.valueOf(poliza); aCondiciones[contador + 2] = Integer.valueOf(especialidad); aCondiciones[contador + 3] = Long.valueOf(colectivo); aCondiciones[contador + 4] = Integer.valueOf(especialidad); aCondiciones[contador + 5] = Long.valueOf(colectivo); aCondiciones[contador + 6] = Double.valueOf(poliza); aCondiciones[contador + 7] = Integer.valueOf(especialidad); aCondiciones[contador + 8] = Integer.valueOf(contratoPoliza); aCondiciones[contador + 9] = Integer.valueOf(especialidad); aCondiciones[contador + 10] = Long.valueOf(colectivo); aCondiciones[contador + 11] = Double.valueOf(poliza); aCondiciones[contador + 12] = Integer.valueOf(especialidad); aCondiciones[contador + 13] = Long.valueOf(colectivo); aCondiciones[contador + 14] = Integer.valueOf(especialidad); aCondiciones[contador + 15] = Long.valueOf(colectivo); aCondiciones[contador + 16] = Double.valueOf(poliza); aCondiciones[contador + 17] = Integer.valueOf(especialidad); strSql.append(" ORDER BY DESCRIPCION"); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); LogTarisan.logger.log(NivelLog.DEBUG, "PersistenciaTtactmed --> "+Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones)); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setActo(rs.getInt("ACTO")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } /*boolean primero = true; do { if (rs.first() && primero){ ttactmed = new Ttactmed(); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setActo(rs.getInt("ACTO")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; primero=false; }else{ ttactmed = new Ttactmed(); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setActo(rs.getInt("ACTO")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } }while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina()));*/ } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " registros de la tabla TTACTMED (" + strSql.toString() + ")"); } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw (ExcepcionTarisan)sqle; } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Throwable sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } return vResultado; } public Vector obtenerTodosActosPorEspecialidad(int pagina, int especialidad) throws ExcepcionTarisan { return this.obtenerTodosActosPorEspecialidad(pagina, especialidad, 0); } /** * Seleccionar todos los actos de la tabla ttactmed para la especialidad indicada. */ public Vector obtenerTodosActosPorEspecialidad(int pagina, int especialidad, int tarifa) throws ExcepcionTarisan { int elementosPaginacion=1; Vector vResultado = new Vector(); Ttactmed ttactmed = null; StringBuffer strSql = new StringBuffer(); Object[] aCondiciones; try { strSql.append("SELECT TTACTMED.ACTO, TTACTMED.DESCRIPCION"); strSql.append(" FROM TTACTMED, TATARIFA"); strSql.append(" WHERE TTACTMED.ESPECIALIDAD = ?"); strSql.append(" AND TTACTMED.ACTO = TATARIFA.ACTO"); strSql.append(" AND TTACTMED.ACTIVADO = 1"); strSql.append(" AND TTACTMED.ESPECIALIDAD = TATARIFA.ESPECIALIDAD"); strSql.append(" AND TATARIFA.TARIFA = "+tarifa); if(especialidad != 17) strSql.append(" AND TATARIFA.IMPORTE > 0"); aCondiciones = new Object[1]; aCondiciones[0] = Integer.valueOf(especialidad); strSql.append(" ORDER BY DESCRIPCION"); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setActo(rs.getInt("ACTO")); vResultado.addElement(ttactmed); 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 TTACTMED (" + strSql.toString() + ")"); } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw (ExcepcionTarisan)sqle; } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Throwable sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } return vResultado; } /** * Selecciona los actos (analíticas) de una especialidad considerando el tema de los niveles asignados al acto y al médico * @param pagina * @param especialidad * @param busquedaActo * @param tarifa * @param espeMedico * @return */ public Vector obtenerActosPorEspecialidad(int pagina, int especialidad, String busquedaActo, int tarifa, int espeMedico){ Vector vResultado = new Vector(); Ttactmed acto = new Ttactmed(); acto = null; StringBuffer strSql = new StringBuffer(); Object[] aCondiciones; strSql.append("select acto, descripcion, visibilidad"); return vResultado; } public Vector obtenerActosPorEspecialidad(int pagina, int especialidad, String busquedaActo) throws ExcepcionTarisan { return this.obtenerActosPorEspecialidad(pagina, especialidad, busquedaActo, 0); } /** * Selecciona los actos médicos de la tabla ttactmed para la especialidad indicada. * @param pagina Número de página a mostrar. * @param especialidad Código de la especialidad. * @param busquedaActo Valor utilizado para filtrar las busquedas de los actos médicos por su nombre. En el caso de que se quieran obtener todos los actos médicos, este parámetro estará inicializado a vacio. * @return El Vector con los registros seleccionados (todos pertenencientes a la clase ttactmed). * @throws */ public Vector obtenerActosPorEspecialidad(int pagina, int especialidad, String busquedaActo, int tarifa) throws ExcepcionTarisan { int elementosPaginacion=1; Vector vResultado = new Vector(); Ttactmed ttactmed = null; StringBuffer strSql = new StringBuffer(); Object[] aCondiciones; try { /* * strSql.append("SELECT ACTO, DESCRIPCION"); strSql.append(" FROM ttactmed"); strSql.append(" WHERE ESPECIALIDAD = ?"); strSql.append(" AND PRECIO > 0"); strSql.append(" AND AUTOPRESCRIP <> 'S'"); strSql.append("SELECT ACTO, DESCRIPCION"); strSql.append(" FROM ttactmed"); strSql.append(" WHERE ESPECIALIDAD = ?"); */ strSql.append("SELECT TTACTMED.ACTO, TTACTMED.DESCRIPCION"); strSql.append(" FROM TTACTMED, TATARIFA"); strSql.append(" WHERE TTACTMED.ESPECIALIDAD = ?"); strSql.append(" AND TTACTMED.AUTOPRESCRIPCION <> 'S'"); strSql.append(" AND TTACTMED.ACTO = TATARIFA.ACTO"); strSql.append(" AND TTACTMED.ESPECIALIDAD = TATARIFA.ESPECIALIDAD"); strSql.append(" AND TATARIFA.TARIFA = "+tarifa); strSql.append(" AND TATARIFA.IMPORTE > 0"); /* if(especialidad != 17) strSql.append(" AND TATARIFA.IMPORTE > 0"); */ //comprobamos si se trata de una busqueda de acto medico de especialidad if (!busquedaActo.equalsIgnoreCase("")) { if (busquedaActo.endsWith("*")) busquedaActo=busquedaActo.replace('*', '%'); else busquedaActo="%" + busquedaActo + "%"; strSql.append(" AND DESCRIPCION LIKE ?"); aCondiciones = new Object[2]; aCondiciones[1] = busquedaActo; } else aCondiciones = new Object[1]; aCondiciones[0] = Integer.valueOf(especialidad); strSql.append(" ORDER BY DESCRIPCION"); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setActo(rs.getInt("ACTO")); vResultado.addElement(ttactmed); 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 TTACTMED (" + strSql.toString() + ")"); } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw (ExcepcionTarisan)sqle; } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Throwable sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } return vResultado; } public Vector obtenerActosPorEspecialidad(int pagina, int especialidad,int contratoPoliza, long colectivo, double poliza, String busquedaActo) throws ExcepcionTarisan { return this.obtenerActosPorEspecialidad(pagina, especialidad, contratoPoliza, colectivo, poliza, busquedaActo, 0); } /*public Vector obtenerAnalisisNivelesDesplazados(int pagina, String busquedaActo, int medico) { Vector vResultado = new Vector(); int elementosPaginacion=1; Ttactmed ttactmed = null; try { String sqlSelect = "SELECT TTACTMED.ACTO, TTACTMED.DESCRIPCION, TNE.VISIBILIDAD, TATARIFA.IMPORTE FROM TTACTMED, TATARIFA, tanivel_acto tna, tanivel_especialidad tne, ttmedico ttm WHERE TTACTMED.ESPECIALIDAD = 4 AND TTACTMED.AUTOPRESCRIPCION <> 'S' AND TTACTMED.ACTO = TATARIFA.ACTO AND TTACTMED.ESPECIALIDAD = TATARIFA.ESPECIALIDAD AND TATARIFA.TARIFA = 0 AND TATARIFA.IMPORTE > 0 AND DESCRIPCION LIKE '%"+busquedaActo+"%' and TNA.ACTO = TTACTMED.ACTO and TNA.ESPECIALIDAD = TTACTMED.ESPECIALIDAD and TNE.NIVEL = TNA.NIVEL and TNE.VISIBILIDAD > 0 and TNE.ESPECIALIDAD = TTM.ESPECIALIDAD AND TNE.ESPECIALIDAD_SOLICITADA = 4 AND TTM.MEDICO = "+medico+" ORDER BY DESCRIPCION"; Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); //ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setVisibilidad(rs.getInt("VISIBILIDAD")); ttactmed.setPrecio(rs.getDouble("IMPORTE")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " analisis de la tabla TTACTMED (" + sqlSelect + ")"); } catch (ExcepcionTarisan et) { et.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } return vResultado; }*/ /*public Vector obtenerAnalisisNiveles(int pagina, int contratoPoliza, long colectivo, double poliza, String busquedaActo, int tarifa, int medico) throws ExcepcionTarisan { Vector vResultado = new Vector(); int elementosPaginacion=1; Ttactmed ttactmed = null; Object[] aCondiciones; aCondiciones = new Object[18]; try { String sqlSelect = "SELECT TTACTMED.ACTO, TTACTMED.DESCRIPCION, TNE.VISIBILIDAD, TATARIFA.IMPORTE FROM TTACTMED, TATARIFA, tanivel_acto tna, tanivel_especialidad tne, ttmedico ttm WHERE TTACTMED.ESPECIALIDAD = 4 AND TTACTMED.AUTOPRESCRIPCION <> 'S' AND TTACTMED.ACTO = TATARIFA.ACTO AND TTACTMED.ESPECIALIDAD = TATARIFA.ESPECIALIDAD AND TATARIFA.TARIFA = 0 AND TATARIFA.IMPORTE > 0 AND DESCRIPCION LIKE '%"+busquedaActo+"%' and TNA.ACTO = TTACTMED.ACTO and TNA.ESPECIALIDAD = TTACTMED.ESPECIALIDAD and TNE.NIVEL = TNA.NIVEL and TNE.VISIBILIDAD > 0 and TNE.ESPECIALIDAD = TTM.ESPECIALIDAD AND TNE.ESPECIALIDAD_SOLICITADA = 4 AND TTM.MEDICO = "+medico; StringBuffer strSql = new StringBuffer(); /*comprobando coberturas*/ /*strSql.append(sqlSelect); strSql.append(" AND TTACTMED.ACTO IN"); strSql.append(" ("); strSql.append(" SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0"); strSql.append(" UNION"); //INCLUIDOS EN TADERCOL NO EXCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1)"); strSql.append(" UNION"); //INCLUIDOS EN TADERCAC Y NO EXCLUIDOS EN TADERCOL Y TADERPOL strSql.append(" SELECT ACTO FROM TADERCAC WHERE TADERCAC.CONTRATO = ? AND TADERCAC.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS DE TADERCOL Y TADERPOL //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1"); strSql.append(" UNION"); //EXCLUIDOS EN TADERCOL NO INCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 1 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0)"); strSql.append(" )"); strSql.append(" )"); aCondiciones[0] = Long.valueOf(colectivo); aCondiciones[1] = Double.valueOf(poliza); aCondiciones[2] = Integer.valueOf(4); aCondiciones[3] = Long.valueOf(colectivo); aCondiciones[4] = Integer.valueOf(4); aCondiciones[5] = Long.valueOf(colectivo); aCondiciones[6] = Double.valueOf(poliza); aCondiciones[7] = Integer.valueOf(4); aCondiciones[8] = Integer.valueOf(contratoPoliza); aCondiciones[9] = Integer.valueOf(4); aCondiciones[10] = Long.valueOf(colectivo); aCondiciones[11] = Double.valueOf(poliza); aCondiciones[12] = Integer.valueOf(4); aCondiciones[13] = Long.valueOf(colectivo); aCondiciones[14] = Integer.valueOf(4); aCondiciones[15] = Long.valueOf(colectivo); aCondiciones[16] = Double.valueOf(poliza); aCondiciones[17] = Integer.valueOf(4); strSql.append(" ORDER BY DESCRIPCION"); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setVisibilidad(rs.getInt("VISIBILIDAD")); ttactmed.setPrecio(rs.getDouble("IMPORTE")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados: " + vResultado.size() + " analisis de la tabla TTACTMED (" + sqlSelect + ")"); } catch (ExcepcionTarisan et) { et.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } return vResultado; }*/ /** * Selecciona los actos médicos de la tabla TTACTMED para la especialidad indicada. * @param pagina Número de página a mostrar. * @param especialidad Código de la especialidad. * @param busquedaActo Valor utilizado para filtrar las busquedas de los actos médicos por su nombre. En el caso de que se quieran obtener todos los actos médicos, este parámetro estará inicializado a vacio. * @return El Vector con los registros seleccionados (todos pertenencientes a la clase ttactmed). * @throws */ public Vector obtenerActosPorEspecialidad(int pagina, int especialidad,int contratoPoliza, long colectivo, double poliza, String busquedaActo, int tarifa) throws ExcepcionTarisan { int elementosPaginacion=1; int contador = 0; Vector vResultado = new Vector(); Ttactmed ttactmed = null; StringBuffer strSql = new StringBuffer(); Object[] aCondiciones; try { /* * strSql.append("SELECT ttactmed.ACTO, ttactmed.DESCRIPCION"); strSql.append(" FROM ttactmed, TATARIFA"); strSql.append(" WHERE ttactmed.ESPECIALIDAD = ?"); strSql.append(" AND ttactmed.ACTO <> ?"); strSql.append(" AND ttactmed.AUTOPRESCRIP <> 'S'"); strSql.append(" AND ttactmed.ACTO <> ?"); strSql.append(" AND ttactmed.ACTO = TATARIFA.ACTO"); strSql.append(" AND ttactmed.ESPECIALIDAD = TATARIFA.ESPECIALIDAD"); strSql.append(" AND TATARIFA.TARIFA = 0"); strSql.append("SELECT ACTO, DESCRIPCION"); strSql.append(" FROM ttactmed"); strSql.append(" WHERE ESPECIALIDAD = ?"); */ strSql.append("SELECT TTACTMED.ACTO, TTACTMED.DESCRIPCION"); strSql.append(" FROM TTACTMED, TATARIFA"); strSql.append(" WHERE TTACTMED.ESPECIALIDAD = ?"); strSql.append(" AND TTACTMED.AUTOPRESCRIPCION <> 'S'"); strSql.append(" AND TTACTMED.ACTO = TATARIFA.ACTO"); strSql.append(" AND TTACTMED.ESPECIALIDAD = TATARIFA.ESPECIALIDAD"); strSql.append(" AND TATARIFA.TARIFA = "+tarifa); strSql.append(" AND TATARIFA.IMPORTE > 0"); //if(especialidad != 17) //comprobamos si se trata de una busqueda de acto medico de especialidad if (!busquedaActo.equalsIgnoreCase("")) { if (busquedaActo.endsWith("*")) busquedaActo=busquedaActo.replace('*', '%'); else busquedaActo="%" + busquedaActo + "%"; strSql.append(" AND DESCRIPCION LIKE ?"); aCondiciones = new Object[20]; aCondiciones[0] = Integer.valueOf(especialidad); aCondiciones[1] = busquedaActo; contador = 2; } else{ aCondiciones = new Object[19]; aCondiciones[0] = Integer.valueOf(especialidad); contador = 1; } //INCLUIDOS EN TADERPOL strSql.append(" AND TTACTMED.ACTO IN"); strSql.append(" ("); strSql.append(" SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0"); strSql.append(" UNION"); //INCLUIDOS EN TADERCOL NO EXCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1)"); strSql.append(" UNION"); //INCLUIDOS EN TADERCAC Y NO EXCLUIDOS EN TADERCOL Y TADERPOL strSql.append(" SELECT ACTO FROM TADERCAC WHERE TADERCAC.CONTRATO = ? AND TADERCAC.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS DE TADERCOL Y TADERPOL //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1"); strSql.append(" UNION"); //EXCLUIDOS EN TADERCOL NO INCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 1 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0)"); strSql.append(" )"); strSql.append(" )"); aCondiciones[contador + 0] = Long.valueOf(colectivo); aCondiciones[contador + 1] = Double.valueOf(poliza); aCondiciones[contador + 2] = Integer.valueOf(especialidad); aCondiciones[contador + 3] = Long.valueOf(colectivo); aCondiciones[contador + 4] = Integer.valueOf(especialidad); aCondiciones[contador + 5] = Long.valueOf(colectivo); aCondiciones[contador + 6] = Double.valueOf(poliza); aCondiciones[contador + 7] = Integer.valueOf(especialidad); aCondiciones[contador + 8] = Integer.valueOf(contratoPoliza); aCondiciones[contador + 9] = Integer.valueOf(especialidad); aCondiciones[contador + 10] = Long.valueOf(colectivo); aCondiciones[contador + 11] = Double.valueOf(poliza); aCondiciones[contador + 12] = Integer.valueOf(especialidad); aCondiciones[contador + 13] = Long.valueOf(colectivo); aCondiciones[contador + 14] = Integer.valueOf(especialidad); aCondiciones[contador + 15] = Long.valueOf(colectivo); aCondiciones[contador + 16] = Double.valueOf(poliza); aCondiciones[contador + 17] = Integer.valueOf(especialidad); strSql.append(" ORDER BY DESCRIPCION"); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setActo(rs.getInt("ACTO")); vResultado.addElement(ttactmed); 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 TTACTMED (" + strSql.toString() + ")"); } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw (ExcepcionTarisan)sqle; } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Throwable sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } return vResultado; } /*public Vector obtenerRadiodiagnosticosNiveles(int pagina, int contratoPoliza, long colectivo, double poliza, String busquedaActo, int tarifa, int medico) throws ExcepcionTarisan { Vector vResultado = new Vector(); int elementosPaginacion=1; Ttactmed ttactmed = null; Object[] aCondiciones; aCondiciones = new Object[18]; try { //String sqlSelect = "SELECT TTACTMED.ACTO, TTACTMED.DESCRIPCION, TNE.VISIBILIDAD, TATARIFA.IMPORTE FROM TTACTMED, TATARIFA, tanivel_acto tna, tanivel_especialidad tne, ttmedico ttm WHERE TTACTMED.ESPECIALIDAD = 17 AND TTACTMED.AUTOPRESCRIPCION <> 'S' AND TTACTMED.ACTO = TATARIFA.ACTO AND TTACTMED.ESPECIALIDAD = TATARIFA.ESPECIALIDAD AND TATARIFA.TARIFA = 0 AND TATARIFA.IMPORTE > 0 AND DESCRIPCION LIKE '%"+busquedaActo+"%' and TNA.ACTO = TTACTMED.ACTO and TNA.ESPECIALIDAD = TTACTMED.ESPECIALIDAD and TNE.NIVEL = TNA.NIVEL and TNE.VISIBILIDAD > 0 and TNE.ESPECIALIDAD = TTM.ESPECIALIDAD AND TTM.MEDICO = "+medico; String sqlSelect = "SELECT distinct(TTACTMED.ACTO), TTACTMED.DESCRIPCION, TNE.VISIBILIDAD FROM TTACTMED, tanivel_acto tna, tanivel_especialidad tne, ttmedico ttm WHERE TTACTMED.ESPECIALIDAD = 17 AND TTACTMED.AUTOPRESCRIPCION <> 'S' AND DESCRIPCION LIKE '%"+busquedaActo+"%' and TNA.ACTO = TTACTMED.ACTO and TNA.ESPECIALIDAD = TTACTMED.ESPECIALIDAD and TNE.NIVEL = TNA.NIVEL and TNE.VISIBILIDAD = 1 and TNE.ESPECIALIDAD = TTM.ESPECIALIDAD AND TNE.ESPECIALIDAD_SOLICITADA = 17 AND TTM.MEDICO = "+medico; StringBuffer strSql = new StringBuffer(); /*comprobando coberturas*/ /*strSql.append(sqlSelect); strSql.append(" AND TTACTMED.ACTO IN"); strSql.append(" ("); strSql.append(" SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0"); strSql.append(" UNION"); //INCLUIDOS EN TADERCOL NO EXCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1)"); strSql.append(" UNION"); //INCLUIDOS EN TADERCAC Y NO EXCLUIDOS EN TADERCOL Y TADERPOL strSql.append(" SELECT ACTO FROM TADERCAC WHERE TADERCAC.CONTRATO = ? AND TADERCAC.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS DE TADERCOL Y TADERPOL //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1"); strSql.append(" UNION"); //EXCLUIDOS EN TADERCOL NO INCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 1 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0)"); strSql.append(" )"); strSql.append(" )"); aCondiciones[0] = Long.valueOf(colectivo); aCondiciones[1] = Double.valueOf(poliza); aCondiciones[2] = Integer.valueOf(17); aCondiciones[3] = Long.valueOf(colectivo); aCondiciones[4] = Integer.valueOf(17); aCondiciones[5] = Long.valueOf(colectivo); aCondiciones[6] = Double.valueOf(poliza); aCondiciones[7] = Integer.valueOf(17); aCondiciones[8] = Integer.valueOf(contratoPoliza); aCondiciones[9] = Integer.valueOf(17); aCondiciones[10] = Long.valueOf(colectivo); aCondiciones[11] = Double.valueOf(poliza); aCondiciones[12] = Integer.valueOf(17); aCondiciones[13] = Long.valueOf(colectivo); aCondiciones[14] = Integer.valueOf(17); aCondiciones[15] = Long.valueOf(colectivo); aCondiciones[16] = Double.valueOf(poliza); aCondiciones[17] = Integer.valueOf(17); strSql.append(" ORDER BY DESCRIPCION"); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setVisibilidad(rs.getInt("VISIBILIDAD")); //ttactmed.setPrecio(rs.getDouble("IMPORTE")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados: " + vResultado.size() + " diagnósticos de la tabla TTACTMED (" + sqlSelect + ")"); } catch (ExcepcionTarisan et) { et.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } return vResultado; }*/ /*public Vector obtenerRadiodiagnosticosNivelesDesplazados(int pagina, String busquedaActo, int medico) { Vector vResultado = new Vector(); int elementosPaginacion=1; Ttactmed ttactmed = null; try { String sqlSelect = "SELECT TTACTMED.ACTO, TTACTMED.DESCRIPCION, TNE.VISIBILIDAD, TATARIFA.IMPORTE FROM TTACTMED, TATARIFA, tanivel_acto tna, tanivel_especialidad tne, ttmedico ttm WHERE TTACTMED.ESPECIALIDAD = 17 AND TTACTMED.AUTOPRESCRIPCION <> 'S' AND TTACTMED.ACTO = TATARIFA.ACTO AND TTACTMED.ESPECIALIDAD = TATARIFA.ESPECIALIDAD AND TATARIFA.TARIFA = 0 AND TATARIFA.IMPORTE > 0 AND DESCRIPCION LIKE '%"+busquedaActo+"%' and TNA.ACTO = TTACTMED.ACTO and TNA.ESPECIALIDAD = TTACTMED.ESPECIALIDAD and TNE.NIVEL = TNA.NIVEL and TNE.VISIBILIDAD > 0 and TNE.ESPECIALIDAD = TTM.ESPECIALIDAD AND TNE.ESPECIALIDAD_SOLICITADA = 17 AND TTM.MEDICO = "+medico+" ORDER BY DESCRIPCION"; Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setVisibilidad(rs.getInt("VISIBILIDAD")); ttactmed.setPrecio(rs.getDouble("IMPORTE")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " diagnósticos de la tabla TTACTMED (" + sqlSelect + ")"); } catch (ExcepcionTarisan et) { et.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } return vResultado; }*/ public Vector obtenerRadiodiagnosticosNivelesTTACTMED_GPC(int pagina, int contratoPoliza, long colectivo, double poliza, String busquedaActo, int tarifa, int medico) throws ExcepcionTarisan { Vector vResultado = new Vector(); int elementosPaginacion=1; Ttactmed ttactmed = null; Object[] aCondiciones; aCondiciones = new Object[18]; try { //String sqlSelect = "SELECT TTACTMED.ACTO, TTACTMED.DESCRIPCION, TNE.VISIBILIDAD, TATARIFA.IMPORTE FROM TTACTMED, TATARIFA, tanivel_acto tna, tanivel_especialidad tne, ttmedico ttm WHERE TTACTMED.ESPECIALIDAD = 17 AND TTACTMED.AUTOPRESCRIPCION <> 'S' AND TTACTMED.ACTO = TATARIFA.ACTO AND TTACTMED.ESPECIALIDAD = TATARIFA.ESPECIALIDAD AND TATARIFA.TARIFA = 0 AND TATARIFA.IMPORTE > 0 AND DESCRIPCION LIKE '%"+busquedaActo+"%' and TNA.ACTO = TTACTMED.ACTO and TNA.ESPECIALIDAD = TTACTMED.ESPECIALIDAD and TNE.NIVEL = TNA.NIVEL and TNE.VISIBILIDAD > 0 and TNE.ESPECIALIDAD = TTM.ESPECIALIDAD AND TTM.MEDICO = "+medico; String sqlSelect = "SELECT distinct(TTACTMED_GPC.ACTO), TTACTMED_GPC.DESCRIPCION_GPC, TNE.VISIBILIDAD FROM TTACTMED_GPC, tanivel_acto tna, tanivel_especialidad tne, ttmedico ttm WHERE TTACTMED_GPC.ESPECIALIDAD = 17 AND DESCRIPCION_GPC LIKE '%"+busquedaActo+"%' and TNA.ACTO = TTACTMED_GPC.ACTO and TNA.ESPECIALIDAD = TTACTMED_GPC.ESPECIALIDAD and TNE.NIVEL = TNA.NIVEL and TNE.VISIBILIDAD = 1 and TNE.ESPECIALIDAD = TTM.ESPECIALIDAD AND TNE.ESPECIALIDAD_SOLICITADA = 17 AND TTM.MEDICO = "+medico; StringBuffer strSql = new StringBuffer(); /*comprobando coberturas*/ strSql.append(sqlSelect); strSql.append(" AND TTACTMED_GPC.ACTO IN"); strSql.append(" ("); strSql.append(" SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0"); strSql.append(" UNION"); //INCLUIDOS EN TADERCOL NO EXCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1)"); strSql.append(" UNION"); //INCLUIDOS EN TADERCAC Y NO EXCLUIDOS EN TADERCOL Y TADERPOL strSql.append(" SELECT ACTO FROM TADERCAC WHERE TADERCAC.CONTRATO = ? AND TADERCAC.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS DE TADERCOL Y TADERPOL //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1"); strSql.append(" UNION"); //EXCLUIDOS EN TADERCOL NO INCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 1 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0)"); strSql.append(" )"); strSql.append(" )"); aCondiciones[0] = Long.valueOf(colectivo); aCondiciones[1] = Double.valueOf(poliza); aCondiciones[2] = Integer.valueOf(17); aCondiciones[3] = Long.valueOf(colectivo); aCondiciones[4] = Integer.valueOf(17); aCondiciones[5] = Long.valueOf(colectivo); aCondiciones[6] = Double.valueOf(poliza); aCondiciones[7] = Integer.valueOf(17); aCondiciones[8] = Integer.valueOf(contratoPoliza); aCondiciones[9] = Integer.valueOf(17); aCondiciones[10] = Long.valueOf(colectivo); aCondiciones[11] = Double.valueOf(poliza); aCondiciones[12] = Integer.valueOf(17); aCondiciones[13] = Long.valueOf(colectivo); aCondiciones[14] = Integer.valueOf(17); aCondiciones[15] = Long.valueOf(colectivo); aCondiciones[16] = Double.valueOf(poliza); aCondiciones[17] = Integer.valueOf(17); strSql.append(" ORDER BY DESCRIPCION_GPC"); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION_GPC")); ttactmed.setVisibilidad(rs.getInt("VISIBILIDAD")); //ttactmed.setPrecio(rs.getDouble("IMPORTE")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados: " + vResultado.size() + " diagnósticos de la tabla TTACTMED_GPC (" + sqlSelect + ")"); } catch (ExcepcionTarisan et) { et.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } return vResultado; } public Vector obtenerRadiodiagnosticosNivelesDesplazadosTTACTMED_GPC(int pagina, String busquedaActo, int medico) { Vector vResultado = new Vector(); int elementosPaginacion=1; Ttactmed ttactmed = null; try { String sqlSelect = "SELECT TTACTMED_GPC.ACTO, TTACTMED_GPC.DESCRIPCION_GPC, TNE.VISIBILIDAD, TATARIFA.IMPORTE FROM TTACTMED_GPC, TATARIFA, tanivel_acto tna, tanivel_especialidad tne, ttmedico ttm WHERE TTACTMED_GPC.ESPECIALIDAD = 17 AND TTACTMED_GPC.ACTO = TATARIFA.ACTO AND TTACTMED_GPC.ESPECIALIDAD = TATARIFA.ESPECIALIDAD AND TATARIFA.TARIFA = 0 AND TATARIFA.IMPORTE > 0 AND DESCRIPCION_GPC LIKE '%"+busquedaActo+"%' and TNA.ACTO = TTACTMED_GPC.ACTO and TNA.ESPECIALIDAD = TTACTMED_GPC.ESPECIALIDAD and TNE.NIVEL = TNA.NIVEL and TNE.VISIBILIDAD > 0 and TNE.ESPECIALIDAD = TTM.ESPECIALIDAD AND TNE.ESPECIALIDAD_SOLICITADA = 17 AND TTM.MEDICO = "+medico+" ORDER BY DESCRIPCION_GPC"; Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION_GPC")); ttactmed.setVisibilidad(rs.getInt("VISIBILIDAD")); ttactmed.setPrecio(rs.getDouble("IMPORTE")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " diagnósticos de la tabla TTACTMED_GPC (" + sqlSelect + ")"); } catch (ExcepcionTarisan et) { et.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } return vResultado; } public Vector obtenerActosAutoprescribiblesDespla(int pagina, int especialidad, int tarifa, String busquedaActo) { Vector vResultado = new Vector(); int elementosPaginacion=1; Ttactmed ttactmed = null; StringBuffer strSql = new StringBuffer(); Object[] aCondiciones = null; String consulta = ""; try { //Preparar SELECT strSql.append("SELECT TTACTMED.DESCRIPCION, TTACTMED.ACTO, TATARIFA.IMPORTE AS PRECIO"); strSql.append(" FROM TTACTMED, TATARIFA"); strSql.append(" WHERE TTACTMED.ACTO = TATARIFA.ACTO"); strSql.append(" AND TTACTMED.ESPECIALIDAD = TATARIFA.ESPECIALIDAD"); strSql.append(" AND TATARIFA.TARIFA = ?"); strSql.append(" AND TATARIFA.IMPORTE > 0"); strSql.append(" AND TTACTMED.ESPECIALIDAD = ?"); strSql.append(" AND TTACTMED.AUTOPRESCRIPCION = 'S'"); strSql.append(" AND TTACTMED.ACTO <> 993999"); //comprobamos si se trata de una busqueda de actos medicos if (!busquedaActo.equalsIgnoreCase("")) { if (busquedaActo.endsWith("*")) busquedaActo=busquedaActo.replace('*', '%'); else busquedaActo="%" + busquedaActo + "%"; strSql.append(" AND TTACTMED.DESCRIPCION LIKE ?"); aCondiciones = new Object[3]; aCondiciones[2] = busquedaActo; } else { aCondiciones = new Object[2]; } aCondiciones[0] = Integer.valueOf(tarifa); aCondiciones[1] = Integer.valueOf(especialidad); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); strSql.append(" order by ttactmed.acto"); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); //Rellenamos en vector objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setPrecio(rs.getDouble("PRECIO")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } //Cerrar ResultSet rs.close(); //Liberar Conexión ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " registros de la tabla TTACTMED (" + strSql.toString() + ")"); consulta = Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones); } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "obtenerActosAutoprescribibles - Error en la selección de TTACTMED: " + consulta ); } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "obtenerActosAutoprescribibles - Error en la selección de TTACTMED: " + consulta ); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "obtenerActosAutoprescribibles - Error en la selección de TTACTMED: " + consulta ); } catch(Throwable sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); } return vResultado; } /** * Selecciona los actos de la especialidad de un médico de la tabla ttactmed que sean autoprescribibles y que están dentro de los derechos contemplados en el tipo de póliza del asegurado. * @param pagina Número de página a mostrar. * @param especialidad Especialidad del médico. * @param contratoPoliza Número de contrato de la póliza del asegurado. * @param tarifa Tarifa que posee el médico. * @param busquedaActo Valor utilizado para filtrar las busquedas de los actos médicos por su nombre. En el caso de que se quieran obtener todos los actos médicos, este parámetro estará inicializado a vacio. * @return El Vector con los registros seleccionados (todos pertenencientes a la clase ttactmed). * @throws */ public Vector obtenerActosAutoprescribibles(int pagina, int especialidad, int contratoPoliza, long colectivo, double poliza, int tarifa, String busquedaActo) throws ExcepcionTarisan { int elementosPaginacion=1; Vector vResultado = new Vector(); Ttactmed ttactmed = null; StringBuffer strSql = new StringBuffer(); Object[] aCondiciones = null; try { //Preparar SELECT strSql.append("SELECT TTACTMED.DESCRIPCION, TTACTMED.ACTO, TATARIFA.IMPORTE AS PRECIO"); strSql.append(" FROM TTACTMED, TATARIFA"); strSql.append(" WHERE TTACTMED.ACTO = TATARIFA.ACTO"); strSql.append(" AND TTACTMED.ESPECIALIDAD = TATARIFA.ESPECIALIDAD"); strSql.append(" AND TATARIFA.TARIFA = ?"); strSql.append(" AND TATARIFA.IMPORTE > 0"); strSql.append(" AND TTACTMED.ESPECIALIDAD = ?"); strSql.append(" AND TTACTMED.AUTOPRESCRIPCION = 'S'"); strSql.append(" AND TTACTMED.ACTO <> ?"); strSql.append(" AND TTACTMED.ACTO IN"); //SUBSELECT //INCLUIDOS EN TADERPOL strSql.append(" ("); strSql.append(" SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0"); strSql.append(" UNION"); //INCLUIDOS EN TADERCOL NO EXCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1)"); strSql.append(" UNION"); //INCLUIDOS EN TADERCAC Y NO EXCLUIDOS EN TADERCOL Y TADERPOL strSql.append(" SELECT ACTO FROM TADERCAC WHERE TADERCAC.CONTRATO = ? AND TADERCAC.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS DE TADERCOL Y TADERPOL //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1"); strSql.append(" UNION"); //EXCLUIDOS EN TADERCOL NO INCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 1 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0)"); strSql.append(" )"); strSql.append(" )"); //comprobamos si se trata de una busqueda de actos medicos if (!busquedaActo.equalsIgnoreCase("")) { if (busquedaActo.endsWith("*")) busquedaActo=busquedaActo.replace('*', '%'); else busquedaActo="%" + busquedaActo + "%"; strSql.append(" AND TTACTMED.DESCRIPCION LIKE ?"); aCondiciones = new Object[22]; aCondiciones[21] = busquedaActo; } else { aCondiciones = new Object[21]; } //Preparar condiciones aCondiciones[0] = Integer.valueOf(tarifa); aCondiciones[1] = Integer.valueOf(especialidad); aCondiciones[2] = Integer.valueOf(993999); aCondiciones[3] = Long.valueOf(colectivo); aCondiciones[4] = Double.valueOf(poliza); aCondiciones[5] = Integer.valueOf(especialidad); aCondiciones[6] = Long.valueOf(colectivo); aCondiciones[7] = Integer.valueOf(especialidad); aCondiciones[8] = Long.valueOf(colectivo); aCondiciones[9] = Double.valueOf(poliza); aCondiciones[10] = Integer.valueOf(especialidad); aCondiciones[11] = Integer.valueOf(contratoPoliza); aCondiciones[12] = Integer.valueOf(especialidad); aCondiciones[13] = Long.valueOf(colectivo); aCondiciones[14] = Double.valueOf(poliza); aCondiciones[15] = Integer.valueOf(especialidad); aCondiciones[16] = Long.valueOf(colectivo); aCondiciones[17] = Integer.valueOf(especialidad); aCondiciones[18] = Long.valueOf(colectivo); aCondiciones[19] = Double.valueOf(poliza); aCondiciones[20] = Integer.valueOf(especialidad); //Conexión Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); strSql.append(" order by ttactmed.acto"); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); //Rellenamos en vector objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setPrecio(rs.getDouble("PRECIO")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } //Cerrar ResultSet rs.close(); //Liberar Conexión ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " registros de la tabla TTACTMED (" + strSql.toString() + ")"); } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "obtenerActosAutoprescribibles - Error en la selección de TTACTMED: " + Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones) ); throw (ExcepcionTarisan)sqle; } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "obtenerActosAutoprescribibles - Error en la selección de TTACTMED: " + Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones) ); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "obtenerActosAutoprescribibles - Error en la selección de TTACTMED: " + Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones) ); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Throwable sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } return vResultado; } public Vector obtenerActosDentalesYSalud(int pagina, int especialidad, int contratoPoliza, long colectivo, double poliza, int tarifa, String busquedaActo, int contratoSalud) throws ExcepcionTarisan { int elementosPaginacion=1; Vector vResultado = new Vector(); Ttactmed ttactmed = null; StringBuffer strSql = new StringBuffer(); Object[] aCondiciones = null; try { //Preparar SELECT strSql.append("SELECT TTACTMED.DESCRIPCION, TTACTMED.ACTO, TATARIFA.IMPORTE AS PRECIO"); strSql.append(" FROM TTACTMED, TATARIFA"); strSql.append(" WHERE TTACTMED.ACTO = TATARIFA.ACTO"); strSql.append(" AND TTACTMED.ESPECIALIDAD = TATARIFA.ESPECIALIDAD"); strSql.append(" AND TATARIFA.TARIFA = ?"); strSql.append(" AND TATARIFA.IMPORTE > 0"); strSql.append(" AND TTACTMED.ESPECIALIDAD = ?"); strSql.append(" AND TTACTMED.AUTOPRESCRIPCION = 'S'"); strSql.append(" AND TTACTMED.ACTO <> ?"); strSql.append(" AND TTACTMED.ACTO IN"); //SUBSELECT //INCLUIDOS EN TADERPOL strSql.append(" ("); strSql.append(" SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0"); strSql.append(" UNION"); //INCLUIDOS EN TADERCOL NO EXCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1)"); strSql.append(" UNION"); //INCLUIDOS EN TADERCAC Y NO EXCLUIDOS EN TADERCOL Y TADERPOL strSql.append(" SELECT ACTO FROM TADERCAC WHERE (TADERCAC.CONTRATO = ? OR TADERCAC.CONTRATO = ?) AND TADERCAC.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS DE TADERCOL Y TADERPOL //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1"); strSql.append(" UNION"); //EXCLUIDOS EN TADERCOL NO INCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 1 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0)"); strSql.append(" )"); strSql.append(" )"); //comprobamos si se trata de una busqueda de actos medicos if (!busquedaActo.equalsIgnoreCase("")) { if (busquedaActo.endsWith("*")) busquedaActo=busquedaActo.replace('*', '%'); else busquedaActo="%" + busquedaActo + "%"; strSql.append(" AND TTACTMED.DESCRIPCION LIKE ?"); aCondiciones = new Object[23]; aCondiciones[22] = busquedaActo; } else { aCondiciones = new Object[22]; } //Preparar condiciones aCondiciones[0] = Integer.valueOf(tarifa); aCondiciones[1] = Integer.valueOf(especialidad); aCondiciones[2] = Integer.valueOf(993999); aCondiciones[3] = Long.valueOf(colectivo); aCondiciones[4] = Double.valueOf(poliza); aCondiciones[5] = Integer.valueOf(especialidad); aCondiciones[6] = Long.valueOf(colectivo); aCondiciones[7] = Integer.valueOf(especialidad); aCondiciones[8] = Long.valueOf(colectivo); aCondiciones[9] = Double.valueOf(poliza); aCondiciones[10] = Integer.valueOf(especialidad); aCondiciones[11] = Integer.valueOf(contratoPoliza); aCondiciones[12] = Integer.valueOf(contratoSalud); aCondiciones[13] = Integer.valueOf(especialidad); aCondiciones[14] = Long.valueOf(colectivo); aCondiciones[15] = Double.valueOf(poliza); aCondiciones[16] = Integer.valueOf(especialidad); aCondiciones[17] = Long.valueOf(colectivo); aCondiciones[18] = Integer.valueOf(especialidad); aCondiciones[19] = Long.valueOf(colectivo); aCondiciones[20] = Double.valueOf(poliza); aCondiciones[21] = Integer.valueOf(especialidad); //Conexión Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); strSql.append(" order by ttactmed.acto"); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); //Rellenamos en vector objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setPrecio(rs.getDouble("PRECIO")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } //Cerrar ResultSet rs.close(); //Liberar Conexión ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " registros de la tabla TTACTMED (" + strSql.toString() + ")"); } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "obtenerActosAutoprescribibles - Error en la selección de TTACTMED: " + Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones) ); throw (ExcepcionTarisan)sqle; } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "obtenerActosAutoprescribibles - Error en la selección de TTACTMED: " + Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones) ); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "obtenerActosAutoprescribibles - Error en la selección de TTACTMED: " + Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones) ); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Throwable sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } return vResultado; } /** * Obtiene el precio del acto médico, dependiendo si la tarifa es 0 ó no. * Si la tarifa es 0, el precio del acto médico lo obtiene de la tabla ttactmed.
* En caso de que la tarifa sea distinta de cero, obtiene el precio del acto médico de la tabla tatarifa. * @param tarifa El valor de la tarifa asignada al medico. * @param acto Código del acto médico. * @param especialidad Código de la especialidad. * @return Valor del precio del acto médico dependiendo del valor de la tarifa. * @throws */ public double obtenerPrecioActoMedico(int tarifa, int acto, int especialidad) throws ExcepcionTarisan { Object[] aCondiciones=null; StringBuffer strSql = new StringBuffer(); double dblPrecioActoMedico=0; try { strSql.append("SELECT TATARIFA.IMPORTE AS PRECIO"); strSql.append(" FROM TATARIFA"); strSql.append(" WHERE TATARIFA.ACTO=?"); strSql.append(" AND TATARIFA.ESPECIALIDAD=?"); strSql.append(" AND TATARIFA.TARIFA=?"); aCondiciones = new Object[3]; aCondiciones[0] = Integer.valueOf(acto); aCondiciones[1] = Integer.valueOf(especialidad); aCondiciones[2] = Integer.valueOf(tarifa); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); if (rs.next()) //obtenemos el precio dblPrecioActoMedico = rs.getDouble("PRECIO"); else { //lanzamos error al no encontrar el registro de la tarifa LogTarisan.logger.log(NivelLog.ERROR, "Error en la obtención del precio del acto medico: (" + strSql.toString() + ")"); LogTarisan.logger.log(NivelLog.ERROR, "No se ha encontrado precio del acto medico: (" + strSql.toString() + ")"); dblPrecioActoMedico=-1; /*throw new ExcepcionTarisan("Error en la obtención del precio del acto médico."); */ } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "El valor del precio del acto medico obtenido es: " + dblPrecioActoMedico + " (" + strSql.toString() + ")"); } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TATARIFA: " + sqle + " (" + strSql.toString() + ")"); throw (ExcepcionTarisan)sqle; } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TATARIFA: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TATARIFA: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Throwable sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TATARIFA: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } return dblPrecioActoMedico; } /** * Obtener Motivos Ingreso para volante ingreso * Están en la tabla novahis@motivos_urgencia * SELECT * FROM novahis.motivos_urgencia */ public Vector obtenerMotivosIngreso() throws ExcepcionTarisan { int elementosPaginacion=1; Vector vResultado = new Vector(); Ttactmed ttactmed = null; StringBuffer strSql = new StringBuffer(); try { strSql.append("SELECT * FROM novahis.motivos_urgencia"); strSql.append(" ORDER BY MOTIVO_URGENCIA"); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString()); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setDescripcion(rs.getString("MOTIVO_URGENCIA")); ttactmed.setActo(rs.getInt("MOTIVO_URGENCIA_PK")); vResultado.addElement(ttactmed); } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " registros de la tabla novahis.motivos_urgencia (" + strSql.toString() + ")"); } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de novahis.motivos_urgencia: " + sqle + " (" + strSql.toString() + ")"); throw (ExcepcionTarisan)sqle; } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de novahis.motivos_urgencia: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de novahis.motivos_urgencia: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } catch(Throwable sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de novahis.motivos_urgencia: " + sqle + " (" + strSql.toString() + ")"); throw new ExcepcionTarisan(sqle.getMessage()); } return vResultado; } public String obtenerDescripcionMotivoIngreso(int motivo) { String resultado = ""; StringBuffer strSql = new StringBuffer(); Object[] aCondiciones = new Object[1]; try { strSql.append("SELECT * FROM novahis.motivos_urgencia"); strSql.append(" where MOTIVO_URGENCIA_PK = ?"); strSql.append(" ORDER BY MOTIVO_URGENCIA"); aCondiciones[0] = Integer.valueOf(motivo); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); while(rs.next()) { resultado = rs.getString("MOTIVO_URGENCIA"); } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionada descripcion: " + resultado + " para el motivoingreso: " + motivo); } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de novahis.motivos_urgencia: " + sqle + " (" + strSql.toString() + ")"); } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de novahis.motivos_urgencia: " + sqle + " (" + strSql.toString() + ")"); } return resultado; } public Vector listadoActosMedico(int tarifa, int especialidad, String strCampoNombre, int pagina) throws SQLException { Vector vResultado = new Vector(); Ttactmed ttactmed = null; StringBuffer strSql = new StringBuffer(); int intPagina=1; Object aCondiciones[]=null; String consulta=""; int elementosPaginacion=1; strSql.append("SELECT TTACTMED.DESCRIPCION, TTACTMED.ACTO, TATARIFA.IMPORTE AS PRECIO"); strSql.append(" FROM TTACTMED, TATARIFA"); strSql.append(" WHERE TTACTMED.ACTO=TATARIFA.ACTO"); strSql.append(" AND TTACTMED.ESPECIALIDAD=TATARIFA.ESPECIALIDAD"); strSql.append(" AND TTACTMED.ESPECIALIDAD=?"); strSql.append(" AND TATARIFA.TARIFA=?"); strSql.append(" and tatarifa.importe > 0"); //comprobamos si se trata de una busqueda de actos medicos if (!strCampoNombre.equalsIgnoreCase("")) //la sql tiene tres parametros { if (strCampoNombre.endsWith("*")) strCampoNombre=strCampoNombre.replace('*', '%'); else strCampoNombre ="%" + strCampoNombre + "%"; //el array de objetos sera de tres elementos aCondiciones = new Object[3]; aCondiciones[2] = strCampoNombre; strSql.append(" AND TTACTMED.DESCRIPCION LIKE ?"); } else //la sql solo tiene dos parametros aCondiciones = new Object[2]; strSql.append(" ORDER BY TTACTMED.DESCRIPCION"); aCondiciones[0] = Integer.valueOf( especialidad ); aCondiciones[1] = Integer.valueOf( tarifa ); try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setPrecio(rs.getInt("PRECIO")); vResultado.addElement(ttactmed); 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 TTACTMED (" + strSql.toString() + ")"); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de los actos de un medico: " + e + " (" + consulta + ")"); } return vResultado; } /*public Vector listadoActosMedico(int tarifa, int especialidad, String strCampoNombre) { Vector resul = null; StringBuffer strSql = new StringBuffer(); int intPagina=1; Object aCondiciones[]=null; String consulta=""; strSql.append("SELECT TTACTMED.DESCRIPCION, TTACTMED.ACTO, TATARIFA.IMPORTE AS PRECIO"); strSql.append(" FROM TTACTMED, TATARIFA"); strSql.append(" WHERE TTACTMED.ACTO=TATARIFA.ACTO"); strSql.append(" AND TTACTMED.ESPECIALIDAD=TATARIFA.ESPECIALIDAD"); strSql.append(" AND TTACTMED.ESPECIALIDAD=?"); strSql.append(" AND TATARIFA.TARIFA=?"); strSql.append(" and tatarifa.importe > 0"); //comprobamos si se trata de una busqueda de actos medicos if (!strCampoNombre.equalsIgnoreCase("")) //la sql tiene tres parametros { if (strCampoNombre.endsWith("*")) strCampoNombre=strCampoNombre.replace('*', '%'); else strCampoNombre ="%" + strCampoNombre + "%"; //el array de objetos sera de tres elementos aCondiciones = new Object[3]; aCondiciones[2] = strCampoNombre; strSql.append(" AND TTACTMED.DESCRIPCION LIKE ?"); } else //la sql solo tiene dos parametros aCondiciones = new Object[2]; strSql.append(" ORDER BY TTACTMED.DESCRIPCION"); aCondiciones[0] = Integer.valueOf( especialidad ); aCondiciones[1] = Integer.valueOf( tarifa ); 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 los actos de un medico: " + e + " (" + consulta + ")"); } return resul; }*/ public Vector listadoActosAutorizados(int especialidad, String actos, int pagina) { int elementosPaginacion=1; Vector vResultado = new Vector(); StringBuffer strSql = new StringBuffer(); Object aCondiciones[]=null; Ttactmed ttactmed = null; strSql.append("select *"); strSql.append(" from ttactmed"); strSql.append(" where especialidad = ?"); strSql.append(" and acto in (?)"); aCondiciones = new Object[2]; aCondiciones[0] = Integer.valueOf( especialidad ); aCondiciones[1] = new String( actos ); try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); //LogTarisan.logger.log(NivelLog.DEBUG, "Consulta: " + Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones)); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones)); /* objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina);*/ while(rs.next()/* && (elementosPaginacion <= Paginacion.getFilasPorPagina())*/) { ttactmed = new Ttactmed(); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setActo(rs.getInt("ACTO")); vResultado.addElement(ttactmed); /*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 ttactmed (" + strSql.toString() + ")"); // } } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de los actos de facturación: " + sqle + " (" + strSql.toString() + ")"); } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de los actos de facturación: " + sqle + " (" + strSql.toString() + ")"); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de los actos de facturación: " + sqle + " (" + strSql.toString() + ")"); } catch(Throwable sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de los actos de facturación: " + sqle + " (" + strSql.toString() + ")"); } return vResultado; } public Vector listadoActosAutorizadosPorAutorizacion(int especialidad, Vector vAutorizaciones, int pagina) { int elementosPaginacion=1; Vector vResultado = new Vector(); StringBuffer strSql = new StringBuffer(); Object aCondiciones[]=null; Ttactmed ttactmed = null; String strAutorizaciones = ""; for(int i = 0; i < vAutorizaciones.size(); i++) { if (i==0){ strAutorizaciones = vAutorizaciones.elementAt(i).toString(); }else{ strAutorizaciones = strAutorizaciones + "," + vAutorizaciones.elementAt(i).toString(); } } strSql.append("select *"); strSql.append(" from ttactmed, taconaut"); strSql.append(" where ttactmed.acto = taconaut.acto"); strSql.append(" and ttactmed.especialidad = ?"); strSql.append(" and taconaut.autorizacion in (?)"); aCondiciones = new Object[2]; aCondiciones[0] = Integer.valueOf( especialidad ); aCondiciones[1] = new String( strAutorizaciones ); try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); //LogTarisan.logger.log(NivelLog.DEBUG, "Consulta: " + Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones)); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones)); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setActo(rs.getInt("ACTO")); vResultado.addElement(ttactmed); 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 ttactmed (" + strSql.toString() + ")"); } } catch (ExcepcionTarisan sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de los actos de facturación: " + sqle + " (" + strSql.toString() + ")"); } catch(SQLException sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de los actos de facturación: " + sqle + " (" + strSql.toString() + ")"); } catch(Exception sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de los actos de facturación: " + sqle + " (" + strSql.toString() + ")"); } catch(Throwable sqle) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de los actos de facturación: " + sqle + " (" + strSql.toString() + ")"); } return vResultado; } /*public Vector obtenerAnalisisNivelesJustificacion(int pagina, int contratoPoliza, long colectivo, double poliza, String busquedaActo, int tarifa, int medico) throws ExcepcionTarisan { //Obtener todos los actos que necesiten justificacion (visibilidad=2) Vector vResultado = new Vector(); int elementosPaginacion=1; Ttactmed ttactmed = null; Object[] aCondiciones; aCondiciones = new Object[18]; try { String sqlSelect = "SELECT TTACTMED.ACTO, TTACTMED.DESCRIPCION, TNE.VISIBILIDAD, TATARIFA.IMPORTE FROM TTACTMED, TATARIFA, tanivel_acto tna, tanivel_especialidad tne, ttmedico ttm WHERE TTACTMED.ESPECIALIDAD = 4 AND TTACTMED.AUTOPRESCRIPCION <> 'S' AND TTACTMED.ACTO = TATARIFA.ACTO AND TTACTMED.ESPECIALIDAD = TATARIFA.ESPECIALIDAD AND TATARIFA.TARIFA = 0 AND TATARIFA.IMPORTE > 0 AND DESCRIPCION LIKE '%"+busquedaActo+"%' and TNA.ACTO = TTACTMED.ACTO and TNA.ESPECIALIDAD = TTACTMED.ESPECIALIDAD and TNE.NIVEL = TNA.NIVEL and TNE.VISIBILIDAD = 2 and TNE.ESPECIALIDAD = TTM.ESPECIALIDAD AND TNE.ESPECIALIDAD_SOLICITADA = 4 AND TTM.MEDICO = "+medico; StringBuffer strSql = new StringBuffer(); /*comprobando coberturas*/ /*strSql.append(sqlSelect); strSql.append(" AND TTACTMED.ACTO IN"); strSql.append(" ("); strSql.append(" SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0"); strSql.append(" UNION"); //INCLUIDOS EN TADERCOL NO EXCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1)"); strSql.append(" UNION"); //INCLUIDOS EN TADERCAC Y NO EXCLUIDOS EN TADERCOL Y TADERPOL strSql.append(" SELECT ACTO FROM TADERCAC WHERE TADERCAC.CONTRATO = ? AND TADERCAC.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS DE TADERCOL Y TADERPOL //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1"); strSql.append(" UNION"); //EXCLUIDOS EN TADERCOL NO INCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 1 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0)"); strSql.append(" )"); strSql.append(" )"); aCondiciones[0] = Long.valueOf(colectivo); aCondiciones[1] = Double.valueOf(poliza); aCondiciones[2] = Integer.valueOf(4); aCondiciones[3] = Long.valueOf(colectivo); aCondiciones[4] = Integer.valueOf(4); aCondiciones[5] = Long.valueOf(colectivo); aCondiciones[6] = Double.valueOf(poliza); aCondiciones[7] = Integer.valueOf(4); aCondiciones[8] = Integer.valueOf(contratoPoliza); aCondiciones[9] = Integer.valueOf(4); aCondiciones[10] = Long.valueOf(colectivo); aCondiciones[11] = Double.valueOf(poliza); aCondiciones[12] = Integer.valueOf(4); aCondiciones[13] = Long.valueOf(colectivo); aCondiciones[14] = Integer.valueOf(4); aCondiciones[15] = Long.valueOf(colectivo); aCondiciones[16] = Double.valueOf(poliza); aCondiciones[17] = Integer.valueOf(4); strSql.append(" ORDER BY DESCRIPCION"); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setVisibilidad(rs.getInt("VISIBILIDAD")); ttactmed.setPrecio(rs.getDouble("IMPORTE")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados: " + vResultado.size() + " analisis de la tabla TTACTMED (" + sqlSelect + ")"); } catch (ExcepcionTarisan et) { et.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } return vResultado; }*/ /*public Vector obtenerAnalisisNivelesDesplazadosJustificacion(int pagina, String busquedaActo, int medico) { //Obtener todos los análisis de desplazados que necesiten justificacion (visibilidad=2) Vector vResultado = new Vector(); int elementosPaginacion=1; Ttactmed ttactmed = null; try { String sqlSelect = "SELECT TTACTMED.ACTO, TTACTMED.DESCRIPCION, TNE.VISIBILIDAD, TATARIFA.IMPORTE FROM TTACTMED, TATARIFA, tanivel_acto tna, tanivel_especialidad tne, ttmedico ttm WHERE TTACTMED.ESPECIALIDAD = 4 AND TTACTMED.AUTOPRESCRIPCION <> 'S' AND TTACTMED.ACTO = TATARIFA.ACTO AND TTACTMED.ESPECIALIDAD = TATARIFA.ESPECIALIDAD AND TATARIFA.TARIFA = 0 AND TATARIFA.IMPORTE > 0 AND DESCRIPCION LIKE '%"+busquedaActo+"%' and TNA.ACTO = TTACTMED.ACTO and TNA.ESPECIALIDAD = TTACTMED.ESPECIALIDAD and TNE.NIVEL = TNA.NIVEL and TNE.VISIBILIDAD = 2 and TNE.ESPECIALIDAD = TTM.ESPECIALIDAD AND TNE.ESPECIALIDAD_SOLICITADA = 4 AND TTM.MEDICO = "+medico+" ORDER BY DESCRIPCION"; Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); //ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setVisibilidad(rs.getInt("VISIBILIDAD")); ttactmed.setPrecio(rs.getDouble("IMPORTE")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " analisis de la tabla TTACTMED (" + sqlSelect + ")"); } catch (ExcepcionTarisan et) { et.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } return vResultado; }*/ /*public Vector obtenerRadiodiagnosticosNivelesJustificacion(int pagina, int contratoPoliza, long colectivo, double poliza, String busquedaActo, int tarifa, int medico) throws ExcepcionTarisan { //Obtener todos los radiodiagnósticos que necesiten justificacion (visibilidad=2) Vector vResultado = new Vector(); int elementosPaginacion=1; Ttactmed ttactmed = null; Object[] aCondiciones; aCondiciones = new Object[18]; try { String sqlSelect = "SELECT distinct(TTACTMED.ACTO), TTACTMED.DESCRIPCION, TNE.VISIBILIDAD FROM TTACTMED, tanivel_acto tna, tanivel_especialidad tne, ttmedico ttm WHERE TTACTMED.ESPECIALIDAD = 17 AND TTACTMED.AUTOPRESCRIPCION <> 'S' AND DESCRIPCION LIKE '%"+busquedaActo+"%' and TNA.ACTO = TTACTMED.ACTO and TNA.ESPECIALIDAD = TTACTMED.ESPECIALIDAD and TNE.NIVEL = TNA.NIVEL and TNE.VISIBILIDAD = 2 and TNE.ESPECIALIDAD = TTM.ESPECIALIDAD AND TTM.MEDICO = "+medico; StringBuffer strSql = new StringBuffer(); /*comprobando coberturas*/ /*strSql.append(sqlSelect); strSql.append(" AND TTACTMED.ACTO IN"); strSql.append(" ("); strSql.append(" SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0"); strSql.append(" UNION"); //INCLUIDOS EN TADERCOL NO EXCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1)"); strSql.append(" UNION"); //INCLUIDOS EN TADERCAC Y NO EXCLUIDOS EN TADERCOL Y TADERPOL strSql.append(" SELECT ACTO FROM TADERCAC WHERE TADERCAC.CONTRATO = ? AND TADERCAC.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS DE TADERCOL Y TADERPOL //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1"); strSql.append(" UNION"); //EXCLUIDOS EN TADERCOL NO INCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 1 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0)"); strSql.append(" )"); strSql.append(" )"); aCondiciones[0] = Long.valueOf(colectivo); aCondiciones[1] = Double.valueOf(poliza); aCondiciones[2] = Integer.valueOf(4); aCondiciones[3] = Long.valueOf(colectivo); aCondiciones[4] = Integer.valueOf(4); aCondiciones[5] = Long.valueOf(colectivo); aCondiciones[6] = Double.valueOf(poliza); aCondiciones[7] = Integer.valueOf(4); aCondiciones[8] = Integer.valueOf(contratoPoliza); aCondiciones[9] = Integer.valueOf(4); aCondiciones[10] = Long.valueOf(colectivo); aCondiciones[11] = Double.valueOf(poliza); aCondiciones[12] = Integer.valueOf(4); aCondiciones[13] = Long.valueOf(colectivo); aCondiciones[14] = Integer.valueOf(4); aCondiciones[15] = Long.valueOf(colectivo); aCondiciones[16] = Double.valueOf(poliza); aCondiciones[17] = Integer.valueOf(4); strSql.append(" ORDER BY DESCRIPCION"); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setVisibilidad(rs.getInt("VISIBILIDAD")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados: " + vResultado.size() + " radiodiagnosticos de la tabla TTACTMED (" + sqlSelect + ")"); } catch (ExcepcionTarisan et) { et.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } return vResultado; }*/ /*public Vector obtenerRadiodiagnosticosNivelesDesplazadosJustificacion(int pagina, String busquedaActo, int medico) { //Obtener todos los radiodiagnósticos de desplazados que necesiten justificacion (visibilidad=2) Vector vResultado = new Vector(); int elementosPaginacion=1; Ttactmed ttactmed = null; try { String sqlSelect = "SELECT distinct(TTACTMED.ACTO), TTACTMED.DESCRIPCION, TNE.VISIBILIDAD FROM TTACTMED, tanivel_acto tna, tanivel_especialidad tne, ttmedico ttm WHERE TTACTMED.ESPECIALIDAD = 17 AND TTACTMED.AUTOPRESCRIPCION <> 'S' AND DESCRIPCION LIKE '%"+busquedaActo+"%' and TNA.ACTO = TTACTMED.ACTO and TNA.ESPECIALIDAD = TTACTMED.ESPECIALIDAD and TNE.NIVEL = TNA.NIVEL and TNE.VISIBILIDAD = 2 and TNE.ESPECIALIDAD = TTM.ESPECIALIDAD AND TTM.MEDICO = "+medico; Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setVisibilidad(rs.getInt("VISIBILIDAD")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " radiodiagnósticos de la tabla TTACTMED (" + sqlSelect + ")"); } catch (ExcepcionTarisan et) { et.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } return vResultado; }*/ public Vector obtenerAnalisisNivelesVisiblesPorEspecialidad(int especialidad, String busquedaActo) { //Obtener todos los análisis con visibilidad > 0 de una especialidad Vector vResultado = new Vector(); Ttactmed ttactmed = null; StringBuffer strSql = new StringBuffer(); Object aCondiciones[]=null; aCondiciones = new Object[2]; try { strSql.append("SELECT DISTINCT (a.acto), a.descripcion_gpc, a.especialidad AS ESPE"); strSql.append(" FROM ttactmed_gpc a, tanivel_acto tna, tanivel_especialidad tne"); strSql.append(" WHERE a.especialidad = TNE.ESPECIALIDAD_SOLICITADA"); strSql.append(" AND tna.ACTO = a.ACTO"); strSql.append(" AND tna.ESPECIALIDAD = a.ESPECIALIDAD"); strSql.append(" AND tne.NIVEL = tna.NIVEL"); strSql.append(" AND tne.VISIBILIDAD > 0"); strSql.append(" and tne.ESPECIALIDAD = ?"); strSql.append(" and tne.ESPECIALIDAD_SOLICITADA = 4"); strSql.append(" and upper(a.descripcion_gpc) like upper(?)"); strSql.append(" ORDER BY a.descripcion_gpc"); aCondiciones[0] = Integer.valueOf(especialidad); aCondiciones[1] = new String(busquedaActo); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); while(rs.next()) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION_GPC")); ttactmed.setEspecialidad(rs.getInt("ESPE")); vResultado.addElement(ttactmed); } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " analisis de la tabla TTACTMED (" + strSql.toString() + ")"); } catch (ExcepcionTarisan et) { et.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } return vResultado; } public Vector listar_actos_buscador_excluidos_por_especialidad(String nosacar, String buscador, int especialidad) { Vector vResultado = new Vector(); Ttactmed ttactmed = null; //String sql = "select distinct(a.acto) ACTO, a.descripcion_gpc DESCRIP_ACTO from ttactmed_gpc a where a.acto not in ("+nosacar+") and upper(a.descripcion_gpc) like upper('"+buscador+"') and especialidad="+ParametrosConfiguracion.analiticas+" order by a.descripcion_gpc"; //String sql = "SELECT DISTINCT (a.acto) as ACTO, a.descripcion_gpc as DESCRIPCION_GPC, a.especialidad AS ESPE FROM ttactmed_gpc a, tanivel_acto tna, tanivel_especialidad tne WHERE a.especialidad = TNE.ESPECIALIDAD_SOLICITADA AND tna.ACTO = a.ACTO AND tna.ESPECIALIDAD = a.ESPECIALIDAD AND tne.NIVEL = tna.NIVEL AND tne.VISIBILIDAD > 0 and tne.ESPECIALIDAD = " + especialidad + " and tne.ESPECIALIDAD_SOLICITADA = 4 and upper(a.descripcion_gpc) like upper(" + buscador + ") ORDER BY a.descripcion_gpc"; StringBuffer strSql = new StringBuffer(); strSql.append("SELECT DISTINCT (a.acto) as ACTO, a.descripcion_gpc as DESCRIPCION_GPC, a.especialidad AS ESPE"); strSql.append(" FROM ttactmed_gpc a, tanivel_acto tna, tanivel_especialidad tne"); strSql.append(" WHERE a.especialidad = TNE.ESPECIALIDAD_SOLICITADA"); if (nosacar.compareTo("")!=0){ strSql.append(" AND a.ACTO NOT IN (" + nosacar + ")"); } strSql.append(" AND tna.ACTO = a.ACTO"); strSql.append(" AND tna.ESPECIALIDAD = a.ESPECIALIDAD"); strSql.append(" AND tne.NIVEL = tna.NIVEL"); strSql.append(" AND tne.VISIBILIDAD > 0"); strSql.append(" and tne.ESPECIALIDAD = " + especialidad); strSql.append(" and tne.ESPECIALIDAD_SOLICITADA = 4"); strSql.append(" and upper(a.descripcion_gpc) like upper('" + buscador + "')"); strSql.append(" ORDER BY a.descripcion_gpc"); Connection conexion; try { conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString()); while(rs.next()) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION_GPC")); ttactmed.setEspecialidad(rs.getInt("ESPE")); vResultado.addElement(ttactmed); } } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error al obtener los actos teniendo en cuenta los excluidos y usando el buscador. Excepcion Tarisan."); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error al obtener los actos teniendo en cuenta los excluidos y usando el buscador. SQL Exception"); } LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " analisis de la tabla TTACTMED_GPC (" + strSql.toString() + ")"); return vResultado; } ////////////////////////////////////////////////////////METODOS PARA APUNTAR A REAL CONTRA TTACTMED Y TTACTMED_GPC ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// public Vector obtenerAnalisisNivelesTTACTMED_GPC(int pagina, int contratoPoliza, long colectivo, double poliza, String busquedaActo, int tarifa, int medico) throws ExcepcionTarisan { Vector vResultado = new Vector(); int elementosPaginacion=1; Ttactmed ttactmed = null; Object[] aCondiciones; aCondiciones = new Object[18]; try { String sqlSelect = "SELECT TTACTMED_GPC.ACTO, TTACTMED_GPC.DESCRIPCION_GPC, TNE.VISIBILIDAD, TATARIFA.IMPORTE FROM TTACTMED_GPC, TATARIFA, tanivel_acto tna, tanivel_especialidad tne, ttmedico ttm WHERE TTACTMED_GPC.ESPECIALIDAD = 4 AND TTACTMED_GPC.ACTO = TATARIFA.ACTO AND TTACTMED_GPC.ESPECIALIDAD = TATARIFA.ESPECIALIDAD AND TATARIFA.TARIFA = 0 AND TATARIFA.IMPORTE > 0 AND UPPER(DESCRIPCION_GPC) LIKE '%"+busquedaActo+"%' and TNA.ACTO = TTACTMED_GPC.ACTO and TNA.ESPECIALIDAD = TTACTMED_GPC.ESPECIALIDAD and TNE.NIVEL = TNA.NIVEL and TNE.VISIBILIDAD > 0 and TNE.ESPECIALIDAD = TTM.ESPECIALIDAD AND TNE.ESPECIALIDAD_SOLICITADA = 4 AND TTM.MEDICO = "+medico; StringBuffer strSql = new StringBuffer(); /*comprobando coberturas*/ strSql.append(sqlSelect); strSql.append(" AND TTACTMED_GPC.ACTO IN"); strSql.append(" ("); strSql.append(" SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0"); strSql.append(" UNION"); //INCLUIDOS EN TADERCOL NO EXCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1)"); strSql.append(" UNION"); //INCLUIDOS EN TADERCAC Y NO EXCLUIDOS EN TADERCOL Y TADERPOL strSql.append(" SELECT ACTO FROM TADERCAC WHERE TADERCAC.CONTRATO = ? AND TADERCAC.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS DE TADERCOL Y TADERPOL //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1"); strSql.append(" UNION"); //EXCLUIDOS EN TADERCOL NO INCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 1 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0)"); strSql.append(" )"); strSql.append(" )"); aCondiciones[0] = Long.valueOf(colectivo); aCondiciones[1] = Double.valueOf(poliza); aCondiciones[2] = Integer.valueOf(4); aCondiciones[3] = Long.valueOf(colectivo); aCondiciones[4] = Integer.valueOf(4); aCondiciones[5] = Long.valueOf(colectivo); aCondiciones[6] = Double.valueOf(poliza); aCondiciones[7] = Integer.valueOf(4); aCondiciones[8] = Integer.valueOf(contratoPoliza); aCondiciones[9] = Integer.valueOf(4); aCondiciones[10] = Long.valueOf(colectivo); aCondiciones[11] = Double.valueOf(poliza); aCondiciones[12] = Integer.valueOf(4); aCondiciones[13] = Long.valueOf(colectivo); aCondiciones[14] = Integer.valueOf(4); aCondiciones[15] = Long.valueOf(colectivo); aCondiciones[16] = Double.valueOf(poliza); aCondiciones[17] = Integer.valueOf(4); strSql.append(" ORDER BY DESCRIPCION_GPC"); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION_GPC")); ttactmed.setVisibilidad(rs.getInt("VISIBILIDAD")); ttactmed.setPrecio(rs.getDouble("IMPORTE")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados: " + vResultado.size() + " analisis de la tabla TTACTMED_GPC (" + sqlSelect + ")"); } catch (ExcepcionTarisan et) { et.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } return vResultado; } public Vector obtenerAnalisisNivelesJustificacionTTACTMED_GPC(int pagina, int contratoPoliza, long colectivo, double poliza, String busquedaActo, int tarifa, int medico) throws ExcepcionTarisan { //Obtener todos los actos que necesiten justificacion (visibilidad=2) Vector vResultado = new Vector(); int elementosPaginacion=1; Ttactmed ttactmed = null; Object[] aCondiciones; aCondiciones = new Object[18]; try { String sqlSelect = "SELECT TTACTMED_GPC.ACTO, TTACTMED_GPC.DESCRIPCION_GPC, TNE.VISIBILIDAD, TATARIFA.IMPORTE FROM TTACTMED_GPC, TATARIFA, tanivel_acto tna, tanivel_especialidad tne, ttmedico ttm WHERE TTACTMED_GPC.ESPECIALIDAD = 4 AND TTACTMED_GPC.ACTO = TATARIFA.ACTO AND TTACTMED_GPC.ESPECIALIDAD = TATARIFA.ESPECIALIDAD AND TATARIFA.TARIFA = 0 AND TATARIFA.IMPORTE > 0 AND UPPER(DESCRIPCION_GPC) LIKE '%"+busquedaActo+"%' and TNA.ACTO = TTACTMED_GPC.ACTO and TNA.ESPECIALIDAD = TTACTMED_GPC.ESPECIALIDAD and TNE.NIVEL = TNA.NIVEL and TNE.VISIBILIDAD = 2 and TNE.ESPECIALIDAD = TTM.ESPECIALIDAD AND TNE.ESPECIALIDAD_SOLICITADA = 4 AND TTM.MEDICO = "+medico; StringBuffer strSql = new StringBuffer(); /*comprobando coberturas*/ strSql.append(sqlSelect); strSql.append(" AND TTACTMED_GPC.ACTO IN"); strSql.append(" ("); strSql.append(" SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0"); strSql.append(" UNION"); //INCLUIDOS EN TADERCOL NO EXCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1)"); strSql.append(" UNION"); //INCLUIDOS EN TADERCAC Y NO EXCLUIDOS EN TADERCOL Y TADERPOL strSql.append(" SELECT ACTO FROM TADERCAC WHERE TADERCAC.CONTRATO = ? AND TADERCAC.ESPECIALIDAD = ? AND EXCLUIDO = 0 AND ACTO NOT IN"); //EXCLUIDOS DE TADERCOL Y TADERPOL //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 1"); strSql.append(" UNION"); //EXCLUIDOS EN TADERCOL NO INCLUIDOS EN TADERPOL strSql.append(" SELECT ACTO FROM TADERCOL WHERE TADERCOL.COLECTIVO = ? AND TADERCOL.ESPECIALIDAD = ? AND EXCLUIDO = 1 AND ACTO NOT IN"); //EXCLUIDOS EN TADERPOL strSql.append(" (SELECT ACTO FROM TADERPOL WHERE TADERPOL.COLECTIVO = ? AND TADERPOL.POLIZA = ? AND TADERPOL.ESPECIALIDAD = ? AND EXCLUIDO = 0)"); strSql.append(" )"); strSql.append(" )"); aCondiciones[0] = Long.valueOf(colectivo); aCondiciones[1] = Double.valueOf(poliza); aCondiciones[2] = Integer.valueOf(4); aCondiciones[3] = Long.valueOf(colectivo); aCondiciones[4] = Integer.valueOf(4); aCondiciones[5] = Long.valueOf(colectivo); aCondiciones[6] = Double.valueOf(poliza); aCondiciones[7] = Integer.valueOf(4); aCondiciones[8] = Integer.valueOf(contratoPoliza); aCondiciones[9] = Integer.valueOf(4); aCondiciones[10] = Long.valueOf(colectivo); aCondiciones[11] = Double.valueOf(poliza); aCondiciones[12] = Integer.valueOf(4); aCondiciones[13] = Long.valueOf(colectivo); aCondiciones[14] = Integer.valueOf(4); aCondiciones[15] = Long.valueOf(colectivo); aCondiciones[16] = Double.valueOf(poliza); aCondiciones[17] = Integer.valueOf(4); strSql.append(" ORDER BY DESCRIPCION_GPC"); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION_GPC")); ttactmed.setVisibilidad(rs.getInt("VISIBILIDAD")); ttactmed.setPrecio(rs.getDouble("IMPORTE")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados: " + vResultado.size() + " analisis de la tabla TTACTMED_GPC (" + sqlSelect + ")"); } catch (ExcepcionTarisan et) { et.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } return vResultado; } public Vector obtenerAnalisisNivelesDesplazadosTTACTMED_GPC(int pagina, String busquedaActo, int medico) { Vector vResultado = new Vector(); int elementosPaginacion=1; Ttactmed ttactmed = null; try { String sqlSelect = "SELECT TTACTMED_GPC.ACTO, TTACTMED_GPC.DESCRIPCION_GPC, TNE.VISIBILIDAD, TATARIFA.IMPORTE FROM TTACTMED_GPC, TATARIFA, tanivel_acto tna, tanivel_especialidad tne, ttmedico ttm WHERE TTACTMED_GPC.ESPECIALIDAD = 4 AND TTACTMED_GPC.ACTO = TATARIFA.ACTO AND TTACTMED_GPC.ESPECIALIDAD = TATARIFA.ESPECIALIDAD AND TATARIFA.TARIFA = 0 AND TATARIFA.IMPORTE > 0 AND UPPER(DESCRIPCION_GPC) LIKE '%"+busquedaActo+"%' and TNA.ACTO = TTACTMED_GPC.ACTO and TNA.ESPECIALIDAD = TTACTMED_GPC.ESPECIALIDAD and TNE.NIVEL = TNA.NIVEL and TNE.VISIBILIDAD > 0 and TNE.ESPECIALIDAD = TTM.ESPECIALIDAD AND TNE.ESPECIALIDAD_SOLICITADA = 4 AND TTM.MEDICO = "+medico+" ORDER BY DESCRIPCION_GPC"; Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); //ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION_GPC")); ttactmed.setVisibilidad(rs.getInt("VISIBILIDAD")); ttactmed.setPrecio(rs.getDouble("IMPORTE")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " analisis de la tabla TTACTMED_GPC (" + sqlSelect + ")"); } catch (ExcepcionTarisan et) { et.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } return vResultado; } public Vector obtenerAnalisisNivelesDesplazadosJustificacionTTACTMED_GPC(int pagina, String busquedaActo, int medico) { //Obtener todos los análisis de desplazados que necesiten justificacion (visibilidad=2) Vector vResultado = new Vector(); int elementosPaginacion=1; Ttactmed ttactmed = null; try { String sqlSelect = "SELECT TTACTMED_GPC.ACTO, TTACTMED_GPC.DESCRIPCION_GPC, TNE.VISIBILIDAD, TATARIFA.IMPORTE FROM TTACTMED_GPC, TATARIFA, tanivel_acto tna, tanivel_especialidad tne, ttmedico ttm WHERE TTACTMED_GPC.ESPECIALIDAD = 4 AND TTACTMED_GPC.ACTO = TATARIFA.ACTO AND TTACTMED_GPC.ESPECIALIDAD = TATARIFA.ESPECIALIDAD AND TATARIFA.TARIFA = 0 AND TATARIFA.IMPORTE > 0 AND UPPER(DESCRIPCION_GPC) LIKE '%"+busquedaActo+"%' and TNA.ACTO = TTACTMED_GPC.ACTO and TNA.ESPECIALIDAD = TTACTMED_GPC.ESPECIALIDAD and TNE.NIVEL = TNA.NIVEL and TNE.VISIBILIDAD = 2 and TNE.ESPECIALIDAD = TTM.ESPECIALIDAD AND TNE.ESPECIALIDAD_SOLICITADA = 4 AND TTM.MEDICO = "+medico+" ORDER BY DESCRIPCION_GPC"; Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); //ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION_GPC")); ttactmed.setVisibilidad(rs.getInt("VISIBILIDAD")); ttactmed.setPrecio(rs.getDouble("IMPORTE")); vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " analisis de la tabla TTACTMED_GPC (" + sqlSelect + ")"); } catch (ExcepcionTarisan et) { et.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } return vResultado; } public Vector obtenerAnatomiaNiveles(int pagina, String busquedaActo, int medico) throws ExcepcionTarisan { Vector vResultado = new Vector(); int elementosPaginacion=1; Ttactmed ttactmed = null; Object[] aCondiciones; aCondiciones = new Object[18]; String consulta=""; try { consulta +="SELECT ttipo_est.descripcion TIPO,"; consulta +=" tapa_loc_ana.tla_descrip ESPE,"; consulta +=" tapa_mues.tau_descrip DESRI,"; consulta +=" tapa_mues.tau_pk ACTO,"; consulta +=" NOVAHIS.PREST_ITEM.PREST_ITEM_DESC,"; consulta +=" NOVAHIS.PREST_ITEM.PREST_ITEM_PK,"; consulta +=" NOVAHIS.PREST_ITEM.CLIN_SGRP_PK,"; consulta +=" UPPER(ttipo_est.descripcion) || ' - ' || UPPER(tapa_loc_ana.tla_descrip) || ' - ' || UPPER(tapa_mues.tau_descrip) DESCRIPCION,"; consulta +=" TNE.VISIBILIDAD"; consulta +=" FROM NOVAGPC.tapa_loc_ana, NOVAGPC.tapa_mues, NOVAGPC.ttipo_est , NOVAHIS.NHGP_EQUIV_PRUEBA,NOVAHIS.PREST_ITEM,tanivel_acto tna,"; consulta +=" tanivel_especialidad tne,"; consulta +=" ttmedico ttm"; consulta +=" WHERE (tapa_mues.tla_pk = tapa_loc_ana.tla_pk)"; consulta +=" AND (ttipo_est.tipo_est = tapa_loc_ana.tipo_est)"; consulta +=" AND ( (tapa_mues.tau_activo_sn = '1'))"; consulta +=" AND TO_CHAR(tapa_mues.tau_pk) =(nhgp_equiv_prueba.nhgp_prueba_cod)"; consulta +=" AND NOVAHIS.NHGP_EQUIV_PRUEBA.NHGP_PREST_PK = NOVAHIS.PREST_ITEM.PREST_ITEM_PK"; consulta +=" and NOVAHIS.NHGP_EQUIV_PRUEBA.NHGP_TIPO_ACT = 3"; consulta +=" AND UPPER (ttipo_est.descripcion || ' - ' || tapa_loc_ana.tla_descrip || ' - ' || tapa_mues.tau_descrip) LIKE '%"+ busquedaActo +"%'"; consulta +=" AND TNA.ACTO = tapa_mues.tau_pk"; consulta +=" AND TNA.ESPECIALIDAD = 5"; consulta +=" AND TNE.NIVEL = TNA.NIVEL"; consulta +=" AND TNE.VISIBILIDAD > 0"; consulta +=" AND TNE.ESPECIALIDAD = TTM.ESPECIALIDAD"; consulta +=" AND TNE.ESPECIALIDAD_SOLICITADA = 5"; consulta +=" AND TTM.MEDICO = "+ medico; consulta +=" GROUP BY ttipo_est.descripcion,"; consulta +=" tapa_loc_ana.tla_descrip,"; consulta +=" tapa_mues.tau_descrip,"; consulta +=" tapa_mues.tau_pk,"; consulta +=" NOVAHIS.PREST_ITEM.PREST_ITEM_DESC,"; consulta +=" NOVAHIS.PREST_ITEM.PREST_ITEM_PK,"; consulta +=" NOVAHIS.PREST_ITEM.CLIN_SGRP_PK,"; consulta +=" TNE.VISIBILIDAD"; Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, consulta); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { ttactmed = new Ttactmed(); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setDescripcion(rs.getString("DESCRIPCION")); ttactmed.setVisibilidad(rs.getInt("VISIBILIDAD")); /*ttactmed.setPrecio(rs.getDouble("IMPORTE"));*/ vResultado.addElement(ttactmed); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados: " + vResultado.size() + " actos de anatomía patológica de la tabla TTACTMED (" + consulta + ")"); } catch (ExcepcionTarisan et) { et.printStackTrace(); } catch (SQLException sqle) { sqle.printStackTrace(); } return vResultado; } public Vector actosPorPeticion(long autorizacion) throws SQLException //Para los actos de anatomía patológica { Vector vResultado = new Vector(); TtactmedGPC ttactmed = null; String consulta = ""; consulta+="select ttipo_est.descripcion || ' - ' || tapa_loc_ana.tla_descrip || ' - ' || tapa_mues.tau_descrip DESCRIPCION,"; consulta+=" tapresca_tarisan.acto,"; consulta+=" TAPRESCA_TARISAN.TEXTO,"; consulta+=" TAPRESCA_TARISAN.JUSTIFICACION,"; consulta+=" TAPRESCA_TARISAN.JUSTIFY_DETER"; consulta+=" from tapresca_tarisan,NOVAGPC.tapa_loc_ana, NOVAGPC.tapa_mues, NOVAGPC.ttipo_est"; consulta+=" where (tapa_mues.tla_pk = tapa_loc_ana.tla_pk)"; consulta+=" AND (ttipo_est.tipo_est = tapa_loc_ana.tipo_est)"; consulta+=" AND ( (tapa_mues.tau_activo_sn = '1'))"; consulta+=" AND TO_CHAR(tapa_mues.tau_pk) = TAPRESCA_TARISAN.acto"; consulta+=" and autorizacion="+autorizacion; try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion,consulta); while(rs.next()) { ttactmed = new TtactmedGPC(); ttactmed.setDescripcion_gpc(rs.getString("DESCRIPCION")); ttactmed.setActo(rs.getInt("ACTO")); ttactmed.setJustificacionInforme(rs.getString("TEXTO")); ttactmed.setJustificacionPrescripcion(rs.getString("JUSTIFICACION")); ttactmed.setJustifi_deter(rs.getString("JUSTIFY_DETER")); vResultado.addElement(ttactmed); } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " registros de ls tablas tapresca_tarisan,NOVAGPC.tapa_loc_ana, NOVAGPC.tapa_mues, NOVAGPC.ttipo_est (" + consulta + ")"); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de los actos de anatomía patológica: " + e + " (" + consulta + ")"); } return vResultado; } public String obtenerDescripcionActo(int acto, int espe) throws SQLException { String resul = ""; StringBuffer strSql = new StringBuffer(); ResultSet rs = null; Object [] aCondiciones = new Object[1]; strSql.append("SELECT DESCRIPCION"); strSql.append(" FROM TTACTMED"); strSql.append(" WHERE ACTO = ?"); strSql.append(" AND ESPECIALIDAD = ?"); aCondiciones = new Object[2]; aCondiciones[0] = acto; aCondiciones[1] = espe; try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones); if(rs.next()) { resul = rs.getString("DESCRIPCION"); } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionada la especialidad " + resul + " de la tabla TTACTMED (" + strSql.toString() + ")"); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTACTMED (obtenerDescripcionActo): " + e + " (" + strSql.toString() + ")"); } return resul; } }