<?php
require_once ("config/db.php");
require_once ("config/conexion.php");
session_start();

// --- CONFIGURACIÓN DE NOMBRES DE COLUMNA ---
$columna_stock = "existencia"; 
$columna_minimo = "stock_minimo"; 

$tienda_input = $_POST['tienda']; 

// 1. Detección de columna de stock
$check_col = mysqli_query($con, "SHOW COLUMNS FROM products LIKE '$columna_stock'");
if (mysqli_num_rows($check_col) == 0) {
    $columna_stock = "existencia_producto"; 
}

// 2. Construcción del Filtro Base (Usamos el alias 'p' para la tabla products)
$sWhere = " WHERE p.$columna_stock <= p.$columna_minimo "; 

if (!empty($tienda_input)) {
    $tienda_esc = mysqli_real_escape_string($con, $tienda_input);
    
    // Buscamos el ID de la tienda para filtrar correctamente
    $sql_t = mysqli_query($con, "SELECT id_tienda FROM tiendas WHERE nombre = '$tienda_esc'");
    $rw_t = mysqli_fetch_array($sql_t);
    $id_tienda_real = ($rw_t) ? $rw_t['id_tienda'] : 0;

    // Filtramos por el campo almacen de la tabla productos
    $sWhere .= " AND p.almacen = '$id_tienda_real'";
}

// 3. Paginación
$sql_count = "SELECT count(*) AS numrows FROM products p $sWhere";
$count_query = mysqli_query($con, $sql_count);
$row_c = mysqli_fetch_array($count_query);
$numrows = $row_c['numrows'];

$page = (isset($_REQUEST['page']) && !empty($_REQUEST['page'])) ? $_REQUEST['page'] : 1;
$per_page = 20;
$offset = ($page - 1) * $per_page;
$total_pages = ceil($numrows / $per_page);

// 4. Consulta Principal con JOIN para traer el nombre del almacén
$sql = "SELECT p.*, t.nombre as nombre_almacen 
        FROM products p 
        LEFT JOIN tiendas t ON p.almacen = t.id_tienda 
        $sWhere 
        ORDER BY p.$columna_stock ASC 
        LIMIT $offset, $per_page";

$query = mysqli_query($con, $sql);
?>

<?php if ($numrows > 0) { ?>
    <div class="alert alert-danger" style="border-left: 5px solid #a94442;">
        <i class="glyphicon glyphicon-exclamation-sign"></i> 
        <strong>Insumos Críticos:</strong> Se encontraron <?php echo $numrows; ?> artículos con existencia baja.
    </div>
<?php } ?>

<div class="table-responsive">
    <table class="table table-hover table-striped" style="background: white; font-size: 13px;">
        <thead>
            <tr class="info">
                <th>Descripción</th>
                <th><i class="glyphicon glyphicon-map-marker"></i> Ubicación</th>
                <th class="text-center">Stock</th>
                <th class="text-center">Límite</th>
                <th>Estado</th>
            </tr>
        </thead>
        <tbody>
            <?php
            if ($numrows > 0) {
                while ($row = mysqli_fetch_array($query)) {
                    $actual = $row[$columna_stock];
                    $minimo = $row[$columna_minimo];
                    $nombre_tienda = (!empty($row['nombre_almacen'])) ? $row['nombre_almacen'] : "Sin asignar";
                    
                    if ($actual <= 0) {
                        $label = '<span class="label label-danger">AGOTADO</span>';
                        $clase_texto = 'text-danger';
                    } else {
                        $label = '<span class="label label-warning" style="color:#8a6d3b;">REPONER</span>';
                        $clase_texto = 'text-warning';
                    }
            ?>
                <tr>
                    <td><strong><?php echo $row['nombre_producto']; ?></strong></td>
                    <td><span class="text-primary"><?php echo $nombre_tienda; ?></span></td>
                    <td class="text-center">
                        <b class="<?php echo $clase_texto; ?>" style="font-size: 1.2em;">
                            <?php echo number_format($actual, 2); ?>
                        </b>
                    </td>
                    <td class="text-center text-muted"><?php echo $minimo; ?></td>
                    <td><?php echo $label; ?></td>
                </tr>
            <?php } } else { ?>
                <tr>
                    <td colspan="6" class="text-center" style="padding: 30px;">
                        <h4 class="text-success"><i class="glyphicon glyphicon-ok"></i> Todo el inventario está por encima del mínimo.</h4>
                    </td>
                </tr>
            <?php } ?>
        </tbody>
    </table>
</div>

<div class="text-center">
    <?php include 'pagination.php'; echo paginate('./reportes.php', $page, $total_pages, 4); ?>
</div>