%--
Document : desp_muestra_tickets
Created on : 23/11/2011, 04:43:14 PM
Author : psoto
--%>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page
import = "conexion.*"
import = "java.sql.*"
import = "extras.formatFecha"
import = "general.Config"
import = "general.Permisos"
import = "own.codec.*"
import = "java.text.NumberFormat"
import = "java.util.Date"
import = "java.util.Calendar"
import = "java.text.SimpleDateFormat"
import = "java.util.GregorianCalendar"
%>
Desplegar Ticket's Abiertos del Sistema
<%
/****** Despliega la lista de cines del sistema filtrados por el texto de búsqueda de buscar_cines.jsp (no obligatorio)***********/
/********************************************creado por: L.I. Salvador Díaz Parra*******************************************************/
out.println("");
String nompag[] = request.getRequestURI().split("/");
Date hoy = new Date();
SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
%>
<%
ConexionEquipos c = null;
Connection lcnt_con = null;
ResultSet lrs_res = null;
Statement lst_stm = null;
String ls_query = new String("");
ResultSet lrs_res2 = null;
Statement lst_stm2 = null;
String ls_query2 = new String("");
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_tickets = new String("0");
String tipo_style = new String("");
String alert = new String("");
boolean permiso_administrdor = false;
boolean permiso_eliminar = false;
boolean permiso_soporte = false;
boolean permiso_ventanilla = false;
boolean permiso_contacto = false;
int id_area = 0;
int id_rel_perfiles_modulos = 0;
// Conexión a la base de datos
try {
if (!Config.getParametro("debug").equals("si")) {
debug = "no";
}
c = new ConexionEquipos();
lcnt_con = c.getConnection();
lst_stm = lcnt_con.createStatement();
lst_stm2 = 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;
}
//********* 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 {
permiso_eliminar = Permisos.PermisoModulo("desp_desactivar_ticket.jsp", Integer.parseInt(session.getAttribute("id_user").toString()));
permiso_administrdor = Permisos.PermisoModulo("arc_aux_administrador.jsp", Integer.parseInt(session.getAttribute("id_user").toString()));
permiso_soporte = Permisos.PermisoModulo("arc_aux_cplade_soporte.jsp", Integer.parseInt(session.getAttribute("id_user").toString()));
permiso_ventanilla = Permisos.PermisoModulo("arc_aux_ventanilla_siplan.jsp", Integer.parseInt(session.getAttribute("id_user").toString()));
permiso_contacto = Permisos.PermisoModulo("arc_aux_contacto_area.jsp", Integer.parseInt(session.getAttribute("id_user").toString()));
if (permiso_contacto) {
ls_query = "SELECT id_area FROM usuarios WHERE id_usuarios= " + session.getAttribute("id_user");
lrs_res = lst_stm.executeQuery(ls_query);
if (lrs_res.next()) {
id_area = lrs_res.getInt("id_area");
}
}
if (permiso_soporte || permiso_ventanilla) {
/* *********** Obtengo el perfil del usuario ***************** */
ls_query = "SELECT id_rel_perfiles_modulos FROM rel_usuarios_perfil WHERE id_usuarios=" + session.getAttribute("id_user");
lrs_res = lst_stm.executeQuery(ls_query);
if (lrs_res.next()) {
id_rel_perfiles_modulos = lrs_res.getInt("id_rel_perfiles_modulos");
}
}
// Intentando recuperar valor de patrón de búsqueda
try {
tipo_busqueda = " tk.status = TRUE AND cerrado=false ";
if (request.getParameter("tipo_busqueda") != null) {
if (request.getParameter("tipo_busqueda").equals("1")) {
tipo_busqueda = " ";
tipo_enviar += "tipo_busqueda=a&";
}
}
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 (tk.descripcion LIKE '%" + patron_busqueda + "%' OR cg.nombre LIKE '%" + patron_busqueda + "%' "
+ "OR cg.apellido_paterno LIKE '%" + patron_busqueda + "%' OR cg.apellido_materno LIKE '%" + patron_busqueda + "%' "
+ "OR ca.nombre LIKE '%" + patron_busqueda + "%' )";
} else {
patron_busqueda = " WHERE " + tipo_busqueda + " AND (tk.descripcion LIKE '%" + patron_busqueda + "%' OR cg.nombre LIKE '%" + patron_busqueda + "%' "
+ "OR cg.apellido_paterno LIKE '%" + patron_busqueda + "%' OR cg.apellido_materno LIKE '%" + patron_busqueda + "%' "
+ "OR ca.nombre LIKE '%" + patron_busqueda + "%' )";
}
} catch (Exception e) {
patron_enviar = "";
tipo_enviar = "";
patron_busqueda = " WHERE " + tipo_busqueda;
}
ls_query = "SELECT "
+ " COUNT( id_tickets) as total_tickets "
+ "FROM tickets tk "
+ "LEFT JOIN usuarios_cargos cg USING(id_usuarios_cargos) "
+ "LEFT JOIN cat_areas ca USING(id_area) "
+ "LEFT JOIN( "
+ " SELECT "
+ " MAX(fecha_creacion) as fecha_nota, "
+ " id_tickets "
+ " FROM rel_notas_tickets "
+ " GROUP BY id_tickets "
+ ") rnt USING(id_tickets) ";
if (id_area > 0) {
ls_query += " LEFT JOIN usuarios_cargos cg USING(id_usuarios_cargos) ";
}
ls_query += " " + patron_busqueda;
if (permiso_contacto) {
ls_query += " AND id_area= " + id_area;
}
if (id_rel_perfiles_modulos > 0) {
ls_query += " AND id_cat_perfiles= " + id_rel_perfiles_modulos;
}
ls_query += " ORDER BY id_tickets;";
lrs_res = lst_stm.executeQuery(ls_query);
if (lrs_res.next()) {
total_tickets = lrs_res.getString("total_tickets");
} else {
total_tickets = "0";
}
// para la paginacion
try {
lower_limit = (request.getParameter("lower").toString() == null ? "0" : request.getParameter("lower").toString());
upper_limit = String.valueOf(Integer.valueOf(request.getParameter("lower").toString() == null ? "0" : request.getParameter("lower").toString()) + 50);
upper_limit = "50";
} catch (Exception e) {
lower_limit = "0";
upper_limit = "50";
}
%>
Tickets Abiertos / Que necesitan de una respuesta
<%
//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 Tickets Abiertos " : "No se encontraron Tickets Abiertos 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 Tickets Abiertos del sistema;";
} else {
mensaje_log = "Usuario -" + session.getAttribute("username").toString() + "- realizó búsqueda de Tickets Abiertos con patrón -" + patron_enviar.substring(17) + "-;";
}
Config.GuardarLog(Integer.parseInt(session.getAttribute("id_user").toString()), mensaje_log, 3);
} catch (Exception e) {
}
%>