Files
tarisan_gitea/Fuentes/com/tarisan/control/PersistenciaVTTbancosTamedico.java
T
2025-06-09 13:37:06 +02:00

230 lines
8.6 KiB
Java

package com.tarisan.control;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import com.tarisan.data.Tamedico;
import com.tarisan.data.VTtbancosTamedico;
import com.tarisan.excepcion.ExcepcionTarisan;
import com.tarisan.log.LogTarisan;
import com.tarisan.log.NivelLog;
import com.tarisan.util.Utilidades;
public class PersistenciaVTTbancosTamedico {
/**
* 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 los registros de la JOIN entre tablas TTMEDICO y TTBANCOS en función de la sentencia SELECT indicada.
* @param sqlSelect La sentencia SELECT de selección.
* @param pagina Número de página a mostrar.
* @param aCondiciones Array que contiene los parámetros utilizados en la sentencia SELECT.
* @return El Vector con los registros seleccionados (todos pertenencientes a la clase <code></code>).
* @throws
*/
public Vector seleccionar(String sqlSelect, int pagina, Object[] aCondiciones) throws ExcepcionTarisan
{
int elementosPaginacion=1;
Vector vResultado = new Vector();
VTtbancosTamedico vTtbancosTamedico = 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()))
{
vTtbancosTamedico = new VTtbancosTamedico();
vTtbancosTamedico.setNif(rs.getString("NIF"));
vTtbancosTamedico.setNombre(rs.getString("NOMBRE"));
vTtbancosTamedico.setApellidos(rs.getString("APELLIDOS"));
vTtbancosTamedico.setDireccion(rs.getString("DIRECCION"));
vTtbancosTamedico.setCp(rs.getString("CP"));
vTtbancosTamedico.setPoblacion(rs.getString("POBLACION"));
vTtbancosTamedico.setDescripcion(rs.getString("DESCRIPCION"));
vTtbancosTamedico.setIban_sucursal(rs.getInt("IBAN_SUCURSAL"));
vTtbancosTamedico.setIban_cuenta(rs.getString("IBAN_CUENTA"));
vTtbancosTamedico.setMes(rs.getString("MES"));
vTtbancosTamedico.setFecha_factura(rs.getDate("FECHA_FACTURA"));
vTtbancosTamedico.setFactura(rs.getInt("FACTURA"));
vTtbancosTamedico.setCla(rs.getString("CLA"));
vResultado.addElement(vTtbancosTamedico);
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 las tablas TTBANCOS, TTMEDICO y TALIQUIMEDI (" + sqlSelect + ")");
}
catch (ExcepcionTarisan sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTBANCOS, TTMEDICO y TALIQUIMEDI: " + sqle + " (" + sqlSelect + ")");
throw (ExcepcionTarisan)sqle;
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTBANCOS, TTMEDICO y TALIQUIMEDI: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Exception sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTBANCOS, TTMEDICO y TALIQUIMEDI: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Throwable sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTBANCOS, TTMEDICO y TALIQUIMEDI: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
return vResultado;
}
public Vector seleccionar_reducido(String sqlSelect, int pagina, Object[] aCondiciones) throws ExcepcionTarisan
{
int elementosPaginacion=1;
Vector vResultado = new Vector();
VTtbancosTamedico vTtbancosTamedico = 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()))
{
vTtbancosTamedico = new VTtbancosTamedico();
vTtbancosTamedico.setNif(rs.getString("NIF"));
vTtbancosTamedico.setNombre(rs.getString("NOMBRE"));
vTtbancosTamedico.setApellidos(rs.getString("APELLIDOS"));
vTtbancosTamedico.setDireccion(rs.getString("DIRECCION"));
vTtbancosTamedico.setCp(rs.getString("CP"));
vTtbancosTamedico.setPoblacion(rs.getString("POBLACION"));
vTtbancosTamedico.setDescripcion(rs.getString("DESCRIPCION"));
vTtbancosTamedico.setIban_sucursal(rs.getInt("IBAN_SUCURSAL"));
vTtbancosTamedico.setIban_cuenta(rs.getString("IBAN_CUENTA"));
vResultado.addElement(vTtbancosTamedico);
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 las tablas TTBANCOS y TTMEDICO (" + sqlSelect + ")");
}
catch (ExcepcionTarisan sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTBANCOS y TTMEDICO: " + sqle + " (" + sqlSelect + ")");
throw (ExcepcionTarisan)sqle;
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTBANCOS y TTMEDICO: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Exception sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTBANCOS y TTMEDICO: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Throwable sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTBANCOS y TTMEDICO: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
return vResultado;
}
public Vector obtenerMedico_por_medico_origen(int medico, int intPagina)
{
Vector resul = null;
StringBuffer strSql = new StringBuffer();
Object [] aCondiciones = new Object[1];
String consulta = "";
strSql.append("select distinct(ttmedico.nombre), ttmedico.apellidos, ttmedico.direccion, ttmedico.cp, ttmedico.poblacion, nif, ttbancos.descripcion, iban_sucursal, iban_cuenta");
strSql.append(" from ttmedico, TTBANCOS");
strSql.append(" where ttmedico.medico = ?");
strSql.append(" and ttmedico.iban_banco = ttbancos.iban_banco");
aCondiciones[0] = Integer.valueOf(medico);
try {
resul = this.seleccionar_reducido(strSql.toString(),intPagina, aCondiciones);
consulta = Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones);
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de TTBANCOS_TTMEDICO (obtenerMedico): " + e + " (" + consulta + ")");
}
return resul;
}
public Vector obtenerMedico_por_medico_y_mes(int medico, String mes, int intPagina)
{
Vector resul = null;
StringBuffer strSql = new StringBuffer();
Object [] aCondiciones = new Object[2];
String consulta = "";
strSql.append("select distinct(ttmedico.nombre), ttmedico.apellidos, ttmedico.direccion, ttmedico.cp, ttmedico.poblacion, concat(mes, concat('/',año)) mes, fecha_factura, factura, nif, ttbancos.descripcion, iban_sucursal, iban_cuenta, (select ttmedico.cla from ttmedico where ttmedico.medico = taliquimedi.medico_origen) cla");
strSql.append(" from ttmedico, taliquimedi,TTBANCOS");
strSql.append(" where ttmedico.medico = ?");
strSql.append(" AND ttmedico.MEDICO = TALIQUIMEDI.MEDICO");
strSql.append(" and concat(mes, concat('/',año)) = ?");
strSql.append(" and ttmedico.iban_banco = ttbancos.iban_banco");
aCondiciones[0] = Integer.valueOf(medico);
aCondiciones[1] = new String(mes);
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 TTBANCOS_TTMEDICO_TALIQUIMEDI (obtenerMedico): " + e + " (" + consulta + ")");
}
return resul;
}
}