%--
Document : desp_muestra_declarantes
Created on : 25/09/2012, 01:02:04 PM
Author : Martha
--%>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page
import = "conexion.*"
import = "java.sql.*"
import = "general.Config"
import = "general.Permisos"
import = "own.codec.*"
import = "java.text.NumberFormat"
%>
Desplegar Declarantes del Sistema
<%
/****** Despliega la lista de declarantes del sistema filtrados por el texto de búsqueda de buscar_cines.jsp (no obligatorio)***********/
/********************************************creado por: Ing Martha*******************************************************/
out.println("");
String nompag[] = request.getRequestURI().split("/");
%>
<%
Conexion c = null;
Connection lcnt_con = null;
ResultSet lrs_res = null;
Statement lst_stm = null;
String ls_query = new String("");
/*INICIO. Segunda Conexión*/
ConexionDeclaranet cd = null;
Connection lcd_connection = null;
//Statement lstg_conecta=null;
/*FIN. SEGUNDA CONEXIÓN*/
String emergent_error = new String("");
boolean lb_connection = false;
String debug = new String("si");
boolean elementos_encontrados = false;
String patron_busqueda = new String("");
String patron_enviar = new String("");
String tipo_enviar = new String("");
String tipo_busqueda = new String("");
String lower_limit = new String("0");
String upper_limit = new String("50");
String total_funcionarios = new String("0");
String fecha = "0000-00-00";
boolean permiso_agregar = false;
boolean permiso_editar = false;
boolean permiso_eliminar = false;
boolean permiso_historico = false;
/*String fecha;*/
// Conexión a la base de datos
/*try {
if (!Config.getParametro("debug").equals("si")) {
debug = "no";
}
c = new Conexion();
lcnt_con = c.getConnection();
lst_stm = lcnt_con.createStatement();
lb_connection = true;
} catch (Exception e) {
emergent_error = "Error al conectarse a la base de datos ";
if (debug.equals("si")) {
emergent_error += e;
}
lb_connection = false;
}*/
/********* INICIO. Conexión a la base de datos ********/
try {
if (!Config.getParametro("debug").equals("si")) {
debug = "no";
}
cd = new ConexionDeclaranet();
lcd_connection = cd.getConnection();
lst_stm = lcd_connection.createStatement();
lb_connection = true;
//lst_stm2 = lcd_connection.createStatement();
//lst_stm3 = lcd_connection.createStatement();
}catch (Exception e) {
emergent_error = "Error al conectarse a la base de datos ";
if (debug.equals("si")) {
emergent_error += e;
}
lb_connection = false;
}
/*FIN. CONEXIÓN A LA BASE DE DATOS 2*/
//********* Validación fundamental para evitar ejecución de código sin privilegios suficientes **********//
try {
if (!Permisos.PermisoModulo(nompag[nompag.length - 1].toString(), Integer.parseInt(session.getAttribute("id_user").toString()))) {
if (lb_connection) {
lst_stm.close();
lcnt_con.close();
}
emergent_error += " Privilegios insuficientes. ";
lb_connection = false;
}
} catch (Exception e) {
emergent_error += " Privilegios insuficientes. ";
if (debug.equals("si")) {
emergent_error += "Trace: " + e.toString();
}
lb_connection = false;
}
//*******************************************************************************************************//
if (lb_connection) {
try {
// Intentando recuperar valor de patrón de búsqueda
try {
tipo_busqueda = "a.id_historial>0 and a.fecha_alta<>'0000-00-00' AND ( a.status= 0 or a.status=1 ) ";
if (request.getParameter("tipo_busqueda") != null) {
if (request.getParameter("tipo_busqueda").equals("1")) {
tipo_busqueda = " a.status=1 ";
tipo_enviar += "tipo_busqueda=1&";
} else if (request.getParameter("tipo_busqueda").equals("2")) {
tipo_busqueda = " a.status=0 ";
tipo_enviar += "tipo_busqueda=2&";
} else if (request.getParameter("tipo_busqueda").equals("3")) {
tipo_busqueda = " (a.status=0 or a.status=1 ) ";
tipo_enviar += "tipo_busqueda=3&";
}
}
patron_busqueda = request.getParameter("patron_busqueda").replace('\'', '"');
if (patron_busqueda.equals("buscar...")) {
patron_busqueda = "";
}
patron_enviar = "&patron_busqueda=" + patron_busqueda;
patron_enviar = patron_enviar.replace('á', 'a').replace('é', 'e').replace('í', 'i').replace('ó', 'o').replace('ú', 'u').replace('Á', 'A').replace('É', 'E').replace('Í', 'I').replace('Ó', 'O').replace('Ú', 'U');
if (!patron_busqueda.contains("%") || !patron_busqueda.contains("?")) {
patron_busqueda = " WHERE " + tipo_busqueda + " AND (f.nombre LIKE '%" + patron_busqueda + "%' OR f.ap_paterno LIKE '%" + patron_busqueda + "%' OR f.ap_materno LIKE '%" + patron_busqueda + "%' OR a.clave LIKE '%" + patron_busqueda + "%' OR h.dependencia LIKE '%" + patron_busqueda + "%' OR h.puesto LIKE '%" + patron_busqueda + "%' )";
} else {
patron_busqueda = " WHERE " + tipo_busqueda + " AND (f.nombre LIKE '%" + patron_busqueda + "%' OR f.ap_paterno LIKE '%" + patron_busqueda + "%' OR f.ap_materno LIKE '%" + patron_busqueda + "%' OR a.clave LIKE '%" + patron_busqueda + "%' OR h.dependencia LIKE '%" + patron_busqueda + "%' OR h.puesto LIKE '%" + patron_busqueda + "%' )";
}
} catch (Exception e) {
patron_enviar = "";
tipo_enviar = "";
patron_busqueda = " WHERE " + tipo_busqueda;
}
ls_query = "SELECT "
+ " COUNT(DISTINCT f.id_funcionario) as total_funcionarios "
+ "FROM altabaja a "
+ "LEFT JOIN historial h USING(id_historial) "
+ "LEFT JOIN funcionarios f ON f.id_funcionario=a.id_funcionario "
+ patron_busqueda;
//out.println(ls_query);
lrs_res = lst_stm.executeQuery(ls_query);
if (lrs_res.next()) {
total_funcionarios = lrs_res.getString("total_funcionarios");
//out.println("Total "+total_funcionarios);
} else {
total_funcionarios = "0";
}
// para la paginacion
try {
lower_limit = request.getParameter("lower").toString();
upper_limit = String.valueOf(Integer.valueOf(request.getParameter("lower").toString()) + 50);
upper_limit = "50";
} catch (Exception e) {
lower_limit = "0";
upper_limit = "50";
}
permiso_agregar = Permisos.PermisoModulo("alta_declarantes.jsp", Integer.parseInt(session.getAttribute("id_user").toString()));
permiso_editar = Permisos.PermisoModulo("frm_modificar_declarantes.jsp", Integer.parseInt(session.getAttribute("id_user").toString()));
permiso_eliminar = Permisos.PermisoModulo("desp_desactivar_declarantes.jsp", Integer.parseInt(session.getAttribute("id_user").toString()));
//permiso_historico = Permisos.PermisoModulo("desp_historico_declarantes.jsp", Integer.parseInt(session.getAttribute("id_user").toString()));
%>
Listado de Declarantes
<%
//Intentando recuperar variable de sesión para mensajes pendientes
try {
String mensaje_pendiente = session.getAttribute("mensaje_pendiente").toString();
%>
<%=mensaje_pendiente%>
<%
session.removeAttribute("mensaje_pendiente");
} catch (Exception e) {
}
%>
<%
} catch (Exception e) {
emergent_error += "Error: " + e.toString() + " Ultimo query: " + ls_query;
%>
<%=emergent_error%>
<%
} finally {
lst_stm.close();
}
} else {
%>
<%=emergent_error%>
<%
}
if (!elementos_encontrados) {
%>
<%=(patron_enviar == "" ? "No hay Declarantes registrados" : "No se encontraron Declarantes que coincidan con los criterios de búsqueda. ")%>
<%
}
//Registrar en la bitácora
try {
String mensaje_log = new String("");
if (patron_enviar.equals("")) {
mensaje_log = "Usuario -" + session.getAttribute("username").toString() + "- desplegó lista de Declarantes;";
} else {
mensaje_log = "Usuario -" + session.getAttribute("username").toString() + "- realizó búsqueda de Declarantes -" + patron_enviar.substring(17) + "-;";
}
Config.GuardarLog(Integer.parseInt(session.getAttribute("id_user").toString()), mensaje_log, 3);
} catch (Exception e) {
}
%>