<%-- 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
" onfocus="this.setAttribute('style', ''); if (this.value=='buscar...') this.value='';"/>    Activos / Desactivos    Activos  Desactivos      <% if (permiso_agregar) { %>    <% } %>
<% //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) { } %>
<% if (permiso_editar) { %> <% } // if (permiso_historico) { %> <% //} if (permiso_eliminar) { %> <% } %> <% ls_query = "SELECT" + " f.id_funcionario, " + " concat(f.ap_paterno, ' ', f.ap_materno, ' ', f.nombre) as nombre, " + " a.clave, " + " h.dependencia, " + " h.puesto, " + " if (a.fecha_alta='0000-00-00', '', a.fecha_alta) as fecha_alta, " + " if (a.fecha_baja='0000-00-00', '', a.fecha_baja) as fecha_baja, " + " a.id_altabaja, " + " a.status, " + " h.id_historial " + "FROM altabaja a " + "LEFT JOIN historial h USING(id_historial) " + "LEFT JOIN funcionarios f ON f.id_funcionario=a.id_funcionario " + patron_busqueda + " GROUP BY f.id_funcionario" + " ORDER BY f.id_funcionario"; if (Integer.parseInt(lower_limit) >= 0) { ls_query += " LIMIT " + lower_limit + ", " + upper_limit + " "; } //out.println(ls_query); lrs_res = lst_stm.executeQuery(ls_query); while (lrs_res.next()) { elementos_encontrados = true; %> <% if(permiso_editar){ //if (lrs_res.getBoolean("status")){ %> <% } %> <% // } if (permiso_eliminar) { if (lrs_res.getBoolean("status")) { %> <% } else { %> <% } } } %>
ID Nombre Clave Dependencia Puesto Fecha Alta Fecha Baja Status HistóricoBaja
<%=lrs_res.getString("id_funcionario")%> <%=lrs_res.getString("nombre")%> <%=lrs_res.getString("clave")%> <%=lrs_res.getString("dependencia")%> <%=lrs_res.getString("puesto")%> <%=lrs_res.getString("fecha_alta")%> <%=lrs_res.getString("fecha_baja")%> <% if (lrs_res.getBoolean("status")){ out.println("Activo"); } else out.println("Baja"); %> &id_altabaja=<%=lrs_res.getString("id_altabaja")%>"> " /> " /> " />
<% } 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) { } %>