package com.tarisan.control; import com.tarisan.excepcion.*; import com.tarisan.log.*; import com.tarisan.util.Utilidades; import com.tarisan.data.Tavolin; import java.sql.*; import java.util.Calendar; import java.util.Vector; /** * * @author csm_jjripaper * */ public class PersistenciaTavolin implements Constantes { public boolean insertar(Tavolin tavol) { boolean resultado=false; StringBuffer sqlInsert = new StringBuffer(); Object[] aValores = new Object[13]; try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); LogTarisan.logger.log(NivelLog.DEBUG, "\n Datos Volante Ingreso: Nom_paciente: "+tavol.get_nombre()+", domicilio:"+tavol.get_domicilio()+", fec_nac: "+tavol.get_fecnac()); sqlInsert.append("Insert into tavolin (tarjeta, nombre, domicilio, fec_nac, nif, prescriptor, poliza, acto_medico, motivo_ingreso, juicio_diagnostico, fecha, pk, motivo_peticion)"); sqlInsert.append(" values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); aValores[0]=Long.valueOf(tavol.get_tarjeta()); LogTarisan.logger.log(NivelLog.DEBUG, "tarjeta : "+aValores[0]); aValores[1]=new String(tavol.get_nombre()); LogTarisan.logger.log(NivelLog.DEBUG, "nombre: "+aValores[1]); aValores[2]=new String(tavol.get_domicilio()); LogTarisan.logger.log(NivelLog.DEBUG, "domicilio: "+aValores[2]); aValores[3]=tavol.get_fecnac(); LogTarisan.logger.log(NivelLog.DEBUG, "fecnac: "+aValores[3]); aValores[4]=new String(tavol.get_nif()); LogTarisan.logger.log(NivelLog.DEBUG, "nif: "+aValores[4]); aValores[5]=Integer.valueOf(tavol.get_medico()); LogTarisan.logger.log(NivelLog.DEBUG, "medico: "+aValores[5]); aValores[6]=new String(tavol.get_poliza()); LogTarisan.logger.log(NivelLog.DEBUG, "poliza: "+aValores[6]); aValores[7]=Integer.valueOf(tavol.get_acto()); LogTarisan.logger.log(NivelLog.DEBUG, "acto: "+aValores[7]); aValores[8]=Integer.valueOf(tavol.get_motivo()); LogTarisan.logger.log(NivelLog.DEBUG, "motivo: "+aValores[8]); aValores[9]=new String(tavol.get_juicio()); LogTarisan.logger.log(NivelLog.DEBUG, "juicio: "+aValores[9]); aValores[10]=tavol.get_fecha(); LogTarisan.logger.log(NivelLog.DEBUG, "fecha: "+aValores[10]); aValores[11]=this.next_pk(); LogTarisan.logger.log(NivelLog.DEBUG, "pk: "+aValores[11]); aValores[12]=new String(tavol.get_motivo_peticion()); LogTarisan.logger.log(NivelLog.DEBUG, "motivo peti: "+aValores[12]); LogTarisan.logger.log(NivelLog.DEBUG, "Insert: "+Utilidades.obtenerSentenciaSQL(sqlInsert, aValores, null)); resultado = ParametrosConfiguracion.dataStore.insertar(sqlInsert.toString(), aValores, conexion); } catch (ExcepcionTarisan e) { LogTarisan.logger.log(NivelLog.ERROR, "Error al insertar el Volante de Ingreso"); } return resultado; } public Vector volantes_por_prescriptor(int medico, int pagina) { return this.volantes_por_prescriptor(medico, pagina, 0); } public Vector volantes_por_prescriptor(int medico, int pagina, int erroneos) { Vector resultado = new Vector(); Tavolin tavol = new Tavolin(); Object[] aCondiciones = new Object[1]; StringBuffer sqlSelect = new StringBuffer(); try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); sqlSelect.append("Select * from tavolin "); sqlSelect.append("where prescriptor = ? "); sqlSelect.append("and erroneo = "+erroneos); sqlSelect.append(" order by pk desc"); aCondiciones[0] = Integer.valueOf(medico); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString(), aCondiciones); while(rs.next()) { tavol = new Tavolin(); tavol.set_acto(rs.getInt("ACTO_MEDICO")); tavol.set_domicilio(rs.getString("DOMICILIO")); tavol.set_fecha(rs.getDate("FECHA")); tavol.set_fecnac(rs.getDate("FEC_NAC")); tavol.set_juicio(rs.getString("JUICIO_DIAGNOSTICO")); tavol.set_medico(rs.getInt("PRESCRIPTOR")); tavol.set_motivo(rs.getInt("MOTIVO_INGRESO")); tavol.set_nif(rs.getString("NIF")); tavol.set_nombre(rs.getString("NOMBRE")); tavol.set_poliza(rs.getString("POLIZA")); tavol.set_tarjeta(rs.getLong("TARJETA")); tavol.set_erroneo(rs.getInt("ERRONEO")); tavol.set_pk(rs.getInt("PK")); tavol.set_motivo_peticion(rs.getString("MOTIVO_PETICION")); resultado.add(tavol); } rs.close(); ParametrosConfiguracion.dataStore.liberarConexion(conexion); LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + resultado.size() +" volantes del medico " + medico); } catch (ExcepcionTarisan e){ LogTarisan.logger.log(NivelLog.ERROR, "Error al obtener los volantes del medico: "+medico); } catch (SQLException e) { LogTarisan.logger.log(NivelLog.ERROR, "Error al obtener los volantes del medico: "+medico); } return resultado; } public boolean marcar_volante_erroneo(int pk_volante) { boolean resultado = false; String sqlSelect = new String(); LogTarisan.logger.log(NivelLog.DEBUG, "Vamos a marcar el volante: "+pk_volante+" como erroneo"); try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); sqlSelect = "update tavolin set erroneo = 1 where pk = "+pk_volante; resultado = ParametrosConfiguracion.dataStore.actualizar(sqlSelect, conexion); ParametrosConfiguracion.dataStore.liberarConexion(conexion); } catch (ExcepcionTarisan e){ LogTarisan.logger.log(NivelLog.ERROR, "Error al marcar el volante: "+pk_volante+" como erroneo."); } LogTarisan.logger.log(NivelLog.DEBUG, "Volante "+pk_volante+" marcado como erroneo:"+resultado); return resultado; } private int next_pk() { int resul = 0; StringBuffer sqlSelect = new StringBuffer(); try { Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion(); sqlSelect.append("Select max(pk) NEXT from tavolin"); ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, sqlSelect.toString()); while(rs.next()) { resul = rs.getInt("NEXT"); } rs.close(); } catch (ExcepcionTarisan e){ resul = 0; } catch (SQLException e) { resul = 0; } return resul+1; } }