diff --git a/gestiones_callcenter.php b/gestiones_callcenter.php index 0f9beb07..afb72853 100644 --- a/gestiones_callcenter.php +++ b/gestiones_callcenter.php @@ -3,6 +3,11 @@ session_start(); require_once 'db/config.php'; require_once 'includes/callcenter_test_helpers.php'; require_once 'includes/drive_test_orders.php'; +require_once 'includes/contraentrega_cobertura.php'; + +$provinciasPorDepartamentoContraentrega = contraentregaProvinciasPorDepartamento(); +$distritosPorProvinciaContraentrega = contraentregaDistritosPorProvincia(); +$departamentosContraentrega = array_keys($provinciasPorDepartamentoContraentrega); $pageTitle = 'Call Center de Prueba | Bandejas de gestión'; $pageDescription = 'Bandejas diarias de Call Center con estados reales, próxima llamada, fecha de entrega, historial y edición de datos del pedido importado desde Drive.'; @@ -69,12 +74,12 @@ function cc_test_order_label(array $order): string function cc_test_badge_class(string $estado): string { - return match ($estado) { - 'CONFIRMADO CONTRAENTREGA', 'CONFIRMADO CONTRAENTREGA FECHA', 'CONFIRMADO ENVIO', 'CONFIRMADO FECHA', 'CONTRAENTREGA CONFIRMADO' => 'bg-success-subtle text-success-emphasis', + return match (cc_test_normalize_state($estado)) { + 'CONFIRMADO CONTRAENTREGA', 'CONFIRMADO ENVIO' => 'bg-success-subtle text-success-emphasis', 'DEVOLVER LLAMADA' => 'bg-info-subtle text-info-emphasis', 'OBSERVADO' => 'bg-warning-subtle text-warning-emphasis', 'CANCELADO' => 'bg-danger-subtle text-danger-emphasis', - 'REPETIDO', 'ENVIO REPETIDO' => 'bg-secondary-subtle text-secondary-emphasis', + 'REPETIDO' => 'bg-secondary-subtle text-secondary-emphasis', 'SE ENVIO NUMERO DE CUENTA' => 'bg-primary-subtle text-primary-emphasis', default => 'bg-dark-subtle text-dark-emphasis', }; @@ -82,7 +87,7 @@ function cc_test_badge_class(string $estado): string function cc_test_order_time(array $order): int { - foreach (['proxima_llamada_at', 'ultima_gestion_at', 'seguimiento_actualizado', 'import_id'] as $field) { + foreach (['proxima_llamada_at', 'numero_cuenta_enviado_at', 'ultima_gestion_at', 'seguimiento_actualizado', 'import_id'] as $field) { $date = cc_test_parse_datetime($order[$field] ?? null); if ($date) { return $date->getTimestamp(); @@ -92,6 +97,15 @@ function cc_test_order_time(array $order): int return 0; } +function cc_test_followup_semaforo(array $order): ?array +{ + if (cc_test_normalize_state((string) ($order['estado'] ?? '')) !== 'SE ENVIO NUMERO DE CUENTA') { + return null; + } + + return cc_test_account_followup_semaforo($order['numero_cuenta_enviado_at'] ?? null); +} + $view = $_GET['view'] ?? 'pendientes_hoy'; $allowedViews = [ 'pendientes_hoy' => 'Pendientes de hoy', @@ -147,6 +161,7 @@ try { $closedStates = cc_test_closed_states(); foreach ($orders as &$order) { + $order['estado'] = cc_test_normalize_state((string) ($order['estado'] ?? '')); $order['total_llamadas'] = (int) ($callCounts[$order['source_key']] ?? 0); $importDate = cc_test_parse_datetime($order['import_id'] ?? null); $proximaDate = cc_test_parse_datetime($order['proxima_llamada_at'] ?? null); @@ -239,7 +254,7 @@ require_once 'layout_header.php';
Estados disponibles: Por llamar, Devolver llamada, Observado, Se envió número de cuenta, Confirmado contraentrega 📅, Confirmado envío, Cancelado y Repetido.
+Estados disponibles: Por llamar, Devolver llamada, Observado, Se envió número de cuenta, Confirmado contraentrega, Confirmado envío, Cancelado y Repetido.
El botón Llamar / AirDroid registra el intento, copia el número y muestra la ayuda visual para pegar en tu app de AirDroid.