<?php
session_start();
include_once '../config/database.php';

header('Content-Type: application/json');

try {
    $database = new Database();
    $conn = $database->getConnection();
    
    // Verificar que se recibieron los IDs
    if (!isset($_POST['ids'])) {
        throw new Exception('No se recibieron IDs para eliminar');
    }
    
    $ids = json_decode($_POST['ids'], true);
    if (!is_array($ids) || empty($ids)) {
        throw new Exception('Lista de IDs inválida');
    }
    
    // Obtener la empresa del usuario logueado
    $codempresaUsuario = null;
    $stmt_empresa = $conn->prepare("SELECT codempresa FROM templeado WHERE codempleado = ?");
    $stmt_empresa->execute([$_SESSION['user']['codempleado']]);
    $resultado_empresa = $stmt_empresa->fetch(PDO::FETCH_ASSOC);
    if ($resultado_empresa) {
        $codempresaUsuario = $resultado_empresa['codempresa'];
    }
    
    if (!$codempresaUsuario) {
        throw new Exception('No se pudo verificar la empresa del usuario');
    }
    
    $eliminados = 0;
    $errores = [];
    
    // Eliminar cada registro verificando que pertenece a la empresa del usuario
    foreach ($ids as $id) {
        try {
            // Verificar que el registro pertenece a la empresa del usuario
            $stmt_verificar = $conn->prepare("SELECT id FROM timportequipos WHERE id = ? AND codempresa = ?");
            $stmt_verificar->execute([$id, $codempresaUsuario]);
            $registro_existe = $stmt_verificar->fetch(PDO::FETCH_ASSOC);
            
            if (!$registro_existe) {
                $errores[] = "ID $id: No tiene permisos para eliminar este registro";
                continue;
            }
            
            // Eliminar el registro
            $stmt = $conn->prepare("DELETE FROM timportequipos WHERE id = ? AND codempresa = ?");
            $stmt->execute([$id, $codempresaUsuario]);
            
            if ($stmt->rowCount() > 0) {
                $eliminados++;
            } else {
                $errores[] = "ID $id: No se pudo eliminar el registro";
            }
            
        } catch (PDOException $e) {
            $errores[] = "ID $id: Error al eliminar - " . $e->getMessage();
        }
    }
    
    $response = [
        'success' => true,
        'eliminados' => $eliminados,
        'total' => count($ids),
        'errores' => $errores
    ];
    
    if (!empty($errores)) {
        $response['message'] = "Se eliminaron $eliminados de " . count($ids) . " registros. Errores: " . implode(', ', $errores);
    }
    
    echo json_encode($response);
    
} catch (Exception $e) {
    echo json_encode([
        'success' => false,
        'message' => $e->getMessage()
    ]);
}
?>
