<?php
/**
 * GET /api/inventario/kardex/listar.php?producto_id=123&sucursal_id=1
 */
require_once '../../config/database.php';
require_once '../../includes/helpers.php';

$pdo = getConnection();

$producto_id = isset($_GET['producto_id']) ? (int)$_GET['producto_id'] : 0;
$sucursal_id = isset($_GET['sucursal_id']) ? (int)$_GET['sucursal_id'] : 0;

if (!$producto_id) {
    json_error('Debe especificar un producto');
}

try {
    $params = [$producto_id];
    $sql = "SELECT m.*, u.nombre as usuario, s.nombre as sucursal_nombre
            FROM inventario_movimientos m 
            LEFT JOIN usuarios u ON m.usuario_id = u.id 
            LEFT JOIN sucursales s ON m.sucursal_id = s.id
            WHERE m.producto_id = ?";
            
    if ($sucursal_id > 0) {
        $sql .= " AND m.sucursal_id = ?";
        $params[] = $sucursal_id;
    }
    
    $sql .= " ORDER BY m.fecha_movimiento DESC LIMIT 100";
    
    $stmt = $pdo->prepare($sql);
    $stmt->execute($params);
    $movimientos = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    // Obtener información del producto
    $stmtP = $pdo->prepare("SELECT CodigoInterno, NombreComercial FROM productos WHERE id = ?");
    $stmtP->execute([$producto_id]);
    $producto = $stmtP->fetch(PDO::FETCH_ASSOC);

    json_success([
        'producto' => $producto,
        'movimientos' => $movimientos
    ]);

} catch (Exception $e) {
    json_error('Error: ' . $e->getMessage());
}
?>
