<%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@page import="conexion.*" import="java.sql.*" import="general.Config" import="general.Permisos" import="own.codec.*" %> Desplegar Usuarios del Sistema <% /****** Despliega la lista de usuarios del sistema filtrados por el texto de búsqueda de buscar_usuarios.jsp (no obligatorio)***********/ /********************************************creado por: L.I. Salvador Díaz Parra*******************************************************/ 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(""); String emergent_error = new String(""); boolean lb_connection = false; String debug = new String("si"); String columna_ordenada = new String(""); String patron_busqueda = new String(""); String patron_enviar = new String(""); String tipo_enviar = new String(""); String tipo_busqueda = new String(""); String desc = new String(""); String usuarios_encontrados = new String("no"); boolean permiso_agregar = false; boolean permiso_editar = false; boolean permiso_eliminar = false; boolean permiso_bitacora = false; boolean permiso_privilegioos = false; // 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; } // Intentando recuperar valor de columna ordenada try { columna_ordenada = request.getParameter("columna_ordenada").toString(); } catch (Exception e) { columna_ordenada = "nombre"; } // Intentando recuperar valor de patrón de búsqueda try { tipo_busqueda = "id_usuarios != 0 AND (usuarios.status='a' or usuarios.status='x')"; if (request.getParameter("tipo_busqueda") != null) { if (request.getParameter("tipo_busqueda").equals("a")) { tipo_busqueda = "id_usuarios != 0 AND (usuarios.status='a' or usuarios.status='x')"; tipo_enviar += "tipo_busqueda=a&"; } else if (request.getParameter("tipo_busqueda").equals("i")) { tipo_busqueda = "id_usuarios != 0 AND usuarios.status='i'"; tipo_enviar += "tipo_busqueda=i&"; } else { tipo_busqueda = "id_usuarios != 0 AND (usuarios.status='a' or usuarios.status='x' or usuarios.status='i')"; tipo_enviar += "tipo_busqueda=b&"; } } patron_busqueda = request.getParameter("patron_busqueda").replace('\'', '"'); patron_enviar = "&patron_busqueda=" + request.getParameter("patron_busqueda").toString(); 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 (CONCAT(usuarios.nombre_real, ' ', materno, ' ', paterno) LIKE '%" + patron_busqueda + "%' OR " + "CONCAT(materno, ' ', paterno, ' ', usuarios.nombre_real) LIKE '%" + patron_busqueda + "%' OR CONCAT(materno, ' ', paterno) LIKE '%" + patron_busqueda + "%' " + "OR CONCAT(usuarios.nombre_real, ' ', materno) LIKE '%" + patron_busqueda + "%' OR CONCAT(usuarios.nombre_real, ' ', paterno, ' ', materno) LIKE" + " '%" + patron_busqueda + "%' OR CONCAT(paterno, ' ', usuarios.nombre_real) LIKE '%" + patron_busqueda + "%' OR " + "CONCAT(paterno, ' ', materno, ' ', usuarios.nombre_real) LIKE '%" + patron_busqueda + "%' OR nombre_usuario LIKE '%" + patron_busqueda + "%' " + "OR email LIKE '%" + patron_busqueda + "%' OR cat_perfiles.nombre LIKE '%" + patron_busqueda + "%') "; } else { patron_busqueda = "WHERE " + tipo_busqueda + " AND (CONCAT(usuarios.nombre_real, ' ', materno, ' ', paterno) LIKE '" + patron_busqueda + "' OR " + "CONCAT(materno, ' ', paterno, ' ', usuarios.nombre_real) LIKE '" + patron_busqueda + "' OR CONCAT(materno, ' ', paterno) LIKE '" + patron_busqueda + "' " + "OR CONCAT(usuarios.nombre_real, ' ', materno) LIKE '" + patron_busqueda + "' OR CONCAT(usuarios.nombre_real, ' ', paterno, ' ', materno) LIKE " + "'" + patron_busqueda + "' OR CONCAT(paterno, ' ', usuarios.nombre_real) LIKE '" + patron_busqueda + "' OR " + "CONCAT(paterno, ' ', materno, ' ', usuarios.nombre_real) LIKE '" + patron_busqueda + "' OR nombre_usuario LIKE '" + patron_busqueda + "' " + "OR email LIKE '" + patron_busqueda + "' OR cat_perfiles.nombre LIKE '" + patron_busqueda + "') "; } } catch (Exception e) { patron_enviar = ""; tipo_enviar = ""; patron_busqueda = " WHERE " + tipo_busqueda; } // Intentando recuperar valor de descendente try { desc = request.getParameter("desc").toString(); if (desc.equals("desc")) { desc = " DESC"; } else { desc = " ASC"; } } catch (Exception e) { desc = " ASC "; } //********* 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) { permiso_agregar = Permisos.PermisoModulo("frm_agregar_usuario_sistema.jsp", Integer.parseInt(session.getAttribute("id_user").toString())); permiso_editar = Permisos.PermisoModulo("frm_modificar_usuario_sistema.jsp", Integer.parseInt(session.getAttribute("id_user").toString())); permiso_eliminar = Permisos.PermisoModulo("desp_desactivar_usuario_sistema.jsp", Integer.parseInt(session.getAttribute("id_user").toString())); permiso_bitacora = Permisos.PermisoModulo("index_registro_actividades_PRINC_NOSIB.jsp", Integer.parseInt(session.getAttribute("id_user").toString())); permiso_privilegioos = Permisos.PermisoModulo("frm_privilegios_especiales.jsp", Integer.parseInt(session.getAttribute("id_user").toString())); %>
Relación de Usuarios del Sistema <% try { if (!patron_enviar.equals("")) { out.println(" conteniendo '" + patron_enviar.substring(17) + "'"); } } catch (Exception e) { emergent_error = "Error desplegar patron de búsqueda "; if (debug.equals("si")) { emergent_error += e; } } %>
<% //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) { } %>
" onfocus="this.setAttribute('style', ''); if (this.value=='buscar...') this.value='';"/>      <% if (permiso_agregar) { %>         <% } if (permiso_bitacora) { %>      <% } %>
<% if (permiso_editar) { %> <% } if (permiso_privilegioos) { %> <% } if (permiso_eliminar) { %> <%}%> <% //Obtención de los usuarios del sistema solicitados try { ls_query = "SELECT " + " DISTINCT CONCAT(paterno, ' ', materno, ' ', usuarios.nombre_real) as nombre, " + " nombre_usuario, " + " cat_perfiles.nombre as perfil, " + " id_usuarios, " + " usuarios.status as status, " + " CONCAT(cat_areas.clave_area, CONCAT(' ',cat_areas.nombre)) as nombre_area " + "FROM usuarios " + "JOIN rel_usuarios_perfil USING (id_usuarios) " + "JOIN rel_perfiles_modulos USING (id_rel_perfiles_modulos) " + "JOIN cat_perfiles USING (id_rel_perfiles_modulos) " + "JOIN cat_areas USING (id_area)" + patron_busqueda + "ORDER BY " + columna_ordenada + desc + ";"; lrs_res = lst_stm.executeQuery(ls_query); while (lrs_res.next()) { usuarios_encontrados = "si"; %> <% if (permiso_eliminar) { %> <%} if (permiso_privilegioos) { %> <% } if (permiso_eliminar) { if (lrs_res.getString("status").equals("a")) { %> <% } else { %> <% } } %> <% } } catch (Exception e) { emergent_error = "Error al recuperar lista de usuarios del sistema "; if (debug.equals("si")) { emergent_error += e + " Query actual: " + ls_query; } %>
<%=emergent_error%>
<% } finally { lst_stm.close(); lcnt_con.close(); } %>
class="headerSortDown" <%}%> onclick="javascript:window.location='desp_mostrar_usuarios_PRINC.jsp?columna_ordenada=nombre<%=tipo_enviar + patron_enviar%><%if (columna_ordenada.equals("nombre") && desc.equals(" ASC ")) {%>&desc=desc'" title="Ordenar inverso<%} else {%>'" title="Ordenar<%}%> por Nombre Real del Usuario">Nombre Real del Usuario class="headerSortDown" <%}%> onclick="javascript:window.location='desp_mostrar_usuarios_PRINC.jsp?columna_ordenada=nombre_usuario<%=tipo_enviar + patron_enviar%><%if (columna_ordenada.equals("nombre_usuario") && desc.equals(" ASC ")) {%>&desc=desc'" title="Ordenar inverso<%} else {%>'" title="Ordenar<%}%> por Nombre de Usuario">Nombre de Usuario class="headerSortDown" <%}%> onclick="javascript:window.location='desp_mostrar_usuarios_PRINC.jsp?columna_ordenada=perfil<%=tipo_enviar + patron_enviar%><%if (columna_ordenada.equals("perfil") && desc.equals(" ASC ")) {%>&desc=desc'" title="Ordenar inverso<%} else {%>'" title="Ordenar<%}%> por Perfil">Perfil class="headerSortDown" <%}%> onclick="javascript:window.location='desp_mostrar_usuarios_PRINC.jsp?columna_ordenada=nombre_area<%=tipo_enviar + patron_enviar%><%if (columna_ordenada.equals("nombre_area") && desc.equals(" ASC ")) {%>&desc=desc'" title="Ordenar inverso<%} else {%>'" title="Ordenar<%}%> por Dependencia Estatal">ÁreaModificarPriv. Esp.Status
<%=lrs_res.getString("nombre")%> <%=lrs_res.getString("nombre_usuario")%> <%=lrs_res.getString("perfil")%> <%=lrs_res.getString("nombre_area").equals("0") ? "No Asignada" : lrs_res.getString("nombre_area")%>"> (<%=lrs_res.getString("nombre")%>)" />"> (<%=lrs_res.getString("nombre")%>)" />" />" />
<% if (usuarios_encontrados.equals("no")) { %>
<%=(patron_enviar == "" ? "No hay usuarios registrados" : "No se encontraron usuarios que contengan '" + patron_enviar.substring(17)) + "'"%>
<% } } else { %>
<%=emergent_error%>
<% } //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 usuarios del sistema;"; } else { mensaje_log = "Usuario -" + session.getAttribute("username").toString() + "- realizó búsqueda de usuarios con patrón -" + patron_enviar.substring(17) + "-;"; } Config.GuardarLog(Integer.parseInt(session.getAttribute("id_user").toString()), mensaje_log, 3); } catch (Exception e) { } %>