{% extends 'base.html.twig' %} {% block title %}Dashboard{% endblock %} {% block stylesheets %} {% endblock %} {% block body %} {% set maxHasta = "now"|date_modify("-1 day")|date("Y-m-d") %}

Dashboard

Periodo: {{ filters.desde }} al {{ filters.hasta }}
{% if section != 'hoy' %}
{% endif %}
{% set exportParams = {'desde': filters.desde, 'hasta': filters.hasta} %} {% if filters.local_id %} {% set exportParams = exportParams|merge({'local_id': filters.local_id}) %} {% endif %} {% if filters.fila_id %} {% set exportParams = exportParams|merge({'fila_id': filters.fila_id}) %} {% endif %} Descargar reporte
{% if section == 'turnos' %} {% set tableOrigin = 'all' %}

Diario

{% if filters.local_id %} {% endif %} {% if filters.fila_id %} {% endif %} {% if monthOptions|length > 1 %} {% endif %}
{% set exportDailyParams = { 'desde': filters.desde, 'hasta': filters.hasta, 'origin': origin, 'month': selectedMonth } %} {% if filters.local_id %} {% set exportDailyParams = exportDailyParams|merge({'local_id': filters.local_id}) %} {% endif %} {% if filters.fila_id %} {% set exportDailyParams = exportDailyParams|merge({'fila_id': filters.fila_id}) %} {% endif %} Descargar Excel
{% set isActive = sort.daily.key == 'fecha' %} {% set nextDir = isActive and sort.daily.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = sort.daily.key == 'total_turnos' %} {% set nextDir = isActive and sort.daily.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = sort.daily.key == 'reservas' %} {% set nextDir = isActive and sort.daily.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = sort.daily.key == 'espontaneos' %} {% set nextDir = isActive and sort.daily.dir == 'asc' ? 'desc' : 'asc' %} {% if tableOrigin == 'all' %} {% endif %} {% set isActive = sort.daily.key == 'promedio_espera_min' %} {% set nextDir = isActive and sort.daily.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = sort.daily.key == 'promedio_atencion_min' %} {% set nextDir = isActive and sort.daily.dir == 'asc' ? 'desc' : 'asc' %} {% for row in dailyRows %} {% if row.type == 'header' %} {% else %} {% if tableOrigin == 'all' %} {% endif %} {% endif %} {% else %} {% endfor %}
Fecha {% if isActive %} {% endif %} Total turnos {% if isActive %} {% endif %} Reservas {% if isActive %} {% endif %} Espontaneos {% if isActive %} {% endif %} Espera reservas (min) Atencion reservas (min) Espera espontaneos (min) Atencion espontaneos (min) {{ tableOrigin == 'all' ? 'Promedio espera total (min)' : 'Promedio espera (min)' }} {% if isActive %} {% endif %} {{ tableOrigin == 'all' ? 'Promedio atencion total (min)' : 'Promedio atencion (min)' }} {% if isActive %} {% endif %}
{{ row.label }}
{{ row.fecha }} {{ row.total_turnos }} {{ row.reservas }} {{ row.espontaneos }}{{ row.promedio_espera_reservas_min }} {{ row.promedio_atencion_reservas_min }} {{ row.promedio_espera_espontaneos_min }} {{ row.promedio_atencion_espontaneos_min }}{{ row.promedio_espera_min }} {{ row.promedio_atencion_min }}
Sin datos para el periodo seleccionado.
Pagina {{ pagination.daily.page }} de {{ pagination.daily.pages }} · {{ pagination.daily.total }} registros
{% elseif section == 'hoy' %} {% set tableOrigin = 'all' %} {% set currentHour = "now"|date("H") %}

Atenciones de hoy

