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

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

try {
    $database = new Database();
    $conn = $database->getConnection();
    
    // Verificar que el usuario esté logueado
    if (!isset($_SESSION['user']['codempleado'])) {
        throw new Exception('Usuario no autenticado');
    }
    
    // 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 obtener la empresa del usuario');
    }
    
    // Obtener los IDs de los registros a eliminar
    $ids_json = $_POST['ids'] ?? '';
    $ids = json_decode($ids_json, true);
    
    if (!$ids || !is_array($ids) || empty($ids)) {
        throw new Exception('No se proporcionaron IDs válidos');
    }
    
    // Verificar que todos los registros pertenezcan a la empresa del usuario
    $placeholders = str_repeat('?,', count($ids) - 1) . '?';
    $stmt_verificar = $conn->prepare("SELECT id FROM timportventas WHERE id IN ($placeholders) AND codempresa = ?");
    $params_verificar = array_merge($ids, [$codempresaUsuario]);
    $stmt_verificar->execute($params_verificar);
    $registros_validos = $stmt_verificar->fetchAll(PDO::FETCH_COLUMN);
    
    if (count($registros_validos) !== count($ids)) {
        throw new Exception('Algunos registros no pertenecen a su empresa o no existen');
    }
    
    // Eliminar los registros
    $stmt_eliminar = $conn->prepare("DELETE FROM timportventas WHERE id IN ($placeholders) AND codempresa = ?");
    $params_eliminar = array_merge($ids, [$codempresaUsuario]);
    $stmt_eliminar->execute($params_eliminar);
    
    $eliminados = $stmt_eliminar->rowCount();
    
    echo json_encode([
        'success' => true,
        'message' => "Se eliminaron $eliminados registro(s) correctamente",
        'eliminados' => $eliminados
    ]);
    
} catch (Exception $e) {
    echo json_encode([
        'success' => false,
        'message' => $e->getMessage()
    ]);
}
?>
