package com.tarisan.control; import java.sql.*; import java.util.Calendar; import java.util.Vector; import com.tarisan.excepcion.ExcepcionTarisan; import com.tarisan.log.LogTarisan; import com.tarisan.log.NivelLog; import com.tarisan.util.DES; import com.tarisan.util.Utilidades; import com.tarisan.data.Taconaut; //import com.tarisan.data.Tamedico; public class PersistenciaTaconaut implements Constantes { /** * El objeto Paginacion que controla el número de filas a mostrar por cada página. */ private Paginacion objPaginacion = new Paginacion(); /** * Obtiene el valor del objeto Paginacion para saber que página se está visualizando. * @return El objeto Paginacion. */ public Paginacion getPaginacion() { return objPaginacion; } public long ultimaAutorizacion(int especialidad, String tarjeta, String autorizacion) { long resul = 0; StringBuffer sqlSelect = new StringBuffer(); Object[] aCondiciones = new Object[2]; try { sqlSelect.append("Select autorizacion AUT "); sqlSelect.append("from taconaut "); sqlSelect.append("where especialidad = ? "); sqlSelect.append("and tarjeta = ? "); sqlSelect.append("and activo = 1 "); //sqlSelect.append("and cantidad > 0 "); //comprobamos si se trata de una busqueda de actos medicos if (!autorizacion.equalsIgnoreCase("")) { if (autorizacion.endsWith("*")) autorizacion=autorizacion.replace('*', '%'); else autorizacion="%" + autorizacion + "%"; sqlSelect.append(" and autorizacion like ? "); aCondiciones = new Object[3]; aCondiciones[2] = autorizacion; } else { aCondiciones = new Object[2]; } sqlSelect.append("order by taconaut.fecha_creacion desc"); aCondiciones[0] = Integer.valueOf(especialidad); aCondiciones[1] = new String(tarjeta); LogTarisan.logger.log(NivelLog.DEBUG, Utilidades.obtenerSentenciaSQL(sqlSelect, null, aCondiciones)); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones); while(rs.next()) { resul = rs.getLong("AUT"); } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); if (aCondiciones.length == 3 && resul == 0){ resul = -1; } } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error ExcepcionTarisan obteniendo ultima autorizacion de taconaut" + e.toString()); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error SQLEception obteniendo ultima autorizacion de taconaut" + e.toString()); } return resul; } public Vector AutorizacionesActivas(int especialidad, String tarjeta) { Vector resul = new Vector(); StringBuffer sqlSelect = new StringBuffer(); Object[] aCondiciones = new Object[2]; try { sqlSelect.append("Select autorizacion AUT "); sqlSelect.append("from taconaut "); sqlSelect.append("where especialidad = ? "); sqlSelect.append("and tarjeta = ? "); sqlSelect.append("and activo = 1 "); sqlSelect.append("and cantidad > 0 "); sqlSelect.append(" order by fecha_creacion desc"); aCondiciones[0] = Integer.valueOf(especialidad); aCondiciones[1] = new String(tarjeta); LogTarisan.logger.log(NivelLog.DEBUG, Utilidades.obtenerSentenciaSQL(sqlSelect, null, aCondiciones)); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones); while(rs.next()) { resul.addElement(rs.getLong("AUT")); } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error ExcepcionTarisan obteniendo autorizaciones activas de taconaut" + e.toString()); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error SQLEception obteniendo autorizaciones activas de taconaut" + e.toString()); } return resul; } public boolean marcarCuraCompletada(long autorizacion) { boolean resul = false; StringBuffer sqlUpdate = new StringBuffer(); Object[] aCondiciones = new Object[1]; try { sqlUpdate.append("Update taconaut set activo = 0 "); sqlUpdate.append("where autorizacion = ? "); aCondiciones[0] = Long.valueOf(autorizacion); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); resul = ParametrosConfiguracion.dataStore.actualizar(sqlUpdate.toString(), null, aCondiciones, conexion); ParametrosConfiguracion.dataStore.liberarConexion(conexion); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error ExcepcionTarisan obteniendo ultima autorizacion de taconaut" + e.toString()); } return resul; } public boolean AutorizacionSinTarjeta(long autorizacion) { boolean resul = false; StringBuffer sqlSelect = new StringBuffer(); try { sqlSelect.append("Select tarjeta from taconaut"); sqlSelect.append(" where autorizacion = ? "); Object[] aCondiciones = new Object[1]; aCondiciones[0] = Long.valueOf(autorizacion); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones); while(rs.next()) { if(rs.getString("TARJETA") == null) resul = true; } } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error ExcepcionTarisan obteniendo tarjeta de taconaut" + e.toString()); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error SQLEexception obteniendo tarjeta de taconaut" + e.toString()); } return resul; } public boolean AutorizacionesSinTarjeta() { boolean resul = true; StringBuffer sqlSelect = new StringBuffer(); try { sqlSelect.append("Select autorizacion, acto, especialidad, cantidad from taconaut where tarjeta is null"); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString()); while (rs.next() && resul) { //por cada autorizacion que no tenga tarjeta vamos obteniendo su tarjeta y actualizando la autorizacion: String tarjeta = this.ObtenerTarjeta(rs.getLong("AUTORIZACION")); resul = this.ActualizarCantidadTarjetaAutorizacionADM(rs.getLong("AUTORIZACION"), rs.getInt("ACTO"), rs.getInt("ESPECIALIDAD"), rs.getInt("CANTIDAD"), tarjeta); } } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error ExcepcionTarisan actualizando tarjetas de taconaut" + e.toString()); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error SQLEception actualizando tarjetas de taconaut" + e.toString()); } return resul; } public Vector ObtenerAutorizacionADM(long autorizacion) { Vector resultado = new Vector(); StringBuffer sqlSelect = new StringBuffer(); try { sqlSelect.append("Select * from taconaut"); sqlSelect.append(" where autorizacion = ? "); Object[] aCondiciones = new Object[1]; aCondiciones[0] = Long.valueOf(autorizacion); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones); while(rs.next()) { Taconaut tacon = new Taconaut(); tacon.setActo(rs.getInt("acto")); tacon.setAutorizacion(String.valueOf(rs.getLong("autorizacion"))); tacon.setCantidad(rs.getInt("cantidad")); tacon.setEspecialidad(rs.getInt("especialidad")); boolean gesigu = false; if(rs.getInt("from_gesigu") == 1) gesigu = true; tacon.setFromGesigu(gesigu); tacon.setInforme(rs.getString("informe")); tacon.setMedico(rs.getInt("medico")); tacon.setTarjeta(rs.getString("TARJETA")); resultado.add(tacon); } } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error ExcepcionTarisan obteniendo autorizacion de taconaut" + e.toString()); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error SQLEception obteniendo autorizacion de taconaut" + e.toString()); } return resultado; } public Vector ObtenerActosAutorizados(long autorizacion) { Vector vSeleccion = new Vector(); StringBuffer sqlSelect = new StringBuffer(); try { sqlSelect.append("Select acto from taconaut "); sqlSelect.append("where autorizacion = ? "); Object aCondiciones[] = new Object[1]; aCondiciones[0] = Long.valueOf(autorizacion); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones); while(rs.next()) { vSeleccion.add(rs.getInt("acto")); } rs.close(); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } return vSeleccion; } public Vector ObtenerActosAutorizadosPorVector(Vector autorizaciones) { Vector vSeleccion = new Vector(); StringBuffer sqlSelect = new StringBuffer(); String strAutorizaciones = ""; try { for(int i = 0; i < autorizaciones.size(); i++) { if (i==0){ strAutorizaciones = autorizaciones.elementAt(i).toString(); }else{ strAutorizaciones = strAutorizaciones + "," + autorizaciones.elementAt(i).toString(); } } sqlSelect.append("Select acto from taconaut "); sqlSelect.append("where autorizacion in ("+strAutorizaciones+")"); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString()); while(rs.next()) { vSeleccion.add(rs.getInt("acto")); } rs.close(); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } return vSeleccion; } public long ObtenerAutorizacionPorActo(int acto, int especialidad, int medico, String tarjeta, Vector autorizaciones) { long resul = 0; StringBuffer sqlSelect = new StringBuffer(); String strAutorizaciones = ""; for(int i = 0; i < autorizaciones.size(); i++) { if (i==0){ strAutorizaciones = autorizaciones.elementAt(i).toString(); }else{ strAutorizaciones = strAutorizaciones + "," + autorizaciones.elementAt(i).toString(); } } try { String sql = "Select autorizacion from taconaut where acto = "+ acto +" and especialidad="+ especialidad +" and medico= "+ medico +" and tarjeta = "+ tarjeta +" and autorizacion in ("+ strAutorizaciones +")"; Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sql/*, aCondiciones*/); while(rs.next()) { resul = (rs.getLong("autorizacion")); } rs.close(); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } return resul; } public int ObtenerMedico(int acto, int especialidad, String tarjeta, Vector autorizaciones) { int resul = 0; StringBuffer sqlSelect = new StringBuffer(); String strAutorizaciones = ""; for(int i = 0; i < autorizaciones.size(); i++) { if (i==0){ strAutorizaciones = autorizaciones.elementAt(i).toString(); }else{ strAutorizaciones = strAutorizaciones + "," + autorizaciones.elementAt(i).toString(); } } try { String sql = "Select medico from taconaut where acto = "+ acto +" and especialidad="+ especialidad +" and tarjeta = "+ tarjeta +" and autorizacion in ("+ strAutorizaciones +")"; Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sql/*, aCondiciones*/); while(rs.next()) { resul = (rs.getInt("medico")); } rs.close(); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } return resul; } public boolean BuscarAutorizacion(long autorizacion, String tarjeta) { return this.BuscarAutorizacion(autorizacion, 0, tarjeta); } public boolean BuscarAutorizacion(long autorizacion) { return this.BuscarAutorizacion(autorizacion, 0, ""); } public boolean BuscarAutorizacion(long autorizacion, int medico, String tarjeta) { boolean existe=false; String sqlSelect = new String(); long cuantas=0; try { sqlSelect = "SELECT count(autorizacion) AUT from taconaut where autorizacion = "+ autorizacion; if(medico != 0) sqlSelect += " and medico = "+medico; if(tarjeta != "") sqlSelect += " and tarjeta ='"+tarjeta+"'"; Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString()); while(rs.next()) { cuantas = rs.getLong("AUT"); } rs.close(); if(cuantas > 0) { existe = true; } ParametrosConfiguracion.dataStore.liberarConexion(conexion); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } return existe; } public boolean BuscarAutorizaciones(Vector vAutorizaciones, String tarjeta) { return this.BuscarAutorizaciones(vAutorizaciones, 0, tarjeta); } public boolean BuscarAutorizaciones(Vector vAutorizaciones) { return this.BuscarAutorizaciones(vAutorizaciones, 0, ""); } public boolean BuscarAutorizaciones(Vector vAutorizaciones, int medico, String tarjeta) { boolean existe=false; String sqlSelect = new String(); long cuantas=0; 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(); } } try { sqlSelect = "SELECT count(autorizacion) AUT from taconaut where autorizacion in ("+ strAutorizaciones + ")"; if(medico != 0) sqlSelect += " and medico = "+medico; if(tarjeta != "") sqlSelect += " and tarjeta ='"+tarjeta+"'"; Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString()); while(rs.next()) { cuantas = rs.getLong("AUT"); } rs.close(); if(cuantas > 0) { existe = true; } ParametrosConfiguracion.dataStore.liberarConexion(conexion); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } return existe; } /** * Funcion que nos dirá si a la autorización pasada por parámetro le queda algúna sesión disponible. * @param autorizacion El número de autorización * @param medico El código del médico autorizado * @param acto El código del acto autorizado * @return Cierto o falso según le queden sesiones o no */ public boolean ComprobarAutorizacionValida (long autorizacion, int medico, int acto, String tarjeta) { boolean existe=false; String sqlSelect = new String(); long cuantas=0; try { //sqlSelect = "SELECT count(autorizacion) AUT from taconaut where autorizacion = "+ autorizacion+" and medico = "+medico+" and acto = "+acto+" and tarjeta ='"+tarjeta+"'"; //Quitamos la tarjeta de la select porque si al paciente se le rompe y viene con otra tarjeta nueva ya no encuentra la autorización sqlSelect = "SELECT count(autorizacion) AUT from taconaut where autorizacion = "+ autorizacion+" and medico = "+medico+" and acto = "+acto; Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString()); while(rs.next()) { cuantas = rs.getLong("AUT"); } rs.close(); if(cuantas > 0) { existe = true; } ParametrosConfiguracion.dataStore.liberarConexion(conexion); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } return existe; } public int ObtenerEspecialidadAutorizacion(long autorizacion) { int resultado = 0; return resultado; } public boolean CrearAutorizacionValida(long autorizacion, int medico, int especialidad, int acto, int cantidad, int gesigu, String tarjeta) { return this.CrearAutorizacionValida(autorizacion, medico, especialidad, acto, cantidad, "", gesigu, tarjeta); } /*public boolean CrearAutorizacionValida(int autorizacion, int medico, int especialidad, int acto, int cantidad, int gesigu) { return this.CrearAutorizacionValida(autorizacion, medico, especialidad, acto, cantidad, "", gesigu, ""); }*/ /** * Hay autorizaciones que vienen desde gesigu que no estamos insertando bien la tarjeta. * aquí vuelvo a buscar la autorizacion en ttmovaut, obteniendo ent, col, pol y orden para conseguir la tarjeta desde ttbenefi * @param autorizacion * @return */ public String ObtenerTarjeta(long autorizacion) { String resul =""; StringBuffer sqlSelect = new StringBuffer(); sqlSelect.append("select entidad, colectivo, poliza, orden from ttmovaut "); sqlSelect.append("where autorizacion = " + autorizacion); try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); Object aCondiciones[] = new Object[4]; ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString()); while(rs.next()) { aCondiciones[0] = rs.getInt("ENTIDAD"); aCondiciones[1] = rs.getLong("COLECTIVO"); aCondiciones[2] = rs.getLong("POLIZA"); aCondiciones[3] = rs.getInt("ORDEN"); } rs = null; sqlSelect = null; sqlSelect = new StringBuffer(); //ya tengo la entidad col pol ord de la autorizacion. //vamos a obtener la tarjeta desde ttbenefi. sqlSelect.append("Select tarjeta from ttbenefi where "); sqlSelect.append("entidad = ? "); sqlSelect.append("and colectivo = ? "); sqlSelect.append("and poliza = ? "); sqlSelect.append("and orden = ?"); rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones); while(rs.next()) { resul = rs.getString("TARJETA"); } } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error ExcepcionTarisan en la obtencion de la tarjeta del paciente para taconaut del paciente: " + e.toString() + " (" + sqlSelect + ")"); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error ExcepcionSQL en la obtencion de la tarjeta del paciente para taconaut del paciente: " + e.toString() + " (" + sqlSelect + ")"); } return resul; } /** * Se ha encontrado una autorización válida en GESIGU y con esta función creamos la correspondiente en ALBERTO.TACONAUT * @param autorizacion El número de la autorización a crear * @param medico El código del médico autorizado * @param especialidad El código de la especialidad autorizada * @param acto El código del acto autorizado * @param cantidad El número de sesiones autorizadas * @return Cierto si la "insert" se realiza con éxito. */ public boolean CrearAutorizacionValida(long autorizacion, int medico, int especialidad, int acto, int cantidad, String informe, int gesigu, String tarjeta) { boolean exito=false; StringBuffer sqlSelect = new StringBuffer(); //LogTarisan.logger.log(NivelLog.DEBUG, "\n\nCrearAutorizacionValida: Autorización: "+autorizacion+", medico: "+medico+", especialidad: "+especialidad+", acto: "+acto+", cantidad: "+cantidad+"\n\n\n"); try { sqlSelect.append("insert into taconaut (autorizacion, especialidad, acto, cantidad, medico, informe, from_gesigu, tarjeta, activo) "); sqlSelect.append("values (?, "); sqlSelect.append("?, "); sqlSelect.append("?, "); sqlSelect.append("?, "); sqlSelect.append("?, "); sqlSelect.append("?, "); sqlSelect.append("?, "); sqlSelect.append("?, 1) "); Object aCondiciones[] = new Object[8]; aCondiciones[0] = Long.valueOf(autorizacion); aCondiciones[1] = Integer.valueOf(especialidad); aCondiciones[2] = Integer.valueOf(acto); aCondiciones[3] = Integer.valueOf(cantidad); aCondiciones[4] = Integer.valueOf(medico); aCondiciones[5] = new String(informe); aCondiciones[6] = Integer.valueOf(gesigu); if(tarjeta == null) aCondiciones[7] = this.ObtenerTarjeta(autorizacion); else aCondiciones[7] = new String(tarjeta); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ParametrosConfiguracion.dataStore.iniciarTransaccion(conexion); exito = ParametrosConfiguracion.dataStore.insertar(sqlSelect.toString(), aCondiciones, conexion); if (exito) { ParametrosConfiguracion.dataStore.confirmarTransaccion(conexion); } else { ParametrosConfiguracion.dataStore.deshacerTransaccion(conexion); } ParametrosConfiguracion.dataStore.liberarConexion(conexion); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la insercion de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } return exito; } /** * Funcion que nos devuelve el número de sesiones que le quedan al asgurado en la autorización * @param autorizacion El número de la autorización * @param medico El código del médico * @param acto El código del acto * @return El número de sesiones "disponibles" en la autorizacion */ public int ObtenerSesionesPendientes(long autorizacion, int acto) { return this.ObtenerSesionesPendientes(autorizacion, 0, acto); } public int ObtenerSesionesPendientes(long autorizacion, int medico, int acto) { int quedan = 0; StringBuffer sqlSelect = new StringBuffer(); // LogTarisan.logger.log(NivelLog.DEBUG, "\n\nObtenerSesionesPendientes: Autorizacion: "+autorizacion+", medico: "+medico+", acto:"+acto); try { sqlSelect.append("select cantidad from taconaut "); sqlSelect.append("where autorizacion = ? "); if(medico != 0) sqlSelect.append("and medico = ? "); sqlSelect.append("and acto = ?"); Object aCondiciones[] = null; if(medico != 0) { aCondiciones = new Object[3]; aCondiciones[0]=Long.valueOf(autorizacion); aCondiciones[1]=Integer.valueOf(medico); aCondiciones[2]=Integer.valueOf(acto); } else { aCondiciones = new Object[2]; aCondiciones[0]=Long.valueOf(autorizacion); aCondiciones[1]=Integer.valueOf(acto); } Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones); while(rs.next()) { quedan = rs.getInt("cantidad"); } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en ObtenerSesionesPendientes del paciente: " + e.toString() + " (" + sqlSelect + ")"); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en ObtenerSesionesPendientes del paciente: " + e.toString() + " (" + sqlSelect + ")"); } return quedan; } /** * Comprueba se se ha imputado una sesión para ese mismo acto el mismo día. * @param autorizacion * @param especialidad * @param medico * @param acto * @return Cierto si la sesión no se ha consumido hoy o todavía no se ha consumido ninguna sesión */ public boolean PermitirImputarActo(long autorizacion, int especialidad, int acto, String tarjeta) { return this.PermitirImputarActo(autorizacion, especialidad, 0, acto, tarjeta); } public boolean PermitirImputarActo(long autorizacion, int especialidad, int medico, int acto, String tarjeta) { boolean imputable = false; Calendar fechaAct = Calendar.getInstance(); Calendar fechaModificacion = null; Calendar fechaCreacion = null; StringBuffer sqlSelect = new StringBuffer(); try { sqlSelect.append("select fecha_modificacion, fecha_creacion "); sqlSelect.append("from taconaut "); sqlSelect.append("where especialidad = ? "); sqlSelect.append("and autorizacion = ? "); //Quitamos la tarjeta de la select porque si al paciente se le rompe y viene con otra tarjeta nueva ya no encuentra la autorización /*if(tarjeta.length()<2) { tarjeta = "%"; sqlSelect.append("and tarjeta like ? "); } else { sqlSelect.append("and tarjeta = ? "); }*/ if(medico != 0) sqlSelect.append("and medico = ? "); sqlSelect.append("and acto = ? "); if(especialidad == 50 && ParametrosConfiguracion.actos_ats_curas.contains(String.valueOf(acto))) sqlSelect.append("and fecha_creacion >= (sysdate - 30)"); sqlSelect.append(" order by fecha_modificacion desc"); Object aCondiciones[] = null; if(medico != 0) { aCondiciones = new Object[4]; aCondiciones[0]=Integer.valueOf(especialidad); aCondiciones[1]=Long.valueOf(autorizacion); //aCondiciones[2]=new String(tarjeta); aCondiciones[2]=Integer.valueOf(medico); aCondiciones[3]=Integer.valueOf(acto); } else { aCondiciones = new Object[3]; aCondiciones[0]=Integer.valueOf(especialidad); aCondiciones[1]=Long.valueOf(autorizacion); //aCondiciones[2]=new String(tarjeta); aCondiciones[2]=Integer.valueOf(acto); } Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones); LogTarisan.logger.log(NivelLog.DEBUG, Utilidades.obtenerSentenciaSQL(sqlSelect, null, aCondiciones)); if(rs.next()) { LogTarisan.logger.log(NivelLog.DEBUG, "Vamos a comprobar si podemos imputar la autorizacion"+autorizacion+" \n\n\n"); if(rs.getDate("fecha_modificacion") != null) { fechaModificacion = Calendar.getInstance(); fechaModificacion.setTime(rs.getDate("fecha_modificacion")); fechaCreacion = Calendar.getInstance(); fechaCreacion.setTime(rs.getDate("fecha_creacion")); LogTarisan.logger.log(NivelLog.DEBUG, "Vamos a comprobar si podemos imputar la autorizacion"+autorizacion+", la ultima modificacion fue: "+fechaModificacion+" \n\n\n"); imputable = true; } else imputable = true; } else { LogTarisan.logger.log(NivelLog.DEBUG, "\n\n\nNo se ha encontrado la autorizacion: "+autorizacion+" \n\n\n"); } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); if(fechaCreacion != null) { if (fechaAct.get(Calendar.YEAR) != fechaModificacion.get(Calendar.YEAR)) imputable = true; else if (fechaAct.get(Calendar.MONTH) != fechaModificacion.get(Calendar.MONTH)) imputable = true; else if (fechaAct.get(Calendar.DAY_OF_MONTH) != fechaModificacion.get(Calendar.DAY_OF_MONTH)) imputable = true; else imputable = false; } if(fechaCreacion != null && ParametrosConfiguracion.actos_ats_curas.contains(String.valueOf(acto))) { fechaAct.add(Calendar.DATE, -30); if(fechaCreacion.compareTo(fechaAct) < 0) { marcarCuraCompletada(autorizacion); imputable = false; } } } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en PermitirImputarActo del paciente: " + e.toString() + " (" + sqlSelect + ")"); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en PermitirImputarActo del paciente: " + e.toString() + " (" + sqlSelect + ")"); } return imputable; } public boolean ActualizarCantidadAutorizacionADM(long autorizacion, int acto, int especialidad, int cantidad) { boolean resul = false; String sqlUpdate = "update taconaut set cantidad = "+cantidad+" where autorizacion = "+autorizacion+" and acto = "+ acto + " and especialidad = "+especialidad; try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); resul = ParametrosConfiguracion.dataStore.actualizar(sqlUpdate, conexion); ParametrosConfiguracion.dataStore.liberarConexion(conexion); } catch(ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en ActualizarCantidadAutorizacionADM de la autorizacion: " + autorizacion +", "+ e.toString() + " (" + sqlUpdate + ")"); } return resul; } public boolean ActualizarCantidadTarjetaAutorizacionADM(long autorizacion, int acto, int especialidad, int cantidad, String tarjeta) { boolean resul = false; String sqlUpdate = "update taconaut set fecha_modificacion = sysdate, tarjeta = "+tarjeta+", cantidad = "+cantidad+" where autorizacion = "+autorizacion+" and acto = "+ acto + " and especialidad = "+especialidad; try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); resul = ParametrosConfiguracion.dataStore.actualizar(sqlUpdate, conexion); ParametrosConfiguracion.dataStore.liberarConexion(conexion); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en ActualizarFechaModificacion de la autorizacion: " + autorizacion +", "+ e.toString() + " (" + sqlUpdate + ")"); } return resul; } public boolean ActualizarFechaModificacion(long autorizacion, int acto, int especialidad) { boolean resul = false; String sqlUpdate = "update taconaut set fecha_modificacion = sysdate where autorizacion = "+autorizacion+" and acto = "+ acto + " and especialidad = "+especialidad; try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); resul = ParametrosConfiguracion.dataStore.actualizar(sqlUpdate, conexion); ParametrosConfiguracion.dataStore.liberarConexion(conexion); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en ActualizarFechaModificacion de la autorizacion: " + autorizacion +", "+ e.toString() + " (" + sqlUpdate + ")"); } return resul; } /** * Resta una sesion a las disponibles en la autorización. * @param autorizacion * @param medico * @param acto * @param especialidad * @return */ public boolean RestarSesion(long autorizacion, int acto, int especialidad) { return this.RestarSesion(autorizacion, 0, acto, especialidad); } public boolean RestarSesion(long autorizacion, int medico, int acto, int especialidad) { boolean resul = false; int quedan = this.ObtenerSesionesPendientes(autorizacion, medico, acto); quedan -= 1; StringBuffer sqlUpdate = new StringBuffer(); try { sqlUpdate.append("update taconaut "); sqlUpdate.append("set cantidad = ?, "); sqlUpdate.append("fecha_modificacion = sysdate "); sqlUpdate.append("where autorizacion = ? "); if(medico != 0) sqlUpdate.append("and medico = ? "); sqlUpdate.append("and acto = ? "); sqlUpdate.append("and especialidad = ?"); Object aCondiciones[] = null; if(medico != 0) { aCondiciones = new Object[4]; aCondiciones[0]=Long.valueOf(autorizacion); aCondiciones[1]=Integer.valueOf(medico); aCondiciones[2]=Integer.valueOf(acto); aCondiciones[3]=Integer.valueOf(especialidad); } else { aCondiciones = new Object[3]; aCondiciones[0]=Long.valueOf(autorizacion); aCondiciones[1]=Integer.valueOf(acto); aCondiciones[2]=Integer.valueOf(especialidad); } Object aValores[] = new Object[1]; aValores[0]=Integer.valueOf(quedan); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); resul = ParametrosConfiguracion.dataStore.actualizar(sqlUpdate.toString(), aValores, aCondiciones, conexion); ParametrosConfiguracion.dataStore.liberarConexion(conexion); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en ObtenerSesionesPendientes del paciente: " + e.toString() + " (" + sqlUpdate + ")"); } return resul; } public String ObtenerInforme(long autorizacion) { String resultado = ""; StringBuffer sqlSelect = new StringBuffer(); try { sqlSelect.append("Select INFORME from taconaut "); sqlSelect.append("where autorizacion = ? "); Object aCondiciones[] = new Object[1]; aCondiciones[0] = Long.valueOf(autorizacion); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones); if(rs.next()) { resultado = rs.getString("INFORME"); } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); } catch(ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error al obetener el informe de la autorizacion: "+autorizacion+". "+e.toString()); } catch(SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error SQL al obetener el informe de la autorizacion: "+autorizacion+". "+e.toString()); } return resultado; } public Vector ObtenerPrescripcionesPorMedico(long medico, int pagina) { Vector vResul = new Vector(); StringBuffer sqlSelect = new StringBuffer(); int elementosPaginacion=1; String strMedico = ""+medico; try { sqlSelect.append("Select * from taconaut "); sqlSelect.append("where medico = ?"); sqlSelect.append("order by autorizacion desc"); Object aCondiciones[] = new Object[1]; aCondiciones[0]=Long.valueOf(medico); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { DES encrypter = new DES(strMedico); String auto = rs.getString("AUTORIZACION"); //auto = (auto.length()<8)?"0"+auto:auto; String autoEncriptado = encrypter.encrypt(auto); Taconaut tacon = new Taconaut(); tacon.setAutorizacion(rs.getString("AUTORIZACION")); tacon.setAutorizacionEncriptada(autoEncriptado); tacon.setEspecialidad(rs.getInt("ESPECIALIDAD")); tacon.setMedico(rs.getInt("MEDICO")); tacon.setActo(rs.getInt("ACTO")); tacon.setCantidad(rs.getInt("CANTIDAD")); tacon.setFechaModificacion(rs.getDate("FECHA_MODIFICACION")); tacon.setInforme(rs.getString("INFORME")); tacon.setFromGesigu(rs.getInt("FROM_GESIGU") == 1 ? true : false); vResul.add(tacon); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "ExcepcionTarisan: "+e.toString()); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Excepcion SQL: "+e.toString()); } return vResul; } public boolean esCuraFinalizada(long autorizacion, int especialidad, int acto, String tarjeta) { return this.esCuraFinalizada(autorizacion, especialidad, 0, acto, tarjeta); } public boolean esCuraFinalizada(long autorizacion, int especialidad, int medico, int acto, String tarjeta) { boolean finalizado = false; boolean esCura = false; Calendar fechaAct = Calendar.getInstance(); Calendar fechaCreacion = null; StringBuffer sqlSelect = new StringBuffer(); try { sqlSelect.append("select acto, fecha_creacion "); sqlSelect.append("from taconaut "); sqlSelect.append("where especialidad = ? "); sqlSelect.append("and autorizacion = ? "); //Quitamos la tarjeta de la select porque si al paciente se le rompe y viene con otra tarjeta nueva ya no encuentra la autorización /*if(tarjeta.length()<2) { tarjeta = "%"; sqlSelect.append("and tarjeta like ? "); } else { sqlSelect.append("and tarjeta = ? "); }*/ if(medico != 0) sqlSelect.append("and medico = ? "); sqlSelect.append("and acto = ? "); /*if(especialidad == 50 && ParametrosConfiguracion.actos_ats_curas.contains(String.valueOf(acto))) sqlSelect.append("and fecha_creacion >= (sysdate - 30)");*/ sqlSelect.append(" order by fecha_modificacion desc"); Object aCondiciones[] = null; if(medico != 0) { aCondiciones = new Object[4]; aCondiciones[0]=Integer.valueOf(especialidad); aCondiciones[1]=Long.valueOf(autorizacion); //aCondiciones[2]=new String(tarjeta); aCondiciones[2]=Integer.valueOf(medico); aCondiciones[3]=Integer.valueOf(acto); } else { aCondiciones = new Object[3]; aCondiciones[0]=Integer.valueOf(especialidad); aCondiciones[1]=Long.valueOf(autorizacion); //aCondiciones[2]=new String(tarjeta); aCondiciones[2]=Integer.valueOf(acto); } Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones); LogTarisan.logger.log(NivelLog.DEBUG, Utilidades.obtenerSentenciaSQL(sqlSelect, null, aCondiciones)); if(rs.next()) { LogTarisan.logger.log(NivelLog.DEBUG, "Vamos a comprobar si ha finalizado la cura"+autorizacion+" \n\n\n"); fechaCreacion = Calendar.getInstance(); fechaCreacion.setTime(rs.getDate("fecha_creacion")); if(especialidad == 50 && ParametrosConfiguracion.actos_ats_curas.contains(String.valueOf(acto))){ esCura = true; } } else { LogTarisan.logger.log(NivelLog.DEBUG, "\n\n\nNo se ha encontrado la autorizacion: "+autorizacion+" \n\n\n"); } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); int fechaC = fechaCreacion.get(Calendar.DAY_OF_YEAR); int fechaHoy = fechaAct.get(Calendar.DAY_OF_YEAR); if (fechaHoy - fechaC > 30){ //Ha pasado mas de un mes finalizado = true; } /*fechaAct.add(Calendar.DATE, -30); if(fechaCreacion.compareTo(fechaAct) < 0) { finalizado = false; }*/ if (esCura && finalizado){ finalizado = true; }else{ finalizado = false; } } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en PermitirImputarActo del paciente: " + e.toString() + " (" + sqlSelect + ")"); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en PermitirImputarActo del paciente: " + e.toString() + " (" + sqlSelect + ")"); } /*if (finalizado){ this.ponerCuraACero(autorizacion, medico, acto, especialidad); } */ return finalizado; } /** * Resta una sesion a las disponibles en la autorización. * @param autorizacion * @param medico * @param acto * @param especialidad * @return */ public boolean ponerCuraACero(long autorizacion, int acto, int especialidad) { return this.ponerCuraACero(autorizacion, 0, acto, especialidad); } public boolean ponerCuraACero(long autorizacion, int medico, int acto, int especialidad) { boolean resul = false; StringBuffer sqlUpdate = new StringBuffer(); try { sqlUpdate.append("update taconaut "); sqlUpdate.append("set cantidad = 0, "); sqlUpdate.append("fecha_modificacion = sysdate "); sqlUpdate.append("where autorizacion = ? "); if(medico != 0) sqlUpdate.append("and medico = ? "); sqlUpdate.append("and acto = ? "); sqlUpdate.append("and especialidad = ?"); Object aCondiciones[] = null; if(medico != 0) { aCondiciones = new Object[4]; aCondiciones[0]=Long.valueOf(autorizacion); aCondiciones[1]=Integer.valueOf(medico); aCondiciones[2]=Integer.valueOf(acto); aCondiciones[3]=Integer.valueOf(especialidad); } else { aCondiciones = new Object[3]; aCondiciones[0]=Long.valueOf(autorizacion); aCondiciones[1]=Integer.valueOf(acto); aCondiciones[2]=Integer.valueOf(especialidad); } Object aValores[] = new Object[0]; Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); resul = ParametrosConfiguracion.dataStore.actualizar(sqlUpdate.toString(), aValores, aCondiciones, conexion); ParametrosConfiguracion.dataStore.liberarConexion(conexion); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en ponerCUraACero del paciente: " + e.toString() + " (" + sqlUpdate + ")"); } return resul; } public Vector BuscarAutorizacionPorMedicoYPoliza(int medico, int colectivo, long poliza, int orden, int pagina) { int elementosPaginacion=1; Vector autorizaciones = new Vector(); String sqlSelect = new String(); String tarjeta=""; String tarjeta_chipcard=""; try { sqlSelect = "select tarjeta,tarjeta_chipcard from ttbenefi where colectivo = "+ colectivo + " and poliza = "+ poliza + " and orden = "+ orden; Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString()); if(rs.next()) { tarjeta = rs.getString("TARJETA"); tarjeta_chipcard = rs.getString("TARJETA_CHIPCARD"); rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); if(tarjeta=="0" && tarjeta_chipcard==null){ autorizaciones = new Vector(); }else{ if (medico==0){ sqlSelect = "select distinct(autorizacion),fecha_creacion from taconaut where tarjeta = '"+ tarjeta +"' order by autorizacion desc"; }else{ sqlSelect = "select distinct(autorizacion),fecha_creacion from taconaut where medico = '"+ medico +"' and tarjeta = '"+ tarjeta +"' order by autorizacion desc"; } conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString()); if(rs.next()){ rs.first(); /*int autorizacion = rs.getInt("AUTORIZACION"); autorizaciones.addElement(autorizacion);*/ objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { long autorizacion = rs.getLong("AUTORIZACION"); autorizaciones.addElement(autorizacion); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); }else{ if (medico==0){ sqlSelect = "select distinct(autorizacion), fecha_creacion from taconaut where tarjeta = '"+ tarjeta_chipcard + "' order by autorizacion desc"; }else{ sqlSelect = "select distinct(autorizacion), fecha_creacion from taconaut where medico = '"+ medico +"' and tarjeta = '"+ tarjeta_chipcard + "' order by autorizacion desc"; } rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString()); if(rs.next()){ rs.first(); /*int autorizacion = rs.getInt("AUTORIZACION"); autorizaciones.addElement(autorizacion);*/ objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { long autorizacion = rs.getInt("AUTORIZACION"); autorizaciones.addElement(autorizacion); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); }else{ autorizaciones = new Vector(); } } } }else{ autorizaciones = new Vector(); } } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la autorizacion del paciente: " + e.toString() + " (" + sqlSelect + ")"); } return autorizaciones; } public Vector ObtenerPrescripcionesPorPaciente(String tarjeta, int medico, int pagina) { Vector vResul = new Vector(); StringBuffer sqlSelect = new StringBuffer(); int elementosPaginacion=1; String strMedico = ""+medico; try { sqlSelect.append("Select * from taconaut "); sqlSelect.append("where tarjeta like ? "); sqlSelect.append("order by fecha_creacion desc"); Object aCondiciones[] = new Object[1]; aCondiciones[0]=new String(tarjeta); Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones); objPaginacion.inicializarPaginacion(rs); if (objPaginacion.getNumeroRegistrosTotales()!=0) { objPaginacion.realizarPaginacion(rs, pagina); while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina())) { DES encrypter = new DES(strMedico); String auto = rs.getString("AUTORIZACION"); /*auto = (auto.length()<8)?"0"+auto:auto;*/ String autoEncriptada = encrypter.encrypt(auto); Taconaut tacon = new Taconaut(); tacon.setAutorizacion(rs.getString("AUTORIZACION")); tacon.setAutorizacionEncriptada(autoEncriptada); tacon.setEspecialidad(rs.getInt("ESPECIALIDAD")); tacon.setMedico(rs.getInt("MEDICO")); tacon.setActo(rs.getInt("ACTO")); tacon.setCantidad(rs.getInt("CANTIDAD")); tacon.setFechaModificacion(rs.getDate("FECHA_MODIFICACION")); tacon.setInforme(rs.getString("INFORME")); tacon.setFromGesigu(rs.getInt("FROM_GESIGU") == 1 ? true : false); tacon.setFechaModificacion(rs.getDate("FECHA_CREACION")); vResul.add(tacon); if (pagina!=0) //Se quiere realizar la paginacion elementosPaginacion++; } } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "ExcepcionTarisan: "+e.toString() + " (" + sqlSelect + ")"); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Excepcion SQL: "+e.toString() + " (" + sqlSelect + ")"); } return vResul; } }