{% if filters.local_id %} {% endif %} {% if filters.fila_id %} {% endif %}
{% if not filters.local_id %} {% set lastLocal = '' %} {% for card in todayModules %} {% if card.local != lastLocal %} {% set lastLocal = card.local %}
{{ card.local }}
{% endif %}
{{ card.modulo }}
{{ card.colaborador }}
Prom. atencion {{ card.promedio_atencion_min }} min
Total atenciones {{ card.total_atenciones }}
Espontaneos {{ card.total_espontaneos }}
Reservas {{ card.total_reservas }}
{% if loop.last or (todayModules[loop.index] is defined and todayModules[loop.index].local != lastLocal) %}
{% endif %} {% else %}
Sin atenciones registradas hoy.
{% endfor %} {% else %}
{% for card in todayModules %}
{{ card.modulo }}
{{ card.colaborador }}
Prom. atencion {{ card.promedio_atencion_min }} min
Total atenciones {{ card.total_atenciones }}
Espontaneos {{ card.total_espontaneos }}
Reservas {{ card.total_reservas }}
{% else %}
Sin atenciones registradas hoy.
{% endfor %}
{% endif %}
Atenciones por hora
{% for row in todayRows %} {% set rowHour = row.hora|slice(0,2) %} {% else %} {% endfor %} {% if todayTotals %} {% endif %}
Hora Total turnos Reservas Espontaneos Espera reservas (min) Atencion reservas (min) Espera espontaneos (min) Atencion espontaneos (min) Promedio espera total (min) Promedio atencion total (min)
{{ row.hora }} {{ row.total_turnos }} {{ row.reservas }} {{ row.espontaneos }} {{ row.promedio_espera_reservas_min }} {{ row.promedio_atencion_reservas_min }} {{ row.promedio_espera_espontaneos_min }} {{ row.promedio_atencion_espontaneos_min }} {{ row.promedio_espera_min }} {{ row.promedio_atencion_min }}
Sin datos para hoy.
Total {{ todayTotals.total_turnos }} {{ todayTotals.reservas }} {{ todayTotals.espontaneos }} {{ todayTotals.promedio_espera_reservas_min }} {{ todayTotals.promedio_atencion_reservas_min }} {{ todayTotals.promedio_espera_espontaneos_min }} {{ todayTotals.promedio_atencion_espontaneos_min }} {{ todayTotals.promedio_espera_min }} {{ todayTotals.promedio_atencion_min }}
Turnos
{% set exportTurnosParams = {} %} {% if filters.local_id %} {% set exportTurnosParams = exportTurnosParams|merge({'local_id': filters.local_id}) %} {% endif %} {% if filters.fila_id %} {% set exportTurnosParams = exportTurnosParams|merge({'fila_id': filters.fila_id}) %} {% endif %} {% if todayTurnosSort is defined %} {% set exportTurnosParams = exportTurnosParams|merge({'sort_turnos': todayTurnosSort.key, 'dir_turnos': todayTurnosSort.dir}) %} {% endif %} Descargar Excel
{% set isActive = todayTurnosSort.key == 'turno_label' %} {% set nextDir = isActive and todayTurnosSort.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = todayTurnosSort.key == 'identificador' %} {% set nextDir = isActive and todayTurnosSort.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = todayTurnosSort.key == 'nombres' %} {% set nextDir = isActive and todayTurnosSort.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = todayTurnosSort.key == 'apellidos' %} {% set nextDir = isActive and todayTurnosSort.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = todayTurnosSort.key == 'email' %} {% set nextDir = isActive and todayTurnosSort.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = todayTurnosSort.key == 'celular' %} {% set nextDir = isActive and todayTurnosSort.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = todayTurnosSort.key == 'ingreso' %} {% set nextDir = isActive and todayTurnosSort.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = todayTurnosSort.key == 'atencion' %} {% set nextDir = isActive and todayTurnosSort.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = todayTurnosSort.key == 'termino_atencion' %} {% set nextDir = isActive and todayTurnosSort.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = todayTurnosSort.key == 'pospuesto' %} {% set nextDir = isActive and todayTurnosSort.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = todayTurnosSort.key == 'derivado' %} {% set nextDir = isActive and todayTurnosSort.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = todayTurnosSort.key == 'modulo' %} {% set nextDir = isActive and todayTurnosSort.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = todayTurnosSort.key == 'colaborador' %} {% set nextDir = isActive and todayTurnosSort.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = todayTurnosSort.key == 'fila' %} {% set nextDir = isActive and todayTurnosSort.dir == 'asc' ? 'desc' : 'asc' %} {% if not filters.local_id %} {% set isActive = todayTurnosSort.key == 'local' %} {% set nextDir = isActive and todayTurnosSort.dir == 'asc' ? 'desc' : 'asc' %} {% endif %} {% for row in todayTurnos %} {% if not filters.local_id %} {% endif %} {% else %} {% endfor %}
Turno {% if isActive %} {% endif %} RUT {% if isActive %} {% endif %} Nombres {% if isActive %} {% endif %} Apellidos {% if isActive %} {% endif %} Email {% if isActive %} {% endif %} Celular {% if isActive %} {% endif %} Ingreso {% if isActive %} {% endif %} Atencion {% if isActive %} {% endif %} Termino atencion {% if isActive %} {% endif %} Pospuesto {% if isActive %} {% endif %} Derivado {% if isActive %} {% endif %} Modulo {% if isActive %} {% endif %} Colaborador {% if isActive %} {% endif %} Fila {% if isActive %} {% endif %} Local {% if isActive %} {% endif %}
{{ row.turno_label }} {{ row.identificador }} {{ row.nombres }} {{ row.apellidos }} {{ row.email }} {{ row.celular }} {{ row.hora_ingreso }} {{ row.hora_atencion }} {{ row.hora_termino_atencion }} {{ row.hora_pospuesto }} {{ row.hora_derivado }} {{ row.modulo_nombre }} {{ row.colaborador }} {{ row.fila_nombre }}{{ row.local_nombre }}
Sin turnos para hoy.
Pagina {{ todayTurnosPagination.page }} de {{ todayTurnosPagination.pages }} · {{ todayTurnosPagination.total }} registros
{% elseif section == 'colaboradores' %}

