<?php
require_once ("../config/db.php");
require_once ("../config/conexion.php");
include('is_logged.php');

// --- NUEVO BLOQUE PARA ELIMINAR ---
if (isset($_GET['id'])) {
    $id_eliminar = intval($_GET['id']);
    
    // Primero eliminamos la composición/receta para evitar errores de integridad
    mysqli_query($con, "DELETE FROM composicion_producto_final WHERE id_producto_final = '$id_eliminar'");
    
    // Ahora eliminamos el producto final
    if ($delete = mysqli_query($con, "DELETE FROM producto_final WHERE id = '$id_eliminar'")) {
        ?>
        <div class="alert alert-success alert-dismissible" role="alert">
          <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
          <strong>¡Logrado!</strong> Producto eliminado exitosamente.
        </div>
        <?php
    } else {
        ?>
        <div class="alert alert-danger alert-dismissible" role="alert">
          <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
          <strong>Error:</strong> No se pudo eliminar el producto (puede estar siendo usado en facturas antiguas).
        </div>
        <?php
    }
}
// --- FIN DEL BLOQUE ELIMINAR ---

$action = (isset($_REQUEST['action']) && $_REQUEST['action'] != NULL) ? $_REQUEST['action'] : '';

if ($action == 'ajax') {
    // Usamos trim para evitar que espacios en blanco rompan el empty()
    $tipo = isset($_REQUEST['tipo']) ? mysqli_real_escape_string($con, trim(strip_tags($_REQUEST['tipo'], ENT_QUOTES))) : "";
    $descripcion = isset($_REQUEST['descripcion']) ? mysqli_real_escape_string($con, trim(strip_tags($_REQUEST['descripcion'], ENT_QUOTES))) : "";

    $sWhere = " WHERE 1=1 ";
    
    if (!empty($tipo)) {
        $sWhere .= " AND tipo = '$tipo' ";
    }
    if (!empty($descripcion)) {
        // Importante: Verifica que tu tabla tenga la columna 'nombre'
        $sWhere .= " AND nombre LIKE '%$descripcion%' ";
    }

    include 'pagination.php'; 
    $page = (isset($_REQUEST['page']) && !empty($_REQUEST['page'])) ? $_REQUEST['page'] : 1;
    $per_page = 10; 
    $adjacents = 4; 
    $offset = ($page - 1) * $per_page;

    $count_sql = "SELECT count(*) AS numrows FROM producto_final $sWhere";
    $count_query = mysqli_query($con, $count_sql);
    $row_count = mysqli_fetch_array($count_query);
    $numrows = $row_count['numrows'];
    $total_pages = ceil($numrows / $per_page);
    $reload = './productos_finales.php';

    $sql = "SELECT * FROM producto_final $sWhere ORDER BY nombre ASC LIMIT $offset, $per_page";
    $query = mysqli_query($con, $sql);

    if ($numrows > 0) {
        ?>
        <div class="table-responsive">
          <table class="table table-hover">
            <tr class="warning">
                <th>ITEM</th>
                <th>Tipo</th>
                <th>Descripción</th>
                <th>Precio venta</th>
                <th>Agregado</th>
                <th class='text-center'>Composición</th>
                <th class='text-right'>Acciones</th>
            </tr>
            <?php
            $nums = $offset + 1;
            while ($row = mysqli_fetch_array($query)) {
                $id = $row['id'];
                $nombre_pf = $row['nombre'];
                $tipo_pf = $row['tipo'];
                $fecha = date('d/m/Y', strtotime($row['date_added']));
                
                $sql_precio = mysqli_query($con, "SELECT SUM(c.cantidad * p.precio_venta) as precio_total 
                                                  FROM composicion_producto_final c 
                                                  INNER JOIN products p ON c.id_producto = p.id_producto 
                                                  WHERE c.id_producto_final = '$id' 
                                                  GROUP BY c.id_producto_final");
                
                if ($sql_precio && mysqli_num_rows($sql_precio) > 0) {
                    $row_p = mysqli_fetch_array($sql_precio);
                    $precio_venta = $row_p['precio_total'];
                } else {
                    $precio_venta = 0; 
                }
                
                $precio_venta_f = number_format($precio_venta, 2, '.', '');
                ?>
                <tr id="pf_<?php echo $id; ?>">
                    <td><?php echo $nums++; ?></td>
                    <td><?php echo $tipo_pf; ?></td>
                    <td><?php echo $nombre_pf; ?></td>
                    <td><?php echo $precio_venta_f; ?></td>
                    <td><?php echo $fecha; ?></td>
                    <td class='text-center'>
                        <a href="#" class='btn btn-default btn-xs' onclick="abrir_composicion('<?php echo $id; ?>')"><i class="glyphicon glyphicon-list"></i> Receta</a>
                    </td>
                    <td class='text-right'>
                        <input type="hidden" value="<?php echo $tipo_pf; ?>" id="tipo<?php echo $id; ?>">
                        <input type="hidden" value="<?php echo $nombre_pf; ?>" id="descripcion<?php echo $id; ?>">
                        <?php if($_SESSION['rol']=="gerencia"){ ?>
                            <a href="#" class='btn btn-default btn-xs' onclick="obtener_datos('<?php echo $id; ?>')" data-toggle="modal" data-target="#productoFinalModal2"><i class="glyphicon glyphicon-edit"></i></a>
                            <a href="#" class='btn btn-default btn-xs' onclick="eliminar('<?php echo $id; ?>')"><i class="glyphicon glyphicon-trash"></i></a>
                        <?php } ?>
                    </td>
                </tr>
                <?php
            }
            ?>
            <tr>
                <td colspan="6"><span class="pull-right"><?php echo paginate($reload, $page, $total_pages, $adjacents); ?></span></td>
            </tr>
          </table>
        </div>
        <?php
    } else {
        echo '<div class="alert alert-warning text-center">No se encontraron productos con los filtros aplicados.</div>';
    }
}
?>