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

1036 lines
58 KiB
Java

/*
* Created on 14-dic-2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.tarisan.control;
import com.tarisan.data.Paciente;
import com.tarisan.data.Ttrayos;
import com.tarisan.data.VTaresanaTamedico;
import com.tarisan.log.*;
import com.tarisan.util.DES;
import com.tarisan.util.Utilidades;
import com.tarisan.excepcion.ExcepcionTarisan;
import java.sql.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Vector;
/**
* @author Roumen
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class PersistenciaVTaprescaTamedico {
/**
* 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;
}
public Vector seleccionar_his(String sqlSelect, int pagina, Object[] aCondiciones) throws ExcepcionTarisan
{
int elementosPaginacion=1;
Vector vResultado = new Vector();
VTaresanaTamedico vTaresanaTamedico = null;
try
{
//Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
String url = "";
StringBuffer cadenaConexion = new StringBuffer();
cadenaConexion.append("jdbc:oracle:thin:");
cadenaConexion.append(ParametrosConfiguracion.dbhis_usuario);
cadenaConexion.append("/");
cadenaConexion.append(ParametrosConfiguracion.dbhis_password);
cadenaConexion.append("@");
cadenaConexion.append(ParametrosConfiguracion.dbhis_maquina);
cadenaConexion.append(":");
cadenaConexion.append(ParametrosConfiguracion.dbhis_puerto);
cadenaConexion.append(":");
cadenaConexion.append(ParametrosConfiguracion.dbhis_instancia);
LogTarisan.logger.log(NivelLog.INFO,cadenaConexion.toString());
url = cadenaConexion.toString();
DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
Connection conexion_his = DriverManager.getConnection(url);
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion_his, sqlSelect, aCondiciones);
objPaginacion.inicializarPaginacion(rs);
if (objPaginacion.getNumeroRegistrosTotales()!=0)
{
objPaginacion.realizarPaginacion(rs, pagina);
while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina()))
{
vTaresanaTamedico = new VTaresanaTamedico();
vTaresanaTamedico.setNombre(rs.getString("NOMBRE"));
vTaresanaTamedico.setApellidos(rs.getString("APELLIDOS"));
vTaresanaTamedico.setFecha(rs.getDate("FECHA"));
vTaresanaTamedico.setAutorizacion(rs.getLong("AUTORIZACION"));
vTaresanaTamedico.setPrescriptor(rs.getInt("PRESCRIPTOR"));
vResultado.addElement(vTaresanaTamedico);
if (pagina!=0) //Se quiere realizar la paginacion
elementosPaginacion++;
}
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion_his);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + vResultado.size() + " registros de la tabla de his (" + sqlSelect + ")");
}
catch (ExcepcionTarisan sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la tabla de his: " + sqle + " (" + sqlSelect + ")");
throw (ExcepcionTarisan)sqle;
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la tabla de his: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Exception sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la tabla de his: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Throwable sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de la tabla de his: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
return vResultado;
}
/**
* Selecciona los registros de la JOIN entre tablas TAMEDICO y tapresca_tarisan 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>VTaprescrTamedico</code>).
* @throws
*/
public Vector seleccionar(String sqlSelect, int pagina, Object[] aCondiciones) throws ExcepcionTarisan
{
int elementosPaginacion=1;
Vector vResultado = new Vector();
VTaresanaTamedico vTaresanaTamedico = 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()))
{
vTaresanaTamedico = new VTaresanaTamedico();
vTaresanaTamedico.setNombre(rs.getString("NOMBRE"));
vTaresanaTamedico.setApellidos(rs.getString("APELLIDOS"));
vTaresanaTamedico.setFecha(rs.getDate("FECHA"));
vTaresanaTamedico.setAutorizacion(rs.getLong("AUTORIZACION"));
vTaresanaTamedico.setPrescriptor(rs.getInt("PRESCRIPTOR"));
vResultado.addElement(vTaresanaTamedico);
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 tapresca_tarisan (" + sqlSelect + ")");
}
catch (ExcepcionTarisan sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de tapresca_tarisan: " + sqle + " (" + sqlSelect + ")");
throw (ExcepcionTarisan)sqle;
}
catch(SQLException sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de tapresca_tarisan: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Exception sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de tapresca_tarisan: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
catch(Throwable sqle)
{
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de tapresca_tarisan: " + sqle + " (" + sqlSelect + ")");
throw new ExcepcionTarisan(sqle.getMessage());
}
return vResultado;
}
public Vector listado_autorizaciones_por_medico(long autorizacion, int intPagina)
{
Vector resul = new Vector();
StringBuffer strSql = new StringBuffer();
Object [] aCondiciones = new Object[1];
String consulta = "";
strSql.append("select distinct(tapresca_tarisan.AUTORIZACION), tamedico.NOMBRE, tamedico.apellidos, tapresca_tarisan.PRESCRIPTOR, tapresca_tarisan.FECHA");
strSql.append(" from tamedico, tapresca_tarisan");
strSql.append(" where tamedico.MEDICO = tapresca_tarisan.PRESCRIPTOR");
strSql.append(" and tapresca_tarisan.autorizacion = ?");
strSql.append(" order by tapresca_tarisan.fecha desc");
aCondiciones[0]=Long.valueOf(autorizacion);
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 Tapresca-tamedico (listado_autorizaciones_por_medico): " + e + " (" + consulta + ")");
}
return resul;
}
public Vector listado_analiticas_paciente(String colectivo, String poliza, String orden, Date fecha, int intPagina)
{
Vector resul = new Vector();
StringBuffer strSql = new StringBuffer();
Object [] aCondiciones = new Object[2];
String consulta = "";
strSql.append("select NOMBRE, APELLIDOS,FECHA, AUTORIZACION, PRESCRIPTOR FROM (");
strSql.append("select NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL FECHA ,TRIM(NOVAHIS.fpersona.NOMBRE) NOMBRE, TRIM(NOVAHIS.fpersona.APELLIDO1) || ' ' ||TRIM(NOVAHIS.fpersona.APELLIDO2) APELLIDOS, REPLACE(NHGP_PETICION_CAB.NHGP_PETC_ID,'-','') AUTORIZACION, NOVAHIS.fpersona.CODIGO_PERSONAL PRESCRIPTOR");
strSql.append(" from NOVAHIS.Co_cli_planes, NOVAHIS.cliente_pagadores,NOVAHIS.NHGP_PETICION_CAB, NOVAHIS.fpersona");
strSql.append(" WHERE NOVAHIS.Co_cli_planes.num_afil = ?");
strSql.append(" and NOVAHIS.Co_cli_planes.CLIPAG_PK = NOVAHIS.cliente_pagadores.CLIPAG_PK");
strSql.append(" and NOVAHIS.cliente_pagadores.CODIGO_CLIENTE = NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PAC");
strSql.append(" and NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL = NOVAHIS.fpersona.CODIGO_PERSONAL");
strSql.append(" and NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_tact = 2");
strSql.append(" and NOVAHIS.NHGP_PETICION_CAB.nhgp_petc_estado = 2");
strSql.append(" and NOVAHIS.NHGP_PETICION_CAB.nhgp_petc_FSOL >= ?");
strSql.append(" GROUP BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL,TRIM(NOVAHIS.fpersona.NOMBRE), TRIM(NOVAHIS.fpersona.APELLIDO1),TRIM(NOVAHIS.fpersona.APELLIDO2), NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID, NOVAHIS.fpersona.CODIGO_PERSONAL");
strSql.append(" ORDER BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL DESC)");
String colec,pol,ord;
int longitud;
colec = colectivo;
pol = poliza;
ord = orden;
longitud = colec.length();
for(int i = 0; i < 5 - longitud ; i++)
{
colec = "0" + colec;
}
longitud = pol.length();
for(int i = 0; i < (12 - longitud); i++)
{
pol = "0" + pol;
}
longitud = ord.length();
for(int i = 0; i < (2 - longitud); i++)
{
ord = "0" + ord;
}
aCondiciones[0] = colec + "-" + pol + "-" + ord ;
aCondiciones[1] = fecha;
try {
resul = this.seleccionar_his(strSql.toString(), intPagina, aCondiciones);
consulta = Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones);
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de Tapresca-tamedico (listado_analiticas_paciente): " + e + " (" + consulta + ")");
}
return resul;
}
public Vector listado_analiticas_por_tarjeta(Paciente pac, int intPagina)
{
Vector resul = new Vector();
StringBuffer strSql = new StringBuffer();
Object [] aCondiciones = new Object[1];
String consulta = "";
strSql.append("select distinct(tapresca_tarisan.AUTORIZACION), tamedico.NOMBRE, tamedico.apellidos, tapresca_tarisan.PRESCRIPTOR, tapresca_tarisan.FECHA");
strSql.append(" from tamedico, tapresca_tarisan");
strSql.append(" where tamedico.MEDICO = tapresca_tarisan.PRESCRIPTOR");
strSql.append(" and tapresca_tarisan.tarjeta = ?");
strSql.append(" and tapresca_tarisan.especialidad = 4");
strSql.append(" order by tapresca_tarisan.fecha desc,");
strSql.append(" tapresca_tarisan.autorizacion desc");
//Paciente pac = (Paciente)sesion.getAttribute("PACIENTE");
if(pac.getDesplazado() == null)
pac.setDesplazado(pac.getTarjeta().getEntidadChipcard());
if (pac.getDesplazado().compareTo(ParametrosConfiguracion.bin_chipcard_propios) == 0)
{
aCondiciones[0]=(Integer.valueOf( pac.getTarjeta().getTarjeta())).toString();
}
else
{
aCondiciones[0]=new String( pac.getTarjeta().getTarjetaDesplazado());
}
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 Tapresca-tamedico (listado_analiticas_paciente): " + e + " (" + consulta + ")");
}
return resul;
}
public Vector listado_analiticas_por_paciente(String colectivo, String poliza, String orden, Date fecha, Paciente pac, int medico, int intPagina) throws SQLException, ParseException
{
int elementosPaginacion=1;
Vector resul = new Vector();
VTaresanaTamedico vTaresanaTamedico = null;
String strMedico = ""+medico;
boolean vPeticionConGuion;
String tarjeta = "";
if(pac.getDesplazado() == null)
pac.setDesplazado(pac.getTarjeta().getEntidadChipcard());
if (pac.getDesplazado().compareTo(ParametrosConfiguracion.bin_chipcard_propios) == 0)
{
tarjeta=(Integer.valueOf( pac.getTarjeta().getTarjeta())).toString();
}
else
{
tarjeta=new String( pac.getTarjeta().getTarjetaDesplazado());
}
String colec,pol,ord;
int longitud;
colec = colectivo.trim();
pol = poliza.trim();
ord = orden.trim();
longitud = colec.length();
for(int i = 0; i < 5 - longitud ; i++)
{
colec = "0" + colec;
}
longitud = pol.length();
for(int i = 0; i < (12 - longitud); i++)
{
pol = "0" + pol;
}
longitud = ord.length();
for(int i = 0; i < (2 - longitud); i++)
{
ord = "0" + ord;
}
String fecha_texto = fecha.toString();
String prueba = "SELECT NOMBRE, APELLIDOS, FECHA, AUTORIZACION, IGUALADA, PRESCRIPTOR, EXTRACCION FROM (SELECT NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL FECHA, TRIM(NOVAHIS.FPERSONA.NOMBRE) NOMBRE, TRIM(NOVAHIS.FPERSONA.APELLIDO1) || ' ' || TRIM(NOVAHIS.FPERSONA.APELLIDO2) APELLIDOS, NHGP_PETICION_CAB.NHGP_PETC_ID AUTORIZACION, '0' IGUALADA, NOVAHIS.FPERSONA.CODIGO_PERSONAL PRESCRIPTOR, NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO AS EXTRACCION FROM NOVAHIS.CO_CLI_PLANES, NOVAHIS.CLIENTE_PAGADORES, NOVAHIS.NHGP_PETICION_CAB, NOVAHIS.FPERSONA WHERE NOVAHIS.CO_CLI_PLANES.NUM_AFIL = '"+ colec + "-" + pol + "-" + ord +"' AND NOVAHIS.CO_CLI_PLANES.CLIPAG_PK = NOVAHIS.CLIENTE_PAGADORES.CLIPAG_PK AND NOVAHIS.CLIENTE_PAGADORES.CODIGO_CLIENTE = NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PAC AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL = NOVAHIS.FPERSONA.CODIGO_PERSONAL AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_TACT = 2 AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL >=TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd') AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_EPI NOT IN (SELECT NOVAHIS.NHGP_PETIN_CAB.NHGP_ID_PROCESO FROM NOVAHIS.NHGP_PETIN_CAB) GROUP BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL, TRIM(NOVAHIS.FPERSONA.NOMBRE), TRIM(NOVAHIS.FPERSONA.APELLIDO1), TRIM(NOVAHIS.FPERSONA.APELLIDO2), NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID, NOVAHIS.FPERSONA.CODIGO_PERSONAL, NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO UNION SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, ''||TAPRESCA_TARISAN.AUTORIZACION, ''||P.PETICION_GPC IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, C.NHGP_PETC_ESTADO AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P, NOVAHIS.NHGP_PETICION_CAB C WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta +"' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND P.NHGP_REFEXT = TO_CHAR(TAPRESCA_TARISAN.AUTORIZACION) AND TAPRESCA_TARISAN.FECHA >= TO_DATE('"+ fecha_texto + "', 'yyyy-mm-dd') AND P.PETICION_GPC IS NOT NULL AND P.NHGP_ID_PROCESO = C.NHGP_PETC_EPI AND C.NHGP_PETC_TACT = 2 GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, P.PETICION_GPC, TAPRESCA_TARISAN.PRESCRIPTOR, C.NHGP_PETC_ESTADO UNION(SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, ''||TAPRESCA_TARISAN.AUTORIZACION, '0' IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, (SELECT COUNT(TAMOVEXT_ESPIA.AUTORIZACION) FROM TAMOVEXT_ESPIA WHERE TAMOVEXT_ESPIA.AUTORIZACION = TAPRESCA_TARISAN.AUTORIZACION ) AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta + "' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND TAPRESCA_TARISAN.FECHA >= TO_DATE ('" + fecha_texto + "', 'yyyy-mm-dd') GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.PRESCRIPTOR MINUS SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, ''||TAPRESCA_TARISAN.AUTORIZACION, '0' IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, (SELECT COUNT(TAMOVEXT_ESPIA.AUTORIZACION) FROM TAMOVEXT_ESPIA WHERE TAMOVEXT_ESPIA.AUTORIZACION = TAPRESCA_TARISAN.AUTORIZACION ) AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta + "' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND P.NHGP_REFEXT = TO_CHAR(TAPRESCA_TARISAN.AUTORIZACION) AND TAPRESCA_TARISAN.FECHA >= TO_DATE('"+ fecha_texto +"', 'yyyy-mm-dd') GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.PRESCRIPTOR)) ORDER BY FECHA DESC, AUTORIZACION DESC";
//String prueba = "SELECT NOMBRE, APELLIDOS, FECHA, AUTORIZACION, IGUALADA, PRESCRIPTOR, EXTRACCION FROM (SELECT NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL FECHA, TRIM(NOVAHIS.FPERSONA.NOMBRE) NOMBRE, TRIM(NOVAHIS.FPERSONA.APELLIDO1) || ' ' || TRIM(NOVAHIS.FPERSONA.APELLIDO2) APELLIDOS, TO_NUMBER(NHGP_PETICION_CAB.NHGP_PETC_ID) AUTORIZACION, 0 IGUALADA, NOVAHIS.FPERSONA.CODIGO_PERSONAL PRESCRIPTOR, NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO AS EXTRACCION FROM NOVAHIS.CO_CLI_PLANES, NOVAHIS.CLIENTE_PAGADORES, NOVAHIS.NHGP_PETICION_CAB, NOVAHIS.FPERSONA WHERE NOVAHIS.CO_CLI_PLANES.NUM_AFIL = '"+ colec + "-" + pol + "-" + ord +"' AND NOVAHIS.CO_CLI_PLANES.CLIPAG_PK = NOVAHIS.CLIENTE_PAGADORES.CLIPAG_PK AND NOVAHIS.CLIENTE_PAGADORES.CODIGO_CLIENTE = NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PAC AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL = NOVAHIS.FPERSONA.CODIGO_PERSONAL AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_TACT = 2 AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL >=TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd') AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_EPI NOT IN (SELECT NOVAHIS.NHGP_PETIN_CAB.NHGP_ID_PROCESO FROM NOVAHIS.NHGP_PETIN_CAB) GROUP BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL, TRIM(NOVAHIS.FPERSONA.NOMBRE), TRIM(NOVAHIS.FPERSONA.APELLIDO1), TRIM(NOVAHIS.FPERSONA.APELLIDO2), NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID, NOVAHIS.FPERSONA.CODIGO_PERSONAL, NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO UNION SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, TO_NUMBER(P.PETICION_GPC) IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, C.NHGP_PETC_ESTADO AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P, NOVAHIS.NHGP_PETICION_CAB C WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta +"' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND P.NHGP_REFEXT = TO_CHAR(TAPRESCA_TARISAN.AUTORIZACION) AND TAPRESCA_TARISAN.FECHA >= TO_DATE('"+ fecha_texto + "', 'yyyy-mm-dd') AND P.PETICION_GPC IS NOT NULL AND P.NHGP_ID_PROCESO = C.NHGP_PETC_EPI AND C.NHGP_PETC_TACT = 2 GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, P.PETICION_GPC, TAPRESCA_TARISAN.PRESCRIPTOR, C.NHGP_PETC_ESTADO UNION(SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, 0 IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, (SELECT COUNT(TAMOVEXT_ESPIA.AUTORIZACION) FROM TAMOVEXT_ESPIA WHERE TAMOVEXT_ESPIA.AUTORIZACION = TAPRESCA_TARISAN.AUTORIZACION ) AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta + "' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND TAPRESCA_TARISAN.FECHA >= TO_DATE ('" + fecha_texto + "', 'yyyy-mm-dd') GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.PRESCRIPTOR MINUS SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, 0 IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, (SELECT COUNT(TAMOVEXT_ESPIA.AUTORIZACION) FROM TAMOVEXT_ESPIA WHERE TAMOVEXT_ESPIA.AUTORIZACION = TAPRESCA_TARISAN.AUTORIZACION ) AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta + "' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND P.NHGP_REFEXT = TO_CHAR(TAPRESCA_TARISAN.AUTORIZACION) AND TAPRESCA_TARISAN.FECHA >= TO_DATE('"+ fecha_texto +"', 'yyyy-mm-dd') GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.PRESCRIPTOR)) ORDER BY FECHA DESC, AUTORIZACION DESC";
//String prueba = "SELECT NOMBRE, APELLIDOS, FECHA, AUTORIZACION, IGUALADA, PRESCRIPTOR, EXTRACCION FROM (SELECT NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL FECHA, TRIM(NOVAHIS.FPERSONA.NOMBRE) NOMBRE, TRIM(NOVAHIS.FPERSONA.APELLIDO1) || ' ' || TRIM(NOVAHIS.FPERSONA.APELLIDO2) APELLIDOS, TO_NUMBER(NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID) AUTORIZACION, 0 IGUALADA, NOVAHIS.FPERSONA.CODIGO_PERSONAL PRESCRIPTOR, NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO AS EXTRACCION FROM NOVAHIS.CO_CLI_PLANES, NOVAHIS.CLIENTE_PAGADORES, NOVAHIS.NHGP_PETICION_CAB, NOVAHIS.FPERSONA WHERE NOVAHIS.CO_CLI_PLANES.NUM_AFIL = '"+ colec + "-" + pol + "-" + ord +"' AND NOVAHIS.CO_CLI_PLANES.CLIPAG_PK = NOVAHIS.CLIENTE_PAGADORES.CLIPAG_PK AND NOVAHIS.CLIENTE_PAGADORES.CODIGO_CLIENTE = NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PAC AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL = NOVAHIS.FPERSONA.CODIGO_PERSONAL AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_TACT = 2 AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL >=TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd') AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_EPI NOT IN (SELECT NOVAHIS.NHGP_PETIN_CAB.NHGP_ID_PROCESO FROM NOVAHIS.NHGP_PETIN_CAB) GROUP BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL, TRIM(NOVAHIS.FPERSONA.NOMBRE), TRIM(NOVAHIS.FPERSONA.APELLIDO1), TRIM(NOVAHIS.FPERSONA.APELLIDO2), NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID, NOVAHIS.FPERSONA.CODIGO_PERSONAL, NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO UNION SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, TO_NUMBER(P.PETICION_GPC) IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, C.NHGP_PETC_ESTADO AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P, NOVAHIS.NHGP_PETICION_CAB C WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta +"' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND P.NHGP_REFEXT = TO_CHAR(TAPRESCA_TARISAN.AUTORIZACION) AND TAPRESCA_TARISAN.FECHA >= TO_DATE('"+ fecha_texto + "', 'yyyy-mm-dd') AND P.PETICION_GPC IS NOT NULL AND P.NHGP_ID_PROCESO = C.NHGP_PETC_EPI AND C.NHGP_PETC_TACT = 2 GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, P.PETICION_GPC, TAPRESCA_TARISAN.PRESCRIPTOR, C.NHGP_PETC_ESTADO UNION(SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, 0 IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, (SELECT COUNT(TAMOVEXT_ESPIA.AUTORIZACION) FROM TAMOVEXT_ESPIA WHERE TAMOVEXT_ESPIA.AUTORIZACION = TAPRESCA_TARISAN.AUTORIZACION ) AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta + "' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND TAPRESCA_TARISAN.FECHA >= TO_DATE ('" + fecha_texto + "', 'yyyy-mm-dd') GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.PRESCRIPTOR MINUS SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, 0 IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR, (SELECT COUNT(TAMOVEXT_ESPIA.AUTORIZACION) FROM TAMOVEXT_ESPIA WHERE TAMOVEXT_ESPIA.AUTORIZACION = TAPRESCA_TARISAN.AUTORIZACION ) AS EXTRACCION FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta + "' AND TAPRESCA_TARISAN.ESPECIALIDAD = 4 AND P.NHGP_REFEXT = TO_CHAR(TAPRESCA_TARISAN.AUTORIZACION) AND TAPRESCA_TARISAN.FECHA >= TO_DATE('"+ fecha_texto +"', 'yyyy-mm-dd') GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.PRESCRIPTOR)) ORDER BY FECHA DESC, AUTORIZACION DESC";
try {
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, prueba);
objPaginacion.inicializarPaginacion(rs);
if (objPaginacion.getNumeroRegistrosTotales()!=0)
{
objPaginacion.realizarPaginacion(rs, intPagina);
while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina()))
{
DES encrypter = new DES(strMedico);
vPeticionConGuion = false;
String auto = rs.getString("AUTORIZACION");
String autoEncriptada = encrypter.encrypt(auto);
if (auto.indexOf("-") != -1) {
vPeticionConGuion = true;
auto = auto.replace("-", "");
}
String iguaEncriptada = "0";
if (rs.getString("IGUALADA").compareTo("0")!=0){
iguaEncriptada = encrypter.encrypt(rs.getString("IGUALADA"));
}
vTaresanaTamedico = new VTaresanaTamedico();
vTaresanaTamedico.setNombre(rs.getString("NOMBRE"));
vTaresanaTamedico.setApellidos(rs.getString("APELLIDOS"));
vTaresanaTamedico.setFecha(rs.getDate("FECHA"));
/*vTaresanaTamedico.setAutorizacion(rs.getLong("AUTORIZACION"));*/
vTaresanaTamedico.setAutorizacion(Long.parseLong(auto));
vTaresanaTamedico.setIgualada(rs.getString("IGUALADA"));
vTaresanaTamedico.setAutorizacionEncriptada(autoEncriptada);
vTaresanaTamedico.setIgualadaEncriptada(iguaEncriptada);
vTaresanaTamedico.setPrescriptor(rs.getInt("PRESCRIPTOR"));
vTaresanaTamedico.setExtraccion(rs.getInt("EXTRACCION"));
vTaresanaTamedico.setPeticionConGuion(vPeticionConGuion);
resul.addElement(vTaresanaTamedico);
if (intPagina!=0) //Se quiere realizar la paginacion
elementosPaginacion++;
}
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + resul.size() + " registros de la tabla de his (" + prueba + ")");
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de Tapresca-tamedico-Petin-peticion (listado_analiticas_por_paciente): " + e + " (" + prueba + ")");
}
return resul;
}
public Vector listado_analiticas_por_medico(int medico, Date fecha, int intPagina) throws ExcepcionTarisan, SQLException, ParseException
{
return this.listado_analiticas_por_medico(medico, fecha, "", "", "", intPagina);
}
public Vector listado_analiticas_por_medico(int medico, Date fecha, String ape1, String ape2, String nom, int intPagina) throws SQLException, ParseException
{
int elementosPaginacion=1;
Vector resul = new Vector();
boolean vPeticionConGuion;
VTaresanaTamedico vTaresanaTamedico = null;
StringBuffer strSql = new StringBuffer();
String strMedico = ""+medico;
String strApe1 = "";
String strApe2 = "";
String strApellidos = "%%";
String strNom = "";
if (!ape1.equals("")){
strApe1 = ape1;
}
if (!ape2.equals("")){
strApe2 = ape2;
}
if ((!ape1.equals(""))||(!ape2.equals(""))){
if ((!ape1.equals(""))&&(!ape2.equals(""))){
strApellidos = "%"+ape1+"%"+ape2+"%";
}else if(!ape1.equals("")){
strApellidos = ape1+"%";
}else{
strApellidos = "%"+ape2+"%";
}
//strApellidos = ape1+"%"+ape2;
}
if (!nom.equals("")){
strNom = nom;
}
Object [] aCondiciones = new Object[8];
String consulta = "";
strSql.append("select NOMBRE, APELLIDOS,FECHA, AUTORIZACION, IGUALADA, PRESCRIPTOR, EXTRACCION FROM (");
strSql.append(" select NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL FECHA ,TRIM(NOVAHIS.CLIENTES.NOMBRE) NOMBRE, TRIM(NOVAHIS.CLIENTES.APELLIDO1) || ' ' ||TRIM(NOVAHIS.CLIENTES.APELLIDO2) APELLIDOS, NHGP_PETICION_CAB.NHGP_PETC_ID AUTORIZACION, '0' IGUALADA, NOVAHIS.fpersona.CODIGO_PERSONAL PRESCRIPTOR, NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO AS EXTRACCION");
strSql.append(" from NOVAHIS.Co_cli_planes, NOVAHIS.cliente_pagadores,NOVAHIS.NHGP_PETICION_CAB, NOVAHIS.fpersona, novahis.csm_medicos_imq, NOVAHIS.CLIENTES");
strSql.append(" WHERE NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL =CSM_MEDICOS_IMQ.MEDICO_CSM");
strSql.append(" and CSM_MEDICOS_IMQ.MEDICO_IMQ = ?");
strSql.append(" and NOVAHIS.Co_cli_planes.CLIPAG_PK = NOVAHIS.cliente_pagadores.CLIPAG_PK");
strSql.append(" and NOVAHIS.cliente_pagadores.CODIGO_CLIENTE = NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PAC");
strSql.append(" AND NOVAHIS.CLIENTE_PAGADORES.CODIGO_CLIENTE = NOVAHIS.CLIENTES.CODIGO_CLIENTE");
strSql.append(" and NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL = NOVAHIS.fpersona.CODIGO_PERSONAL");
strSql.append(" and NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_tact = 2");
//strSql.append(" and NOVAHIS.NHGP_PETICION_CAB.nhgp_petc_estado = 2");
strSql.append(" and NOVAHIS.NHGP_PETICION_CAB.nhgp_petc_FSOL >= ?");
strSql.append(" AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_EPI not IN (SELECT NOVAHIS.NHGP_PETIN_CAB.NHGP_ID_PROCESO FROM NOVAHIS.NHGP_PETIN_CAB)");
strSql.append(" and NOVAHIS.CLIENTES.APELLIDO1 LIKE '%" + strApe1 + "%'");
strSql.append(" and NOVAHIS.CLIENTES.APELLIDO2 LIKE '%" + strApe2 + "%'");
strSql.append(" and NOVAHIS.CLIENTES.NOMBRE LIKE '%" + strNom + "%'");
strSql.append(" GROUP BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL,TRIM(NOVAHIS.CLIENTES.NOMBRE), TRIM(NOVAHIS.CLIENTES.APELLIDO1),TRIM(NOVAHIS.CLIENTES.APELLIDO2), NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID, NOVAHIS.fpersona.CODIGO_PERSONAL, NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO");
strSql.append(" UNION");
strSql.append(" SELECT tapresca_tarisan.FECHA, TTCLIENT.NOMBRE, TTCLIENT.apellidos, ''||tapresca_tarisan.AUTORIZACION, ''||C.NHGP_PETC_ID IGUALADA, tapresca_tarisan.PRESCRIPTOR, C.NHGP_PETC_ESTADO AS EXTRACCION");
strSql.append(" FROM TTCLIENT, TTBENEFI, tapresca_tarisan, novahis.csm_nhgp_petin_cab p, NOVAHIS.NHGP_PETICION_CAB C");
strSql.append(" WHERE TAPRESCA_TARISAN.COLEC = TTBENEFI.COLECTIVO");
strSql.append(" AND TAPRESCA_TARISAN.POLIZA = TTBENEFI.POLIZA");
strSql.append(" AND TAPRESCA_TARISAN.ORDEN = TTBENEFI.ORDEN");
strSql.append(" AND TTBENEFI.CLIENTE = TTCLIENT.CLIENTE");
strSql.append(" and ttbenefi.fecha_baja is null");
strSql.append(" AND TAPRESCA_TARISAN.PRESCRIPTOR = ?");
strSql.append(" AND tapresca_tarisan.especialidad = 4");
strSql.append(" AND P.NHGP_REFEXT = to_char(TAPRESCA_TARISAN.AUTORIZACION)");
strSql.append(" AND P.NHGP_ID_PROCESO = C.NHGP_PETC_EPI");
strSql.append(" AND C.NHGP_PETC_TACT = 2");
strSql.append(" AND TAPRESCA_TARISAN.FECHA >= ?");
strSql.append(" AND P.PETICION_GPC IS NOT NULL");
strSql.append(" AND TTCLIENT.APELLIDOS LIKE '" + strApellidos + "'");
strSql.append(" AND TTCLIENT.NOMBRE LIKE '%" + strNom + "%'");
strSql.append(" GROUP BY tapresca_tarisan.AUTORIZACION, tapresca_tarisan.FECHA, TTCLIENT.NOMBRE, TTCLIENT.apellidos, C.NHGP_PETC_ID, tapresca_tarisan.PRESCRIPTOR, C.NHGP_PETC_ESTADO");
strSql.append(" UNION");
strSql.append(" ( SELECT tapresca_tarisan.FECHA, TTCLIENT.NOMBRE, TTCLIENT.apellidos, ''||tapresca_tarisan.AUTORIZACION, '0' IGUALADA, tapresca_tarisan.PRESCRIPTOR, (SELECT COUNT (TAMOVEXT_ESPIA.AUTORIZACION) FROM TAMOVEXT_ESPIA WHERE TAMOVEXT_ESPIA.AUTORIZACION = TAPRESCA_TARISAN.AUTORIZACION AND TAMOVEXT_ESPIA.PRESCRIPTOR = TAPRESCA_TARISAN.PRESCRIPTOR) AS EXTRACCION");
strSql.append(" FROM TTCLIENT, TTBENEFI, tapresca_tarisan");
strSql.append(" WHERE TAPRESCA_TARISAN.COLEC = TTBENEFI.COLECTIVO");
strSql.append(" AND TAPRESCA_TARISAN.POLIZA = TTBENEFI.POLIZA");
strSql.append(" AND TAPRESCA_TARISAN.ORDEN = TTBENEFI.ORDEN");
strSql.append(" AND TTBENEFI.CLIENTE = TTCLIENT.CLIENTE");
strSql.append(" and ttbenefi.fecha_baja is null");
strSql.append(" AND TAPRESCA_TARISAN.PRESCRIPTOR = ?");
strSql.append(" AND tapresca_tarisan.especialidad = 4");
strSql.append(" AND TAPRESCA_TARISAN.FECHA >= ?");
strSql.append(" AND TTCLIENT.APELLIDOS LIKE '" + strApellidos + "'");
strSql.append(" AND TTCLIENT.NOMBRE LIKE '%" + strNom + "%'");
strSql.append(" GROUP BY tapresca_tarisan.AUTORIZACION, tapresca_tarisan.FECHA, TTCLIENT.NOMBRE, TTCLIENT.apellidos, tapresca_tarisan.PRESCRIPTOR");
strSql.append(" MINUS");
strSql.append(" SELECT tapresca_tarisan.FECHA, TTCLIENT.NOMBRE, TTCLIENT.apellidos, ''||tapresca_tarisan.AUTORIZACION, '0' IGUALADA, tapresca_tarisan.PRESCRIPTOR, (SELECT COUNT (TAMOVEXT_ESPIA.AUTORIZACION) FROM TAMOVEXT_ESPIA WHERE TAMOVEXT_ESPIA.AUTORIZACION = TAPRESCA_TARISAN.AUTORIZACION AND TAMOVEXT_ESPIA.PRESCRIPTOR = TAPRESCA_TARISAN.PRESCRIPTOR) AS EXTRACCION");
strSql.append(" FROM TTCLIENT, TTBENEFI, tapresca_tarisan, novahis.nhgp_petin_cab p");
strSql.append(" WHERE TAPRESCA_TARISAN.COLEC = TTBENEFI.COLECTIVO");
strSql.append(" AND TAPRESCA_TARISAN.POLIZA = TTBENEFI.POLIZA");
strSql.append(" AND TAPRESCA_TARISAN.ORDEN = TTBENEFI.ORDEN");
strSql.append(" AND TTBENEFI.CLIENTE = TTCLIENT.CLIENTE");
strSql.append(" and ttbenefi.fecha_baja is null");
strSql.append(" AND TAPRESCA_TARISAN.PRESCRIPTOR = ?");
strSql.append(" AND tapresca_tarisan.especialidad = 4");
strSql.append(" AND P.NHGP_REFEXT = TO_CHAR (TAPRESCA_TARISAN.AUTORIZACION)");
strSql.append(" AND TAPRESCA_TARISAN.FECHA >= ?");
strSql.append(" AND TTCLIENT.APELLIDOS LIKE '" + strApellidos + "'");
strSql.append(" AND TTCLIENT.NOMBRE LIKE '%" + strNom + "%'");
strSql.append(" GROUP BY tapresca_tarisan.AUTORIZACION, tapresca_tarisan.FECHA, TTCLIENT.NOMBRE, TTCLIENT.apellidos, tapresca_tarisan.PRESCRIPTOR)");
strSql.append(" )");
strSql.append(" ORDER BY fecha DESC, autorizacion DESC");
aCondiciones[0] = medico ;
aCondiciones[1] = fecha;
aCondiciones[2] = medico ;
aCondiciones[3] = fecha;
aCondiciones[4] = medico ;
aCondiciones[5] = fecha;
aCondiciones[6] = medico ;
aCondiciones[7] = fecha;
try {
/*resul = this.seleccionar(strSql.toString(), intPagina, aCondiciones);
consulta = Utilidades.obtenerSentenciaSQL(strSql, null, aCondiciones);*/
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, strSql.toString(), aCondiciones);
objPaginacion.inicializarPaginacion(rs);
if (objPaginacion.getNumeroRegistrosTotales()!=0)
{
objPaginacion.realizarPaginacion(rs, intPagina);
while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina()))
{
DES encrypter = new DES(strMedico);
vPeticionConGuion = false;
String auto = rs.getString("AUTORIZACION");
String autoEncriptada = encrypter.encrypt(auto);
if (auto.indexOf("-") != -1) {
vPeticionConGuion = true;
auto = auto.replace("-", "");
}
String iguaEncriptada = "0";
if (rs.getString("IGUALADA").compareTo("0")!=0){
iguaEncriptada = encrypter.encrypt(rs.getString("IGUALADA"));
}
vTaresanaTamedico = new VTaresanaTamedico();
vTaresanaTamedico.setNombre(rs.getString("NOMBRE"));
vTaresanaTamedico.setApellidos(rs.getString("APELLIDOS"));
vTaresanaTamedico.setFecha(rs.getDate("FECHA"));
/*vTaresanaTamedico.setAutorizacion(rs.getLong("AUTORIZACION"));*/
vTaresanaTamedico.setAutorizacion(Long.parseLong(auto));
vTaresanaTamedico.setIgualada(rs.getString("IGUALADA"));
vTaresanaTamedico.setAutorizacionEncriptada(autoEncriptada);
vTaresanaTamedico.setIgualadaEncriptada(iguaEncriptada);
vTaresanaTamedico.setPrescriptor(rs.getInt("PRESCRIPTOR"));
vTaresanaTamedico.setExtraccion(rs.getInt("EXTRACCION"));
vTaresanaTamedico.setPeticionConGuion(vPeticionConGuion);
resul.addElement(vTaresanaTamedico);
if (intPagina!=0) //Se quiere realizar la paginacion
elementosPaginacion++;
}
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + resul.size() + " registros de la tabla de his (" + strSql.toString() + ")");
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de Tapresca-tamedico-Petin-peticion (listado_analiticas_por_paciente): " + e + " (" + consulta + ")");
}
return resul;
}
public Vector listado_anatomia_por_paciente(String colectivo, String poliza, String orden, Date fecha, Paciente pac, int medico, int intPagina) throws SQLException, ParseException
{
int elementosPaginacion=1;
Vector resul = new Vector();
boolean vPeticionConGuion;
VTaresanaTamedico vTaresanaTamedico = null;
String strMedico = ""+medico;
String tarjeta = "";
if(pac.getDesplazado() == null)
pac.setDesplazado(pac.getTarjeta().getEntidadChipcard());
if (pac.getDesplazado().compareTo(ParametrosConfiguracion.bin_chipcard_propios) == 0)
{
tarjeta=(Integer.valueOf( pac.getTarjeta().getTarjeta())).toString();
}
else
{
tarjeta=new String( pac.getTarjeta().getTarjetaDesplazado());
}
String colec,pol,ord;
int longitud;
colec = colectivo.trim();
pol = poliza.trim();
ord = orden.trim();
longitud = colec.length();
for(int i = 0; i < 5 - longitud ; i++)
{
colec = "0" + colec;
}
longitud = pol.length();
for(int i = 0; i < (12 - longitud); i++)
{
pol = "0" + pol;
}
longitud = ord.length();
for(int i = 0; i < (2 - longitud); i++)
{
ord = "0" + ord;
}
String fecha_texto = fecha.toString();
//String prueba = "SELECT NOMBRE, APELLIDOS, FECHA, AUTORIZACION, IGUALADA, PRESCRIPTOR FROM (SELECT NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL FECHA, TRIM(NOVAHIS.FPERSONA.NOMBRE) NOMBRE, TRIM(NOVAHIS.FPERSONA.APELLIDO1) || ' ' || TRIM(NOVAHIS.FPERSONA.APELLIDO2) APELLIDOS, TO_NUMBER(NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID) AUTORIZACION, 0 IGUALADA, NOVAHIS.FPERSONA.CODIGO_PERSONAL PRESCRIPTOR FROM NOVAHIS.CO_CLI_PLANES, NOVAHIS.CLIENTE_PAGADORES, NOVAHIS.NHGP_PETICION_CAB, NOVAHIS.FPERSONA WHERE NOVAHIS.CO_CLI_PLANES.NUM_AFIL = '"+ colec + "-" + pol + "-" + ord +"' AND NOVAHIS.CO_CLI_PLANES.CLIPAG_PK = NOVAHIS.CLIENTE_PAGADORES.CLIPAG_PK AND NOVAHIS.CLIENTE_PAGADORES.CODIGO_CLIENTE = NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PAC AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL = NOVAHIS.FPERSONA.CODIGO_PERSONAL AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_TACT = 2 AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO = 2 AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL >=TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd') AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_EPI NOT IN (SELECT NOVAHIS.NHGP_PETIN_CAB.NHGP_ID_PROCESO FROM NOVAHIS.NHGP_PETIN_CAB) GROUP BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL, TRIM(NOVAHIS.FPERSONA.NOMBRE), TRIM(NOVAHIS.FPERSONA.APELLIDO1), TRIM(NOVAHIS.FPERSONA.APELLIDO2), NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID, NOVAHIS.FPERSONA.CODIGO_PERSONAL UNION SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, TO_NUMBER(P.PETICION_GPC) IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta +"' AND TAPRESCA_TARISAN.ESPECIALIDAD = 5 AND P.NHGP_REFEXT = TO_CHAR(TAPRESCA_TARISAN.AUTORIZACION) AND TAPRESCA_TARISAN.FECHA >= TO_DATE('"+ fecha_texto + "', 'yyyy-mm-dd') AND P.PETICION_GPC IS NOT NULL GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, P.PETICION_GPC, TAPRESCA_TARISAN.PRESCRIPTOR UNION(SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, 0 IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR FROM TAMEDICO, TAPRESCA_TARISAN WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta + "' AND TAPRESCA_TARISAN.ESPECIALIDAD = 5 AND TAPRESCA_TARISAN.FECHA >= TO_DATE ('" + fecha_texto + "', 'yyyy-mm-dd') GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.PRESCRIPTOR MINUS SELECT TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.AUTORIZACION, 0 IGUALADA, TAPRESCA_TARISAN.PRESCRIPTOR FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR AND TAPRESCA_TARISAN.TARJETA = '" + tarjeta + "' AND TAPRESCA_TARISAN.ESPECIALIDAD = 5 AND P.NHGP_REFEXT = TO_CHAR(TAPRESCA_TARISAN.AUTORIZACION) AND TAPRESCA_TARISAN.FECHA >= TO_DATE('"+ fecha_texto +"', 'yyyy-mm-dd') GROUP BY TAPRESCA_TARISAN.AUTORIZACION, TAPRESCA_TARISAN.FECHA, TAMEDICO.NOMBRE, TAMEDICO.APELLIDOS, TAPRESCA_TARISAN.PRESCRIPTOR)) ORDER BY FECHA DESC, AUTORIZACION DESC";
String prueba = "SELECT NOMBRE,";
prueba += " APELLIDOS,";
prueba += " FECHA,";
prueba += " AUTORIZACION,";
prueba += " IGUALADA,";
prueba += " PRESCRIPTOR,";
prueba += " NHGP_PETC_EPI EPISODIO";
prueba += " FROM ( SELECT NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL FECHA,"; // -- NO VINCULADOS
prueba += " TRIM (NOVAHIS.FPERSONA.NOMBRE) NOMBRE,";
prueba += " TRIM (NOVAHIS.FPERSONA.APELLIDO1)";
prueba += " || ' '";
prueba += " || TRIM (NOVAHIS.FPERSONA.APELLIDO2)";
prueba += " APELLIDOS,";
prueba += " NHGP_PETICION_CAB.NHGP_PETC_ID";
prueba += " AUTORIZACION,";
prueba += " '0' IGUALADA,";
prueba += " NOVAHIS.FPERSONA.CODIGO_PERSONAL PRESCRIPTOR,";
prueba += " NHGP_PETC_EPI";
prueba += " FROM NOVAHIS.CO_CLI_PLANES,";
prueba += " NOVAHIS.CLIENTE_PAGADORES,";
prueba += " NOVAHIS.NHGP_PETICION_CAB,";
prueba += " NOVAHIS.FPERSONA";
prueba += " WHERE NOVAHIS.CO_CLI_PLANES.NUM_AFIL = '"+ colec + "-" + pol + "-" + ord +"'";
prueba += " AND NOVAHIS.CO_CLI_PLANES.CLIPAG_PK =";
prueba += " NOVAHIS.CLIENTE_PAGADORES.CLIPAG_PK";
prueba += " AND NOVAHIS.CLIENTE_PAGADORES.CODIGO_CLIENTE =";
prueba += " NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PAC";
prueba += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL =";
prueba += " NOVAHIS.FPERSONA.CODIGO_PERSONAL";
prueba += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO = 2";
prueba += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL >=";
prueba += " TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd')";
prueba += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_TAPA IS NOT NULL";
prueba += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_EPI NOT IN";
prueba += " ( SELECT NOVAHIS.CSM_NHGP_PETIN_CAB.NHGP_ICD9";
prueba += " FROM NOVAHIS.CSM_NHGP_PETIN_CAB WHERE NOVAHIS.CSM_NHGP_PETIN_CAB.NHGP_TIPO = 2";
prueba += " )";
prueba += " GROUP BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL,";
prueba += " TRIM (NOVAHIS.FPERSONA.NOMBRE),";
prueba += " TRIM (NOVAHIS.FPERSONA.APELLIDO1),";
prueba += " TRIM (NOVAHIS.FPERSONA.APELLIDO2),";
prueba += " NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID,";
prueba += " NOVAHIS.FPERSONA.CODIGO_PERSONAL,";
prueba += " NHGP_PETICION_CAB.NHGP_PETC_EPI";
prueba += " UNION";
prueba += " SELECT TAPRESCA_TARISAN.FECHA,"; // -- vinculadas por antonio
prueba += " TAMEDICO.NOMBRE,";
prueba += " TAMEDICO.APELLIDOS,";
prueba += " ''||TAPRESCA_TARISAN.AUTORIZACION,";
prueba += " ''||P.PETICION_GPC IGUALADA,";
prueba += " TAPRESCA_TARISAN.PRESCRIPTOR,";
prueba += " DECODE(NHGP_ICD9,NULL,0,NHGP_ICD9) EPISODIO";
prueba += " FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P";
prueba += " WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR";
prueba += " AND TAPRESCA_TARISAN.TARJETA like '%" + tarjeta +"%'";
prueba += " AND TAPRESCA_TARISAN.ESPECIALIDAD = 5";
prueba += " AND P.NHGP_REFEXT = TO_CHAR (TAPRESCA_TARISAN.AUTORIZACION)";
prueba += " AND TAPRESCA_TARISAN.FECHA >=";
prueba += " TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd')";
prueba += " AND P.PETICION_GPC IS NOT NULL";
prueba += " GROUP BY TAPRESCA_TARISAN.AUTORIZACION,";
prueba += " TAPRESCA_TARISAN.FECHA,";
prueba += " TAMEDICO.NOMBRE,";
prueba += " TAMEDICO.APELLIDOS,";
prueba += " P.PETICION_GPC,";
prueba += " TAPRESCA_TARISAN.PRESCRIPTOR,NHGP_ICD9";
prueba += " UNION";
prueba += " (SELECT TAPRESCA_TARISAN.FECHA,"; // -- todas las de tarisan menos las vinculadas por tarisan
prueba += " TAMEDICO.NOMBRE,";
prueba += " TAMEDICO.APELLIDOS,";
prueba += " ''||TAPRESCA_TARISAN.AUTORIZACION,";
prueba += " '0' IGUALADA,";
prueba += " TAPRESCA_TARISAN.PRESCRIPTOR,";
prueba += " 0 EPISODIO";
prueba += " FROM TAMEDICO, TAPRESCA_TARISAN";
prueba += " WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR";
prueba += " AND TAPRESCA_TARISAN.TARJETA like '%" + tarjeta +"%'";
prueba += " AND TAPRESCA_TARISAN.ESPECIALIDAD = 5";
prueba += " AND TAPRESCA_TARISAN.FECHA >=";
prueba += " TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd')";
prueba += " GROUP BY TAPRESCA_TARISAN.AUTORIZACION,";
prueba += " TAPRESCA_TARISAN.FECHA,";
prueba += " TAMEDICO.NOMBRE,";
prueba += " TAMEDICO.APELLIDOS,";
prueba += " TAPRESCA_TARISAN.PRESCRIPTOR";
prueba += " MINUS";
prueba += " SELECT TAPRESCA_TARISAN.FECHA,";
prueba += " TAMEDICO.NOMBRE,";
prueba += " TAMEDICO.APELLIDOS,";
prueba += " ''||TAPRESCA_TARISAN.AUTORIZACION,";
prueba += " '0' IGUALADA,";
prueba += " TAPRESCA_TARISAN.PRESCRIPTOR,";
prueba += " 0";
prueba += " FROM TAMEDICO, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P";
prueba += " WHERE TAMEDICO.MEDICO = TAPRESCA_TARISAN.PRESCRIPTOR";
prueba += " AND TAPRESCA_TARISAN.TARJETA like '%" + tarjeta +"%'";
prueba += " AND TAPRESCA_TARISAN.ESPECIALIDAD = 5";
prueba += " AND P.NHGP_REFEXT = TO_CHAR (TAPRESCA_TARISAN.AUTORIZACION)";
prueba += " AND TAPRESCA_TARISAN.FECHA >=";
prueba += " TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd')";
prueba += " GROUP BY TAPRESCA_TARISAN.AUTORIZACION,";
prueba += " TAPRESCA_TARISAN.FECHA,";
prueba += " TAMEDICO.NOMBRE,";
prueba += " TAMEDICO.APELLIDOS,";
prueba += " TAPRESCA_TARISAN.PRESCRIPTOR)";
prueba += " )";
prueba += " ORDER BY FECHA DESC, AUTORIZACION DESC";
try {
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, prueba);
objPaginacion.inicializarPaginacion(rs);
if (objPaginacion.getNumeroRegistrosTotales()!=0)
{
objPaginacion.realizarPaginacion(rs, intPagina);
while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina()))
{
DES encrypter = new DES(strMedico);
vPeticionConGuion = false;
String auto = rs.getString("AUTORIZACION");
String autoEncriptada = encrypter.encrypt(auto);
if (auto.indexOf("-") != -1) {
vPeticionConGuion = true;
auto = auto.replace("-", "");
}
String iguaEncriptada = "0";
if (rs.getString("IGUALADA").compareTo("0")!=0){
iguaEncriptada = encrypter.encrypt(rs.getString("IGUALADA"));
}
String epiEncriptado = "0";
if (rs.getString("EPISODIO").compareTo("0")!=0){
epiEncriptado = encrypter.encrypt(rs.getString("EPISODIO"));
}
vTaresanaTamedico = new VTaresanaTamedico();
vTaresanaTamedico.setNombre(rs.getString("NOMBRE"));
vTaresanaTamedico.setApellidos(rs.getString("APELLIDOS"));
vTaresanaTamedico.setFecha(rs.getDate("FECHA"));
/*vTaresanaTamedico.setAutorizacion(rs.getLong("AUTORIZACION"));*/
vTaresanaTamedico.setAutorizacion(Long.parseLong(auto));
vTaresanaTamedico.setIgualada(rs.getString("IGUALADA"));
vTaresanaTamedico.setAutorizacionEncriptada(autoEncriptada);
vTaresanaTamedico.setIgualadaEncriptada(iguaEncriptada);
vTaresanaTamedico.setPrescriptor(rs.getInt("PRESCRIPTOR"));
vTaresanaTamedico.setEpisodio(rs.getInt("EPISODIO"));
vTaresanaTamedico.setEpisodioEncriptado(epiEncriptado);
vTaresanaTamedico.setPeticionConGuion(vPeticionConGuion);
resul.addElement(vTaresanaTamedico);
if (intPagina!=0) //Se quiere realizar la paginacion
elementosPaginacion++;
}
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + resul.size() + " registros de la tabla de his (" + prueba + ")");
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de Tapresca-tamedico-Petin-peticion (listado_anatomia_por_paciente): " + e + " (" + prueba + ")");
}
return resul;
}
public Vector listado_anatomia_por_medico(int medico, Date fecha, int intPagina) throws SQLException, ParseException
{
int elementosPaginacion=1;
boolean vPeticionConGuion;
Vector resul = new Vector();
VTaresanaTamedico vTaresanaTamedico = null;
//StringBuffer strSql = new StringBuffer();
String strMedico = ""+medico;
String fecha_texto = fecha.toString();
//Object [] aCondiciones = new Object[8];
String consulta = "";
consulta += "SELECT NOMBRE,";
consulta += " APELLIDOS,";
consulta += " FECHA,";
consulta += " AUTORIZACION,";
consulta += " IGUALADA,";
consulta += " PRESCRIPTOR,";
consulta += " EPISODIO";
consulta += " FROM ( SELECT NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL FECHA,";
consulta += " TRIM (NOVAHIS.CLIENTES.NOMBRE) NOMBRE,";
consulta += " TRIM (NOVAHIS.CLIENTES.APELLIDO1)";
consulta += " || ' '";
consulta += " || TRIM (NOVAHIS.CLIENTES.APELLIDO2)";
consulta += " APELLIDOS,";
consulta += " NHGP_PETICION_CAB.NHGP_PETC_ID";
consulta += " AUTORIZACION,";
consulta += " '0' IGUALADA,";
consulta += " NOVAHIS.CSM_MEDICOS_IMQ.MEDICO_IMQ prescriptor,";
consulta += " NHGP_PETC_EPI EPISODIO";
consulta += " FROM NOVAHIS.CO_CLI_PLANES,";
consulta += " NOVAHIS.CLIENTE_PAGADORES,";
consulta += " NOVAHIS.NHGP_PETICION_CAB,";
consulta += " NOVAHIS.FPERSONA,";
consulta += " novahis.csm_medicos_imq,";
consulta += " NOVAHIS.CLIENTES";
consulta += " WHERE NOVAHIS.CO_CLI_PLANES.CLIPAG_PK =";
consulta += " NOVAHIS.CLIENTE_PAGADORES.CLIPAG_PK";
consulta += " AND NOVAHIS.CLIENTE_PAGADORES.CODIGO_CLIENTE =";
consulta += " NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PAC";
consulta += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_PFSOL =";
consulta += " NOVAHIS.FPERSONA.CODIGO_PERSONAL";
consulta += " AND NOVAHIS.CLIENTE_PAGADORES.CODIGO_CLIENTE =";
consulta += " NOVAHIS.CLIENTES.CODIGO_CLIENTE ";
consulta += " AND novahis.fpersona.codigo_personal =";
consulta += " novahis.csm_medicos_imq.medico_csm";
consulta += " AND novahis.csm_medicos_imq.medico_imq = " + medico;
consulta += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ESTADO = 2";
consulta += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL >=";
consulta += " TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd')";
consulta += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_TAPA IS NOT NULL";
consulta += " AND NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_EPI NOT IN";
consulta += " (SELECT NOVAHIS.CSM_NHGP_PETIN_CAB.NHGP_ICD9";
consulta += " FROM NOVAHIS.CSM_NHGP_PETIN_CAB";
consulta += " WHERE NOVAHIS.CSM_NHGP_PETIN_CAB.NHGP_TIPO = 2)";
consulta += " GROUP BY NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_FSOL,";
consulta += " TRIM (NOVAHIS.CLIENTES.NOMBRE),";
consulta += " TRIM (NOVAHIS.CLIENTES.APELLIDO1),";
consulta += " TRIM (NOVAHIS.CLIENTES.APELLIDO2),";
consulta += " NOVAHIS.NHGP_PETICION_CAB.NHGP_PETC_ID,";
consulta += " NOVAHIS.CSM_MEDICOS_IMQ.MEDICO_IMQ,";
consulta += " NHGP_PETICION_CAB.NHGP_PETC_EPI";
consulta += " UNION";
consulta += " SELECT TAPRESCA_TARISAN.FECHA,";
consulta += " TTCLIENT.NOMBRE,";
consulta += " TTCLIENT.APELLIDOS,";
consulta += " ''||TAPRESCA_TARISAN.AUTORIZACION,";
consulta += " ''||P.PETICION_GPC IGUALADA,";
consulta += " TAPRESCA_TARISAN.PRESCRIPTOR,";
consulta += " DECODE(NHGP_ICD9,NULL,0,NHGP_ICD9) EPISODIO";
consulta += " FROM TTCLIENT, TTBENEFI, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P";
consulta += " WHERE TAPRESCA_TARISAN.COLEC = TTBENEFI.COLECTIVO";
consulta += " AND TAPRESCA_TARISAN.POLIZA = TTBENEFI.POLIZA";
consulta += " AND TAPRESCA_TARISAN.ORDEN = TTBENEFI.ORDEN";
consulta += " AND TTBENEFI.CLIENTE = TTCLIENT.CLIENTE";
consulta += " AND TTBENEFI.FECHA_BAJA IS NULL";
consulta += " AND TAPRESCA_TARISAN.PRESCRIPTOR = " + medico;
consulta += " AND TAPRESCA_TARISAN.ESPECIALIDAD = 5";
consulta += " AND P.NHGP_REFEXT = TO_CHAR (TAPRESCA_TARISAN.AUTORIZACION)";
consulta += " AND TAPRESCA_TARISAN.FECHA >=";
consulta += " TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd')";
consulta += " AND P.PETICION_GPC IS NOT NULL";
consulta += " GROUP BY TAPRESCA_TARISAN.AUTORIZACION,";
consulta += " TAPRESCA_TARISAN.FECHA,";
consulta += " TTCLIENT.NOMBRE,";
consulta += " TTCLIENT.APELLIDOS,";
consulta += " P.PETICION_GPC,";
consulta += " TAPRESCA_TARISAN.PRESCRIPTOR,NHGP_ICD9";
consulta += " UNION";
consulta += " ( SELECT TAPRESCA_TARISAN.FECHA,";
consulta += " TTCLIENT.NOMBRE,";
consulta += " TTCLIENT.APELLIDOS,";
consulta += " ''||TAPRESCA_TARISAN.AUTORIZACION AUTORIZACION,";
consulta += " '0' IGUALADA,";
consulta += " TAPRESCA_TARISAN.PRESCRIPTOR,";
consulta += " 0 EPISODIO";
consulta += " FROM TTCLIENT, TTBENEFI, TAPRESCA_TARISAN";
consulta += " WHERE TAPRESCA_TARISAN.COLEC = TTBENEFI.COLECTIVO";
consulta += " AND TAPRESCA_TARISAN.POLIZA = TTBENEFI.POLIZA";
consulta += " AND TAPRESCA_TARISAN.ORDEN = TTBENEFI.ORDEN";
consulta += " AND TTBENEFI.CLIENTE = TTCLIENT.CLIENTE";
consulta += " AND TTBENEFI.FECHA_BAJA IS NULL";
consulta += " AND TAPRESCA_TARISAN.PRESCRIPTOR = " + medico;
consulta += " AND TAPRESCA_TARISAN.ESPECIALIDAD = 5";
consulta += " AND TAPRESCA_TARISAN.FECHA >=";
consulta += " TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd')";
consulta += " GROUP BY TAPRESCA_TARISAN.AUTORIZACION,";
consulta += " TAPRESCA_TARISAN.FECHA,";
consulta += " TTCLIENT.NOMBRE,";
consulta += " TTCLIENT.APELLIDOS,";
consulta += " TAPRESCA_TARISAN.PRESCRIPTOR";
consulta += " MINUS";
consulta += " SELECT TAPRESCA_TARISAN.FECHA,";
consulta += " TTCLIENT.NOMBRE,";
consulta += " TTCLIENT.APELLIDOS,";
consulta += " ''||TAPRESCA_TARISAN.AUTORIZACION AUTORIZACION,";
consulta += " '0' IGUALADA,";
consulta += " TAPRESCA_TARISAN.PRESCRIPTOR,";
consulta += " 0 EPISODIO";
consulta += " FROM TTCLIENT, TTBENEFI, TAPRESCA_TARISAN, NOVAHIS.CSM_NHGP_PETIN_CAB P";
consulta += " WHERE TAPRESCA_TARISAN.COLEC = TTBENEFI.COLECTIVO";
consulta += " AND TAPRESCA_TARISAN.POLIZA = TTBENEFI.POLIZA";
consulta += " AND TAPRESCA_TARISAN.ORDEN = TTBENEFI.ORDEN";
consulta += " AND TTBENEFI.CLIENTE = TTCLIENT.CLIENTE";
consulta += " AND TTBENEFI.FECHA_BAJA IS NULL";
consulta += " AND TAPRESCA_TARISAN.ESPECIALIDAD = 5";
consulta += " AND P.NHGP_REFEXT = TO_CHAR (TAPRESCA_TARISAN.AUTORIZACION)";
consulta += " AND TAPRESCA_TARISAN.PRESCRIPTOR = " + medico;
consulta += " AND TAPRESCA_TARISAN.FECHA >=";
consulta += " TO_DATE ('" + fecha_texto +"', 'yyyy-mm-dd')";
consulta += " GROUP BY TAPRESCA_TARISAN.AUTORIZACION,";
consulta += " TAPRESCA_TARISAN.FECHA,";
consulta += " TTCLIENT.NOMBRE,";
consulta += " TTCLIENT.APELLIDOS,";
consulta += " TAPRESCA_TARISAN.PRESCRIPTOR)";
consulta += " ORDER BY FECHA DESC, AUTORIZACION DESC)";
try {
Connection conexion = ParametrosConfiguracion.dataStore.obtenerConexion();
ResultSet rs = ParametrosConfiguracion.dataStore.seleccionar(conexion, consulta/*, aCondiciones*/);
objPaginacion.inicializarPaginacion(rs);
if (objPaginacion.getNumeroRegistrosTotales()!=0)
{
objPaginacion.realizarPaginacion(rs, intPagina);
while(rs.next() && (elementosPaginacion <= Paginacion.getFilasPorPagina()))
{
DES encrypter = new DES(strMedico);
vPeticionConGuion = false;
String auto = rs.getString("AUTORIZACION");
String autoEncriptada = encrypter.encrypt(auto);
if (auto.indexOf("-") != -1) {
vPeticionConGuion = true;
auto = auto.replace("-", "");
}
String iguaEncriptada = "0";
if (rs.getString("IGUALADA").compareTo("0")!=0){
iguaEncriptada = encrypter.encrypt(rs.getString("IGUALADA"));
}
String epiEncriptado = "0";
if (rs.getString("EPISODIO").compareTo("0")!=0){
epiEncriptado = encrypter.encrypt(rs.getString("EPISODIO"));
}
vTaresanaTamedico = new VTaresanaTamedico();
vTaresanaTamedico.setNombre(rs.getString("NOMBRE"));
vTaresanaTamedico.setApellidos(rs.getString("APELLIDOS"));
vTaresanaTamedico.setFecha(rs.getDate("FECHA"));
/*vTaresanaTamedico.setAutorizacion(rs.getLong("AUTORIZACION"));*/
vTaresanaTamedico.setAutorizacion(Long.parseLong(auto));
vTaresanaTamedico.setIgualada(rs.getString("IGUALADA"));
vTaresanaTamedico.setAutorizacionEncriptada(autoEncriptada);
vTaresanaTamedico.setIgualadaEncriptada(iguaEncriptada);
vTaresanaTamedico.setPrescriptor(rs.getInt("PRESCRIPTOR"));
vTaresanaTamedico.setEpisodio(rs.getInt("EPISODIO"));
vTaresanaTamedico.setEpisodioEncriptado(epiEncriptado);
vTaresanaTamedico.setPeticionConGuion(vPeticionConGuion);
resul.addElement(vTaresanaTamedico);
if (intPagina!=0) //Se quiere realizar la paginacion
elementosPaginacion++;
}
}
rs.close();
ParametrosConfiguracion.dataStore.liberarConexion(conexion);
LogTarisan.logger.log(NivelLog.DEBUG, "Seleccionados " + resul.size() + " registros de la tabla de his (" + consulta + ")");
} catch (ExcepcionTarisan e) {
LogTarisan.logger.log(NivelLog.ERROR, "Error en la selección de Tapresca-tamedico-Petin-peticion (listado_anatomia_por_medico): " + e + " (" + consulta + ")");
}
return resul;
}
}