Colaboradoras

{% if filters.local_id %} {% endif %} {% if filters.fila_id %} {% endif %} {% if monthOptions|length > 1 %} {% endif %}
{% set exportCollabParams = { 'desde': filters.desde, 'hasta': filters.hasta, 'origin': origin, 'month': selectedMonth } %} {% if filters.local_id %} {% set exportCollabParams = exportCollabParams|merge({'local_id': filters.local_id}) %} {% endif %} {% if filters.fila_id %} {% set exportCollabParams = exportCollabParams|merge({'fila_id': filters.fila_id}) %} {% endif %} Descargar Excel
{% set isActive = sort.collab.key == 'colaboradora' %} {% set nextDir = isActive and sort.collab.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = sort.collab.key == 'total_atenciones_mes' %} {% set nextDir = isActive and sort.collab.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = sort.collab.key == 'dias_con_atencion' %} {% set nextDir = isActive and sort.collab.dir == 'asc' ? 'desc' : 'asc' %} {% set isActive = sort.collab.key == 'promedio_diario' %} {% set nextDir = isActive and sort.collab.dir == 'asc' ? 'desc' : 'asc' %} {% for row in collabRows %} {% if row.type == 'header' %} {% else %} {% endif %} {% else %} {% endfor %}
Colaboradora {% if isActive %} {% endif %} Total atenciones mes {% if isActive %} {% endif %} Dias con atencion {% if isActive %} {% endif %} Promedio diario {% if isActive %} {% endif %}
{{ row.label }}
{{ row.colaboradora|upper }} {{ row.total_atenciones_mes }} {{ row.dias_con_atencion }} {{ row.promedio_diario }}
Sin datos para el periodo seleccionado.
Pagina {{ pagination.collab.page }} de {{ pagination.collab.pages }} · {{ pagination.collab.total }} registros

Detalle colaboradoras

{% set exportCollabDetailParams = { 'desde': filters.desde, 'hasta': filters.hasta, 'origin': origin, 'month': selectedMonth } %} {% if filters.local_id %} {% set exportCollabDetailParams = exportCollabDetailParams|merge({'local_id': filters.local_id}) %} {% endif %} {% if filters.fila_id %} {% set exportCollabDetailParams = exportCollabDetailParams|merge({'fila_id': filters.fila_id}) %} {% endif %} Descargar Excel
{% for row in collabDailyRows %} {% if row.type == 'header' %} {% elseif row.type == 'total' %} {% else %} {% endif %} {% else %} {% endfor %}
Fecha Total atenciones
{{ row.label|upper }}
{{ row.label|upper }} {{ row.total_atenciones }}
{{ row.fecha }} {{ row.total_atenciones }}
Sin datos para el periodo seleccionado.
Pagina {{ pagination.collabDaily.page }} de {{ pagination.collabDaily.pages }} · {{ pagination.collabDaily.total }} registros
{% elseif section == 'reportes' %}

{{ report.headline.title }}

{{ report.headline.subtitle }}

Cantidad de turnos por mes

Tiempo de espera por mes (min)

% de reservas y cantidad

Promedio de espera total (min)

Reserva: {{ report.waitTotals.reservas }} Espontaneo: {{ report.waitTotals.espontaneos }}

Atenciones por hora

{% endif %}
{% endblock %}