Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/banredco/helpdesk/llms.txt

Use this file to discover all available pages before exploring further.

El módulo de reportes centraliza las métricas más importantes del sistema de soporte. Está pensado tanto para administradores que necesitan visibilidad operativa diaria como para supervisores que deben presentar indicadores de rendimiento en revisiones periódicas. Toda la información se calcula en tiempo real a partir de la tabla tickets y sus relaciones con ticket_statuses y users.

Indicadores KPI disponibles

Al ingresar a /admin/reports.php, se muestran cuatro tarjetas de resumen calculadas mediante consultas directas sobre la base de datos:
IndicadorDescripción
Tickets TotalestotalTickets — Conteo de todos los tickets no eliminados (is_deleted = 0).
AbiertosopenTickets — Tickets cuyo estado (ticket_statuses.name) es 'Abierto'.
ResueltosresolvedTickets — Tickets cuyo estado es 'Resuelto'.
CerradosclosedTickets — Tickets cuyo estado es 'Cerrado'.

Gráficos y tablas

Tickets por estado

Un gráfico de tipo doughnut (Chart.js) muestra la distribución de tickets agrupados por nombre de estado. Los datos provienen de las variables $stateLabels y $stateTotals, construidas con la siguiente consulta:
SELECT s.name, COUNT(*) total
FROM tickets t
INNER JOIN ticket_statuses s ON s.id = t.status_id
WHERE t.is_deleted = 0
GROUP BY s.name
ORDER BY total DESC
Esto permite identificar de un vistazo en qué estados se acumula más volumen de trabajo.

Tickets creados por mes

Un gráfico de línea muestra la tendencia mensual de creación de tickets. La agrupación se realiza con DATE_FORMAT(created_at, '%Y-%m') para obtener etiquetas en formato YYYY-MM:
SELECT DATE_FORMAT(created_at, '%Y-%m') month, COUNT(*) total
FROM tickets
WHERE is_deleted = 0
GROUP BY month
ORDER BY month
Este gráfico es útil para detectar picos de soporte (campañas, lanzamientos de producto, incidentes) y planificar la capacidad del equipo.

Rendimiento por agente

La vista del dashboard (/admin/dashboard.php) incluye un panel de rendimiento por agente que muestra los 10 agentes con más tickets asignados, representados mediante barras proporcionales al máximo del grupo:
SELECT CONCAT(u.first_name, ' ', u.last_name) agent_name, COUNT(t.id) total
FROM users u
LEFT JOIN tickets t ON t.assigned_user_id = u.id
GROUP BY u.id
ORDER BY total DESC
LIMIT 10

Dashboard de inicio

El panel de inicio en /admin/dashboard.php complementa el módulo de reportes con indicadores operativos en tiempo real:
MétricaDescripción
openTicketsTickets con status_id = 1 (Abierto).
waitingTicketsTickets con status_id = 3 (Esperando cliente).
escalatedTicketsTickets con status_id = 6 (Escalado).
resolvedTodayTickets resueltos hoy (status_id = 4 y DATE(updated_at) = CURDATE()).
closedTodayTickets cerrados hoy (status_id = 5 y DATE(updated_at) = CURDATE()).
unassignedTicketsTickets sin agente asignado y no finalizados.
SLA OKTickets activos con menos de 4 horas desde la última respuesta.
SLA RiesgoTickets activos entre 4 y 24 horas sin respuesta.
SLA VencidoTickets activos con más de 24 horas sin respuesta.
El dashboard también muestra las últimas 10 entradas de tickets y los tickets que requieren atención inmediata según su activity_label.

Exportar reportes

Desde la página de reportes, el botón Exportar Excel descarga el archivo reportes-banred.csv directamente desde el endpoint /admin/report-export.php. El archivo incluye las siguientes columnas, separadas por punto y coma (;) para compatibilidad con Excel en español:
ColumnaOrigen
Ticketticket_number
Clientecustomers.name
Correocustomers.email
Asuntotickets.subject
Estadoticket_statuses.name
Prioridadticket_priorities.name
Tipoticket_types.name
Grupogroups.name
AgenteCONCAT(users.first_name, ' ', users.last_name)
Canaltickets.source
Fecha Creacióntickets.created_at
Última Actualizacióntickets.updated_at
Última Respuestatickets.last_reply_at
El archivo incluye una marca BOM UTF-8 (0xEF 0xBB 0xBF) para que los caracteres especiales se visualicen correctamente al abrir el CSV en Microsoft Excel.

Acceso

Solo los usuarios con rol Administrador o Supervisor pueden acceder al módulo de reportes y a la exportación. El acceso está protegido mediante requireRole([1, 2]) definido en config/permissions.php.
Utilice el dashboard (/admin/dashboard.php) diariamente para monitorear el estado de SLA y reaccionar ante tickets escalados o sin asignar. Reserve el módulo de reportes (/admin/reports.php) para revisiones semanales o mensuales y para exportar datos hacia herramientas de análisis externas como Excel o Google Sheets.

Build docs developers (and LLMs) love