<?php
// Incluir el archivo de conexión
include 'conexion.php';  // Asegúrate de que la ruta sea correcta

// Establecer el número de trabajos por página
$trabajos_por_pagina = 15;

// Obtener el número de página desde el parámetro GET, o establecer a 1 si no se ha proporcionado
$pagina = isset($_GET['pagina']) ? (int)$_GET['pagina'] : 1;
$inicio = ($pagina - 1) * $trabajos_por_pagina;

// Obtener el término de búsqueda desde el parámetro GET (si existe)
$busqueda = isset($_GET['busqueda']) ? $_GET['busqueda'] : '';

// Consulta para obtener el total de trabajos con filtro por código de pedido y estado
$sql_total = "SELECT COUNT(*) AS total 
              FROM trabajos 
              WHERE estado = 'Pendiente'";  // Filtra los trabajos con estado 'Pendiente'
$resultado_total = $conn->query($sql_total);
$total_trabajos = $resultado_total->fetch_assoc()['total'];

// Consulta para obtener el conteo de trabajos pendientes y terminados
$sql_estado = "SELECT 
                    SUM(CASE WHEN estado = 'Pendiente' THEN 1 ELSE 0 END) AS pendientes,
                    SUM(CASE WHEN estado = 'Terminado' THEN 1 ELSE 0 END) AS terminados
                FROM trabajos";  // Solo cuenta los trabajos pendientes

$resultado_estado = $conn->query($sql_estado);
$estado = $resultado_estado->fetch_assoc();
$pendientes = $estado['pendientes'];
$terminados = $estado['terminados'];

// Consulta para obtener los trabajos en la página actual con filtro por código de pedido
$sql = "SELECT id, valida_cod_pedido, cliente, dni, direccion, cto, tipo_servicio, paquete, fecha_registro, programacion, estado, tecnico
        FROM trabajos 
        WHERE estado = 'Pendiente'";


if (!empty($busqueda)) {
    $sql .= " AND valida_cod_pedido LIKE '%$busqueda%'";
}

$sql .= " LIMIT $inicio, $trabajos_por_pagina";  // Limitamos los trabajos por página

$resultado = $conn->query($sql);

// Inicializar el array de trabajos
$trabajos = [];

// Recorremos los trabajos obtenidos
while ($fila = $resultado->fetch_assoc()) {
    $trabajos[] = $fila;
}

// Calcular el número total de páginas
$total_paginas = ceil($total_trabajos / $trabajos_por_pagina);

// Enviar la respuesta como JSON
echo json_encode([
    "trabajos" => $trabajos,
    "pendientes" => $pendientes,
    "terminados" => $terminados,
    "total_trabajos" => $total_trabajos,
    "total_paginas" => $total_paginas
]);

// Cerrar la conexión
$conn->close();
?>
