<?php
include 'conexion.php';
session_start();

// Verifica que el usuario haya iniciado sesión
if (!isset($_SESSION['id_usuario'])) {
    echo json_encode(["error" => "Sesión no iniciada"]);
    exit;
}

// Obtener el ID de empresa del usuario desde la base de datos
$id_usuario = $_SESSION['id_usuario'];
$usuario_query = $conexion->query("SELECT id_empresa FROM usuarios_sistema WHERE id_usuario = $id_usuario");
if ($usuario_query->num_rows === 0) {
    echo json_encode(["error" => "Usuario no encontrado"]);
    exit;
}
$id_empresa = $usuario_query->fetch_assoc()['id_empresa'];

// Configuración de paginación
$trabajos_por_pagina = 15;
$pagina = isset($_GET['pagina']) ? (int)$_GET['pagina'] : 1;
$inicio = ($pagina - 1) * $trabajos_por_pagina;

// Búsqueda opcional
$busqueda = isset($_GET['busqueda']) ? $_GET['busqueda'] : '';

// Total de trabajos filtrado por estado y empresa
$sql_total = "SELECT COUNT(*) AS total 
              FROM trabajos 
              WHERE estado = 'Pendiente' AND id_empresa = $id_empresa";
$resultado_total = $conexion->query($sql_total);
$total_trabajos = $resultado_total->fetch_assoc()['total'];

// Conteo de trabajos pendientes y terminados para esa empresa
$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 
                WHERE id_empresa = $id_empresa";

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

// Consulta de trabajos por página
$sql = "SELECT id, valida_cod_pedido, cliente, dni, direccion, cto, tipo_servicio, paquete, fecha_registro, programacion, estado, tecnico
        FROM trabajos 
        WHERE estado = 'Pendiente' AND id_empresa = $id_empresa";

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

$sql .= " LIMIT $inicio, $trabajos_por_pagina";

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

// Obtener trabajos en array
$trabajos = [];
while ($fila = $resultado->fetch_assoc()) {
    $trabajos[] = $fila;
}

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

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

$conexion->close();
?>
