Añado los fuentes de java
This commit is contained in:
@@ -0,0 +1,690 @@
|
||||
/**
|
||||
* @(#) PersistenciaUsuario.java
|
||||
*/
|
||||
|
||||
package com.tarisan.control;
|
||||
|
||||
import com.tarisan.data.Tamedico;
|
||||
import com.tarisan.data.Usuario;
|
||||
import com.tarisan.excepcion.*;
|
||||
import com.tarisan.log.*;
|
||||
import com.tarisan.util.Utilidades;
|
||||
import java.sql.*;
|
||||
import java.util.Calendar;
|
||||
import java.util.Vector;
|
||||
|
||||
/**
|
||||
* Controla los accesos a la persistencia para la entidad <code>Usuario</code>.
|
||||
* @author <a href="mailto:sistemas@imqnavarra.com">Dpto. Informática</a>.
|
||||
* @version 1.0, 24/09/2003
|
||||
*/
|
||||
public class PersistenciaUsuario implements Constantes
|
||||
{
|
||||
|
||||
/**
|
||||
* El objeto <code>Paginacion</code> que controla el número de filas a mostrar por cada página.
|
||||
*/
|
||||
private Paginacion objPaginacion = new Paginacion();
|
||||
|
||||
|
||||
/**
|
||||
* Obtiene el valor del objeto <code>Paginacion</code> para saber que página se está visualizando.
|
||||
* @return El objeto <code>Paginacion</code>
|
||||
*/
|
||||
public Paginacion getPaginacion()
|
||||
{
|
||||
return objPaginacion;
|
||||
}
|
||||
|
||||
/**
|
||||
* Selecciona el primer registro de la tabla TAMEDICO encontrado para el usuario conectado a la aplicación Tarisan.
|
||||
* <br>Retorna uno de los siguientes objetos:<ul>
|
||||
* <li><code>null</code>: si se produce algún error incontrolado</li>
|
||||
* <li><code>Usuario</code>: el usuario correcto encontrado en la base de datos</li>
|
||||
* <li><code>Integer</code>: el código de error correspondiente al proceso de autenticación</li>
|
||||
* </ul>
|
||||
* @param codigo El código de usuario introducido en la página de conexión.
|
||||
* @param clave La clave de usuario introducida en la página de conexión.
|
||||
* @return El objeto resultante del proceso de validación.
|
||||
* @throws
|
||||
*/
|
||||
public Object seleccionar(int codigo, String clave) throws ExcepcionTarisan
|
||||
{
|
||||
Object retorno = null;
|
||||
Usuario usuario = null;
|
||||
StringBuffer sqlSelect = new StringBuffer();
|
||||
Connection conexion = null;
|
||||
|
||||
try
|
||||
{
|
||||
sqlSelect.append("SELECT MEDICO");
|
||||
sqlSelect.append(", NOMBRE");
|
||||
sqlSelect.append(", APELLIDOS");
|
||||
sqlSelect.append(", ESPECIALIDAD");
|
||||
sqlSelect.append(", TARIFA");
|
||||
sqlSelect.append(", NOMBRE_CAB");
|
||||
sqlSelect.append(", DIRECCION_CAB");
|
||||
sqlSelect.append(", POBLACION_CAB");
|
||||
sqlSelect.append(", TELEFONO_CAB");
|
||||
sqlSelect.append(", EMAIL_CAB");
|
||||
sqlSelect.append(", COLEGIADO_CAB");
|
||||
sqlSelect.append(", ESPECIALIDAD_CAB");
|
||||
sqlSelect.append(", BLOQUEO_CLAVE");
|
||||
sqlSelect.append(", FECHA_ULT_ACCESO");
|
||||
sqlSelect.append(", FECHA_MODIF_CLAVE");
|
||||
sqlSelect.append(", PASSWORD");
|
||||
sqlSelect.append(" FROM TAMEDICO");
|
||||
sqlSelect.append(" WHERE MEDICO = ?");
|
||||
|
||||
|
||||
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
|
||||
|
||||
|
||||
Object aCondiciones[] = new Object[1];
|
||||
aCondiciones[0] = Integer.valueOf(codigo);
|
||||
|
||||
String bloqueo = "";
|
||||
Timestamp fecModifClave = null;
|
||||
String password = "";
|
||||
Calendar calHoy = null;
|
||||
Calendar calInactividad = null;
|
||||
Calendar calCaducidad = null;
|
||||
Calendar calPreaviso = null;
|
||||
|
||||
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
|
||||
|
||||
while(rs.next())
|
||||
{
|
||||
|
||||
String nombre = "";
|
||||
if (rs.getString("NOMBRE") != null){
|
||||
nombre = rs.getString("NOMBRE") + " ";
|
||||
}
|
||||
|
||||
String ape = "";
|
||||
if (rs.getString("APELLIDOS") != null){
|
||||
ape = rs.getString("APELLIDOS");
|
||||
}
|
||||
|
||||
String nombreCab = "";
|
||||
if (rs.getString("NOMBRE_CAB") != null){
|
||||
nombreCab = rs.getString("NOMBRE_CAB");
|
||||
}
|
||||
|
||||
usuario = new Usuario();
|
||||
usuario.setMedico(rs.getInt("MEDICO"));
|
||||
usuario.setNombre(nombre + ape);
|
||||
usuario.setEspecialidad(rs.getInt("ESPECIALIDAD"));
|
||||
usuario.setTarifa(rs.getInt("TARIFA"));
|
||||
usuario.setNombreCab(nombreCab);
|
||||
usuario.setDireccionCab(rs.getString("DIRECCION_CAB"));
|
||||
usuario.setPoblacionCab(rs.getString("POBLACION_CAB"));
|
||||
usuario.setTelefonoCab(rs.getString("TELEFONO_CAB"));
|
||||
usuario.setEmailCab(rs.getString("EMAIL_CAB"));
|
||||
usuario.setColegiadoCab(rs.getString("COLEGIADO_CAB"));
|
||||
usuario.setEspecialidadCab(rs.getString("ESPECIALIDAD_CAB"));
|
||||
usuario.setFechaUltAcceso(rs.getTimestamp("FECHA_ULT_ACCESO"));
|
||||
|
||||
bloqueo = rs.getString("BLOQUEO_CLAVE");
|
||||
fecModifClave = rs.getTimestamp("FECHA_MODIF_CLAVE");
|
||||
password = rs.getString("PASSWORD");
|
||||
}
|
||||
rs.close();
|
||||
|
||||
//Primero: se calculan las fechas para su tratamiento posterior
|
||||
calHoy = Calendar.getInstance();
|
||||
|
||||
if (usuario != null)
|
||||
{
|
||||
|
||||
if(usuario.getFechaUltAcceso() != null)
|
||||
{
|
||||
|
||||
//Cálculo de la fecha de fin de actividad de la clave
|
||||
calInactividad = Calendar.getInstance();
|
||||
calInactividad.setTime((java.util.Date)usuario.getFechaUltAcceso());
|
||||
calInactividad.add(Calendar.DATE, ParametrosConfiguracion.diasActividad);
|
||||
}
|
||||
|
||||
if(fecModifClave != null)
|
||||
{
|
||||
|
||||
//Cálculo de la fecha de caducidad de la clave
|
||||
calCaducidad = Calendar.getInstance();
|
||||
calCaducidad.setTime((java.util.Date)fecModifClave);
|
||||
calCaducidad.add(Calendar.DATE, ParametrosConfiguracion.diasCaducidad);
|
||||
|
||||
//Cálculo de la fecha de preaviso de caducidad de la clave
|
||||
calPreaviso = Calendar.getInstance();
|
||||
calPreaviso.setTime((java.util.Date)fecModifClave);
|
||||
calPreaviso.add(Calendar.DATE, ParametrosConfiguracion.diasCaducidad - ParametrosConfiguracion.diasPreaviso);
|
||||
}
|
||||
}
|
||||
|
||||
//Segundo: se evalúa la selección del usuario realizada en la base de datos
|
||||
if (usuario == null)
|
||||
{
|
||||
|
||||
//El usuario no se ha encontrado en la base de datos
|
||||
retorno = USUARIO_INEXISTENTE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
if(usuario.getFechaUltAcceso() == null)
|
||||
{
|
||||
|
||||
//El usuario realiza el primer acceso a la aplicación
|
||||
if(password.compareTo(clave) != 0)
|
||||
{
|
||||
|
||||
//El usuario no existe (la clave sin encriptar en la base de datos no es la misma que la escrita en el formulario de login)
|
||||
retorno = USUARIO_ERROR_CLAVE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
//El usuario existe y se le redigirá a la introducción de la nueva clave, para su encriptación
|
||||
retorno = usuario;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
if(password.compareTo(Utilidades.encripta(clave, String.valueOf(codigo))) != 0)
|
||||
{
|
||||
|
||||
//El usuario no existe (la clave encriptada en la base de datos no es la misma que la escrita en el formulario de login)
|
||||
retorno = USUARIO_ERROR_CLAVE;
|
||||
}
|
||||
else if((bloqueo != null) && (bloqueo.trim().toUpperCase().compareTo("S") == 0))
|
||||
{
|
||||
|
||||
//El usuario está bloqueado
|
||||
retorno = USUARIO_BLOQUEADO;
|
||||
}
|
||||
else if((calCaducidad != null) && calCaducidad.before(calHoy))
|
||||
{
|
||||
|
||||
//El usuario se bloquea por haber excedido la fecha de caducidad
|
||||
this.bloquearUsuario(codigo, calHoy);
|
||||
retorno = USUARIO_CADUCADO;
|
||||
}
|
||||
else if((calPreaviso != null) && calPreaviso.before(calHoy) && calHoy.before(calCaducidad))
|
||||
{
|
||||
|
||||
//Se muestra mensaje al usuario de cambio de clave por proximidad de la fecha de caducidad
|
||||
usuario.setFechaCaducidad(new Date(calCaducidad.getTimeInMillis()));
|
||||
retorno = usuario;
|
||||
}
|
||||
else if((calInactividad != null) && calInactividad.before(calHoy))
|
||||
{
|
||||
|
||||
//El usuario está bloqueado por período de inactividad
|
||||
this.bloquearUsuario(codigo, calHoy);
|
||||
retorno = USUARIO_INACTIVO;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
//El usuario introducido es correcto
|
||||
retorno = usuario;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
|
||||
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionado el usuario " + usuario + " de la tabla TAMEDICO (" + sqlSelect + ")");
|
||||
}
|
||||
catch(SQLException sqle)
|
||||
{
|
||||
usuario = null;
|
||||
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de usuario: " + sqle + " (" + sqlSelect + ")");
|
||||
throw new ExcepcionTarisan();
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
usuario = null;
|
||||
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de usuario: " + e + " (" + sqlSelect + ")");
|
||||
throw new ExcepcionTarisan();
|
||||
}
|
||||
|
||||
return retorno;
|
||||
}
|
||||
|
||||
|
||||
public Usuario seleccionar(int medico) throws ExcepcionTarisan
|
||||
{
|
||||
return this.seleccionar(medico, 0);
|
||||
}
|
||||
/**
|
||||
* Selecciona el primer registro de la tabla TAMEDICO encontrado para el usuario conectado a la aplicación Tarisan.
|
||||
* @param medico El código de usuario introducido en la página de conexión.
|
||||
* @param especialidad El código de especialidad del usuario conectado.
|
||||
* @return El <code>Usuario</code> encontrado en la tabla de médicos,
|
||||
* un objeto vacío <code>Usuario</code> si no se cumplen las condiciones de búsqueda o null si se produce alguna excepción.
|
||||
* @throws
|
||||
*/
|
||||
public Usuario seleccionar(int medico, int especialidad) throws ExcepcionTarisan
|
||||
{
|
||||
Usuario usuario = null;
|
||||
StringBuffer sqlSelect = new StringBuffer();
|
||||
|
||||
try
|
||||
{
|
||||
sqlSelect.append("SELECT MEDICO");
|
||||
sqlSelect.append(", NOMBRE");
|
||||
sqlSelect.append(", APELLIDOS");
|
||||
sqlSelect.append(", ESPECIALIDAD");
|
||||
sqlSelect.append(", TARIFA");
|
||||
sqlSelect.append(", NOMBRE_CAB");
|
||||
sqlSelect.append(", DIRECCION_CAB");
|
||||
sqlSelect.append(", POBLACION_CAB");
|
||||
sqlSelect.append(", TELEFONO_CAB");
|
||||
sqlSelect.append(", EMAIL_CAB");
|
||||
sqlSelect.append(", COLEGIADO_CAB");
|
||||
sqlSelect.append(", ESPECIALIDAD_CAB");
|
||||
sqlSelect.append(" FROM TAMEDICO");
|
||||
sqlSelect.append(" WHERE MEDICO = ?");
|
||||
if(especialidad >0)
|
||||
sqlSelect.append(" AND ESPECIALIDAD = ?");
|
||||
|
||||
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
|
||||
Object aCondiciones[] = null;
|
||||
if(especialidad > 0)
|
||||
{
|
||||
aCondiciones = new Object[2];
|
||||
aCondiciones[0] = Integer.valueOf(medico);
|
||||
aCondiciones[1] = Integer.valueOf(especialidad);
|
||||
}
|
||||
else
|
||||
{
|
||||
aCondiciones = new Object[1];
|
||||
aCondiciones[0] = Integer.valueOf(medico);
|
||||
}
|
||||
|
||||
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
|
||||
|
||||
while(rs.next())
|
||||
{
|
||||
usuario = new Usuario();
|
||||
usuario.setMedico(rs.getInt("MEDICO"));
|
||||
usuario.setNombre(rs.getString("NOMBRE") + " " + rs.getString("APELLIDOS"));
|
||||
usuario.setEspecialidad(rs.getInt("ESPECIALIDAD"));
|
||||
usuario.setTarifa(rs.getInt("TARIFA"));
|
||||
usuario.setNombreCab(rs.getString("NOMBRE_CAB"));
|
||||
usuario.setDireccionCab(rs.getString("DIRECCION_CAB"));
|
||||
usuario.setPoblacionCab(rs.getString("POBLACION_CAB"));
|
||||
usuario.setTelefonoCab(rs.getString("TELEFONO_CAB"));
|
||||
usuario.setEmailCab(rs.getString("EMAIL_CAB"));
|
||||
usuario.setColegiadoCab(rs.getString("COLEGIADO_CAB"));
|
||||
usuario.setEspecialidadCab(rs.getString("ESPECIALIDAD_CAB"));
|
||||
}
|
||||
rs.close();
|
||||
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
|
||||
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionado el usuario " + usuario + " de la tabla TAMEDICO (" + sqlSelect + ")");
|
||||
}
|
||||
catch(SQLException sqle)
|
||||
{
|
||||
usuario = null;
|
||||
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de usuario: " + sqle + " (" + sqlSelect + ")");
|
||||
throw new ExcepcionTarisan();
|
||||
}
|
||||
|
||||
return usuario;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Modifica el registro correspondiente al usuario conectado marcándolo como bloqueado.
|
||||
* <br>Escribe 'S' en el campo BLOQUEO_CLAVE de la tabla TAMEDICO.
|
||||
* @param codigo El código de usuario que se intenta conectar.
|
||||
* @param fechaAcceso Fecha en la que el usuario ha realizado el acceso a la aplicación. Utilizado para introducir un nuevo registro en la tabla de seguimiento TAREGLOG.
|
||||
* @return El resultado de la actualización en base de datos.
|
||||
* @throws
|
||||
*/
|
||||
public boolean bloquearUsuario(int codigo, Calendar fechaAcceso) throws ExcepcionTarisan
|
||||
{
|
||||
boolean resultado = true;
|
||||
|
||||
StringBuffer sqlUpdate = new StringBuffer();
|
||||
sqlUpdate.append("UPDATE TAMEDICO");
|
||||
sqlUpdate.append(" SET BLOQUEO_CLAVE = ?");
|
||||
sqlUpdate.append(" WHERE MEDICO = ?");
|
||||
|
||||
try
|
||||
{
|
||||
Object[] aValores = new Object[1];
|
||||
aValores[0] = "S";
|
||||
|
||||
Object[] aCondiciones = new Object[1];
|
||||
aCondiciones[0] = Integer.valueOf(codigo);
|
||||
|
||||
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
|
||||
ParametrosConfiguracion.dataStore.iniciarTransaccion(conexion);
|
||||
|
||||
try
|
||||
{
|
||||
//dejamos al usuario bloqueado
|
||||
LogTarisan.logger.log(NivelLog.DEBUG, "Llega 332: "+sqlUpdate.toString());
|
||||
resultado = ParametrosConfiguracion.dataStore.actualizar(sqlUpdate.toString(), aValores, aCondiciones, conexion);
|
||||
LogTarisan.logger.log(NivelLog.DEBUG, "Llega 334, ha actualizado ");
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
//insertamos un registro en la tabla tareglog para indicar los movimientos realizados por el usuario
|
||||
Timestamp tsFechaAcceso = new Timestamp(fechaAcceso.getTimeInMillis());
|
||||
PersistenciaTareglog perTareglog = new PersistenciaTareglog();
|
||||
//obtenemos el ultimo valor del campo correlativo de la tabla tareglog.
|
||||
//Este campo es un numero correlativo utilizado para diferenciar las claves.
|
||||
int intUltimoValorCorrelativo = perTareglog.obtenerUltimoValorCorrelativo(codigo, tsFechaAcceso);
|
||||
perTareglog.insertarLog(codigo, tsFechaAcceso, Calendar.getInstance(), intUltimoValorCorrelativo + 1, "TAMEDICO", Utilidades.obtenerSentenciaSQL(sqlUpdate, aValores, aCondiciones), "", conexion);
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
//las actualizaciones han ido bien. Confirmamos la transaccion
|
||||
ParametrosConfiguracion.dataStore.confirmarTransaccion(conexion);
|
||||
}
|
||||
catch (ExcepcionTarisan ex)
|
||||
{
|
||||
ParametrosConfiguracion.dataStore.deshacerTransaccion(conexion);
|
||||
LogTarisan.logger.log(NivelLog.ERROR, "ExcepcionTarisan: " + ex.getMensaje());
|
||||
throw (ExcepcionTarisan)ex;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ParametrosConfiguracion.dataStore.deshacerTransaccion(conexion);
|
||||
LogTarisan.logger.log(NivelLog.ERROR, "Exception: " + ex.getMessage());
|
||||
throw new ExcepcionTarisan(ex.getMessage());
|
||||
}
|
||||
finally
|
||||
{
|
||||
//liberamos la conexion
|
||||
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
|
||||
}
|
||||
}
|
||||
catch(ExcepcionTarisan ex)
|
||||
{
|
||||
LogTarisan.logger.log(NivelLog.ERROR, "Error en el bloqueo de usuario: " + ex + " (" + sqlUpdate + ")");
|
||||
throw ex;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Actualiza la fecha de último acceso a la aplicación una vez conectado con éxito.
|
||||
* <br>Escribe la fecha y hora actual en el campo FECHA_ULT_ACCESO de la tabla TAMEDICO.
|
||||
* @param codigo El código de usuario a modificar.
|
||||
* @param calHoy La fecha actual a poner como fecha de último acceso.
|
||||
* @return El resultado de la actualización en base de datos.
|
||||
* @throws
|
||||
*/
|
||||
public boolean actualizarFechaAcceso(int codigo, Calendar calHoy) throws ExcepcionTarisan
|
||||
{
|
||||
boolean resultado = true;
|
||||
Connection conexion = null;
|
||||
|
||||
StringBuffer sqlUpdate = new StringBuffer();
|
||||
sqlUpdate.append("UPDATE TAMEDICO");
|
||||
sqlUpdate.append(" SET FECHA_ULT_ACCESO = ?");
|
||||
sqlUpdate.append(" WHERE MEDICO = ?");
|
||||
|
||||
try
|
||||
{
|
||||
Object[] aValores = new Object[1];
|
||||
aValores[0] = new Timestamp(calHoy.getTimeInMillis());
|
||||
|
||||
Object[] aCondiciones = new Object[1];
|
||||
aCondiciones[0] = Integer.valueOf(codigo);
|
||||
|
||||
resultado = ParametrosConfiguracion.dataStore.actualizar(sqlUpdate.toString(), aValores, aCondiciones);
|
||||
}
|
||||
catch(ExcepcionTarisan ex)
|
||||
{
|
||||
LogTarisan.logger.log(NivelLog.ERROR, "Error en la actualización de la fecha de acceso de usuario: " + ex + " (" + sqlUpdate + ")");
|
||||
throw ex;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public Vector listado_usuarios(int pagina, String strCampoApellido)
|
||||
{
|
||||
int elementosPaginacion = 1;
|
||||
|
||||
Vector vResultado = new Vector();
|
||||
Tamedico tamedico = null;
|
||||
StringBuffer strSql = new StringBuffer();
|
||||
strSql.append("SELECT APELLIDOS, NOMBRE, MEDICO");
|
||||
strSql.append(" FROM TAMEDICO");
|
||||
Object aCondiciones[] = null;
|
||||
|
||||
//comprobamos si se trata de una busqueda por apellido
|
||||
if (!strCampoApellido.equalsIgnoreCase("")) //la sql tiene una condición de búsqueda
|
||||
{
|
||||
if (strCampoApellido.endsWith("*"))
|
||||
{
|
||||
strCampoApellido=strCampoApellido.replace('*', '%');
|
||||
}
|
||||
else
|
||||
{
|
||||
strCampoApellido="%" + strCampoApellido + "%";
|
||||
}
|
||||
|
||||
aCondiciones = new Object[1];
|
||||
aCondiciones[0] = strCampoApellido;
|
||||
strSql.append(" WHERE APELLIDOS LIKE ?");
|
||||
}
|
||||
else
|
||||
{
|
||||
aCondiciones = new Object[0];
|
||||
}
|
||||
strSql.append(" ORDER BY APELLIDOS, NOMBRE");
|
||||
|
||||
|
||||
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()))
|
||||
{
|
||||
tamedico = new Tamedico();
|
||||
tamedico.setApellidos(rs.getString("APELLIDOS"));
|
||||
tamedico.setMedico(rs.getInt("MEDICO"));
|
||||
tamedico.setNombre(rs.getString("NOMBRE"));
|
||||
vResultado.addElement(tamedico);
|
||||
if (pagina != 0)
|
||||
{
|
||||
elementosPaginacion++;
|
||||
}
|
||||
}
|
||||
}
|
||||
rs.close();
|
||||
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
|
||||
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " registros de la tabla TAMEDICO (" + strSql.toString() + ")");
|
||||
}
|
||||
catch (ExcepcionTarisan sqle)
|
||||
{
|
||||
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TAMEDICO: " + sqle + " (" + strSql.toString() + ")");
|
||||
}
|
||||
catch(SQLException sqle)
|
||||
{
|
||||
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TAMEDICO: " + sqle + " (" + strSql.toString() + ")");
|
||||
}
|
||||
catch(Exception sqle)
|
||||
{
|
||||
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TAMEDICO: " + sqle + " (" + strSql.toString() + ")");
|
||||
}
|
||||
|
||||
return vResultado;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Selecciona los registros de la tabla TAMEDICO en función de la sentencia SELECT indicada.
|
||||
* Retorna la lista con todos los usuarios de la aplicación.
|
||||
* @param sqlSelect La sentencia SELECT de selección.
|
||||
* @param pagina El número de página a mostrar.
|
||||
* @param aCondiciones El array que contiene las condiciones utilizadas en la sentencia SELECT.
|
||||
* @return El Vector con la lista de objetos <code>Tamedico</code> obtenidos.
|
||||
* @throws
|
||||
*/
|
||||
public Vector seleccionar(String sqlSelect, int pagina, Object[] aCondiciones) throws ExcepcionTarisan
|
||||
{
|
||||
int elementosPaginacion = 1;
|
||||
|
||||
Vector vResultado = new Vector();
|
||||
Tamedico tamedico = 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()))
|
||||
{
|
||||
tamedico = new Tamedico();
|
||||
tamedico.setApellidos(rs.getString("APELLIDOS"));
|
||||
tamedico.setMedico(rs.getInt("MEDICO"));
|
||||
tamedico.setNombre(rs.getString("NOMBRE"));
|
||||
vResultado.addElement(tamedico);
|
||||
if (pagina != 0)
|
||||
{
|
||||
elementosPaginacion++;
|
||||
}
|
||||
}
|
||||
}
|
||||
rs.close();
|
||||
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
|
||||
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " registros de la tabla TAMEDICO (" + sqlSelect + ")");
|
||||
}
|
||||
catch (ExcepcionTarisan sqle)
|
||||
{
|
||||
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TAMEDICO: " + sqle + " (" + sqlSelect + ")");
|
||||
throw (ExcepcionTarisan)sqle;
|
||||
}
|
||||
catch(SQLException sqle)
|
||||
{
|
||||
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TAMEDICO: " + sqle + " (" + sqlSelect + ")");
|
||||
throw new ExcepcionTarisan(sqle.getMessage());
|
||||
}
|
||||
catch(Exception sqle)
|
||||
{
|
||||
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TAMEDICO: " + sqle + " (" + sqlSelect + ")");
|
||||
throw new ExcepcionTarisan(sqle.getMessage());
|
||||
}
|
||||
catch(Throwable sqle)
|
||||
{
|
||||
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TAMEDICO: " + sqle + " (" + sqlSelect + ")");
|
||||
throw new ExcepcionTarisan(sqle.getMessage());
|
||||
|
||||
}
|
||||
|
||||
return vResultado;
|
||||
}
|
||||
|
||||
public Object seleccionarSimulado(int codigo) throws ExcepcionTarisan
|
||||
{
|
||||
Object retorno = null;
|
||||
Usuario usuario = null;
|
||||
StringBuffer sqlSelect = new StringBuffer();
|
||||
Connection conexion = null;
|
||||
|
||||
try
|
||||
{
|
||||
sqlSelect.append("SELECT MEDICO");
|
||||
sqlSelect.append(", NOMBRE");
|
||||
sqlSelect.append(", APELLIDOS");
|
||||
sqlSelect.append(", ESPECIALIDAD");
|
||||
sqlSelect.append(", TARIFA");
|
||||
sqlSelect.append(", NOMBRE_CAB");
|
||||
sqlSelect.append(", DIRECCION_CAB");
|
||||
sqlSelect.append(", POBLACION_CAB");
|
||||
sqlSelect.append(", TELEFONO_CAB");
|
||||
sqlSelect.append(", EMAIL_CAB");
|
||||
sqlSelect.append(", COLEGIADO_CAB");
|
||||
sqlSelect.append(", ESPECIALIDAD_CAB");
|
||||
sqlSelect.append(", BLOQUEO_CLAVE");
|
||||
sqlSelect.append(", FECHA_ULT_ACCESO");
|
||||
sqlSelect.append(", FECHA_MODIF_CLAVE");
|
||||
sqlSelect.append(", PASSWORD");
|
||||
sqlSelect.append(" FROM TAMEDICO");
|
||||
sqlSelect.append(" WHERE MEDICO = ?");
|
||||
|
||||
|
||||
conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
|
||||
|
||||
|
||||
Object aCondiciones[] = new Object[1];
|
||||
aCondiciones[0] = Integer.valueOf(codigo);
|
||||
|
||||
|
||||
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones);
|
||||
|
||||
while(rs.next())
|
||||
{
|
||||
|
||||
String nombre = "";
|
||||
if (rs.getString("NOMBRE") != null){
|
||||
nombre = rs.getString("NOMBRE") + " ";
|
||||
}
|
||||
|
||||
String ape = "";
|
||||
if (rs.getString("APELLIDOS") != null){
|
||||
ape = rs.getString("APELLIDOS");
|
||||
}
|
||||
|
||||
String nombreCab = "";
|
||||
if (rs.getString("NOMBRE_CAB") != null){
|
||||
nombreCab = rs.getString("NOMBRE_CAB");
|
||||
}
|
||||
|
||||
usuario = new Usuario();
|
||||
usuario.setMedico(rs.getInt("MEDICO"));
|
||||
usuario.setNombre(nombre + ape);
|
||||
usuario.setEspecialidad(rs.getInt("ESPECIALIDAD"));
|
||||
usuario.setTarifa(rs.getInt("TARIFA"));
|
||||
usuario.setNombreCab(nombreCab);
|
||||
usuario.setDireccionCab(rs.getString("DIRECCION_CAB"));
|
||||
usuario.setPoblacionCab(rs.getString("POBLACION_CAB"));
|
||||
usuario.setTelefonoCab(rs.getString("TELEFONO_CAB"));
|
||||
usuario.setEmailCab(rs.getString("EMAIL_CAB"));
|
||||
usuario.setColegiadoCab(rs.getString("COLEGIADO_CAB"));
|
||||
usuario.setEspecialidadCab(rs.getString("ESPECIALIDAD_CAB"));
|
||||
usuario.setFechaUltAcceso(rs.getTimestamp("FECHA_ULT_ACCESO"));
|
||||
}
|
||||
rs.close();
|
||||
|
||||
|
||||
retorno = usuario;
|
||||
|
||||
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
|
||||
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionado el usuario " + usuario + " de la tabla TAMEDICO (" + sqlSelect + ")");
|
||||
}
|
||||
catch(SQLException sqle)
|
||||
{
|
||||
usuario = null;
|
||||
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de usuario: " + sqle + " (" + sqlSelect + ")");
|
||||
throw new ExcepcionTarisan();
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
usuario = null;
|
||||
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de usuario: " + e + " (" + sqlSelect + ")");
|
||||
throw new ExcepcionTarisan();
|
||||
}
|
||||
|
||||
return retorno;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user