<?php
// Confirmar sesión
session_start();
if (!isset($_SESSION['loggedin'])) {
    header('Location: index.php');
    exit;
}

include_once('conexion.php');

// Obtener la fecha actual y el primer día del mes actual
$fecha_actual = date('Y-m-d');
$fecha_inicio_mes = date('Y-m-01');

// Si el usuario ya hizo una consulta, se mantienen las fechas ingresadas
$fecha_inicial = isset($_POST['fecha_inicial']) ? $_POST['fecha_inicial'] : $fecha_inicio_mes;
$fecha_final   = isset($_POST['fecha_final'])   ? $_POST['fecha_final']   : $fecha_actual;

$condicion = "";
$idusu = "";
if (isset($_POST['consultar'])) {
    $idusu = $_POST['idusu'];

    if (!empty($fecha_inicial) && !empty($fecha_final)) {
        $condicion = "WHERE feccon BETWEEN '$fecha_inicial' AND '$fecha_final'";
    } else {
        echo "<script>alert('Debe ingresar ambas fechas para realizar la consulta');</script>";
    }

    if (!empty($idusu)) {
        $condicion .= ($condicion ? " AND " : " WHERE ") . "controlconos.idusu = '$idusu'";
    }
} else {
    // Por defecto: del 1º del mes actual a hoy
    $condicion = "WHERE feccon BETWEEN '$fecha_inicio_mes' AND '$fecha_actual'";
}
?>

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Control de Inventario</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

    <script>
        $(document).ready(function() {
            // Abrir popup para editar precio
            $(document).on("click", ".edit-link", function(e) {
                e.preventDefault();
                var id = $(this).data('id');
                var precio = $(this).data('precio');

                var popupContent = `
                    <div id="popup" style="position: fixed; top: 20%; left: 50%; transform: translateX(-50%); padding: 20px; background: white; border: 1px solid #ccc; box-shadow: 0 0 10px rgba(0,0,0,0.5); z-index:9999;">
                        <h3>Modificar Precio</h3>
                        <form method="POST" action="modificar_precio.php">
                            <input type="hidden" name="idcrl" value="${id}">
                            <label for="precio">Nuevo Precio:</label>
                            <input type="number" name="precio" value="${precio}" step="0.01" required>
                            <button type="submit">Actualizar Precio</button>
                            <button type="button" id="cancelar-btn">Cancelar</button>
                        </form>
                    </div>
                `;
                $("body").append(popupContent);
            });

            // Cerrar popup
            $(document).on("click", "#cancelar-btn", function() {
                $("#popup").remove();
            });
        });

        // Imprimir tabla
        function imprimirTabla() {
            var contenido = document.getElementById("tabla_inventario").innerHTML;
            var ventana = window.open("", "_blank");
            ventana.document.write("<html><head><title>Imprimir Control de Ventas</title>");
            ventana.document.write("<style>");
            ventana.document.write("body { font-family: Arial, sans-serif; font-size: 14px; }");
            ventana.document.write("table { width: 100%; border-collapse: collapse; margin-top: 20px; }");
            ventana.document.write("th, td { padding: 10px; text-align: left; border: 1px solid #ddd; }");
            ventana.document.write("th { background-color: #f2f2f2; font-weight: bold; }");
            ventana.document.write("tr:nth-child(even) { background-color: #f9f9f9; }");
            ventana.document.write("h1 { text-align: center; font-size: 24px; }");
            ventana.document.write("p { text-align: center; font-size: 16px; margin-bottom: 20px; }");
            ventana.document.write("</style>");
            ventana.document.write("</head><body>");
            ventana.document.write("<h1>Control de Ventas</h1>");
            ventana.document.write("<p><strong>Fecha: " + new Date().toLocaleDateString() + "</strong></p>");
            ventana.document.write("<table>" + contenido + "</table>");
            ventana.document.write("</body></html>");
            ventana.document.close();
            ventana.print();
        }
    </script>

</head>
<body class="loggedin">
    <nav class="navtop">
        <h1 style="color:white;"><?php echo $_SESSION["name"] ?></h1>
        <table width="35%" border="0" style="width: 400px;">
            <tr>
                <td><a href="regcontrol.php" style="color:white;">Reg. Control</a></td>
                <td><a href="controlvsprd.php" style="color:white;">Control vs Prod</a></td>
                <td><a target="_top" href="inicio.php" style="color:white;"><i class="fas fa-user-circle"></i>Cerrar</a></td>
            </tr>
        </table>
    </nav>
    <br><br>
    <div id="inventario">
        <center>
            <h1>Control de Ventas</h1>

            <form method="post" action="">
                <table border="0" cellpadding="5">
                    <tr>
                        <td><strong>Fecha Inicial:</strong></td>
                        <td><input type="date" name="fecha_inicial" value="<?php echo $fecha_inicial; ?>" required></td>
                        <td><strong>Fecha Final:</strong></td>
                        <td><input type="date" name="fecha_final" value="<?php echo $fecha_final; ?>" required></td>
                    </tr>
                    <tr>
                        <td><strong>Vendedor:</strong></td>
                        <td>
                            <select name="idusu">
                                <option value="">Seleccione un vendedor</option>
                                <?php
                                $sql_vendedores = "SELECT idusu, nomusu FROM usuario";
                                $resultado_vendedores = mysqli_query($conexion, $sql_vendedores);
                                $idusu_post = isset($_POST['idusu']) ? $_POST['idusu'] : '';
                                while ($fila = mysqli_fetch_assoc($resultado_vendedores)) {
                                    $sel = ($idusu_post !== '' && $idusu_post == $fila['idusu']) ? "selected" : "";
                                    echo "<option value='" . $fila['idusu'] . "' $sel>" . $fila['nomusu'] . "</option>";
                                }
                                ?>
                            </select>
                        </td>
                        <td>
                            <button type="submit" name="consultar"><strong>Consultar</strong></button>
                        </td>
                    </tr>
                </table>
            </form>
            <br>

            <button onclick="imprimirTabla()" style="background-color: #4CAF50; color: white; padding: 10px; border: none; cursor: pointer;">Imprimir</button>
            <br><br>

            <?php
            // Tabla de ventas
            $sql = "SELECT controlconos.idcrl, usuario.nomusu, controlconos.feccon, controlconos.numcon, controlconos.kilcon, controlconos.precio 
                    FROM controlconos 
                    INNER JOIN usuario ON controlconos.idusu = usuario.idusu 
                    $condicion
                    ORDER BY controlconos.feccon, controlconos.idcrl";
            $resultado = mysqli_query($conexion, $sql);

            $total_conos = 0;
            $total_kilos = 0;
            $total_venta = 0;

            echo "<table id='tabla_inventario' border=2 align='center'>  
                    <tr>
                        <th>Id</th>
                        <th>Nombre</th>
                        <th>Fecha</th>
                        <th>No. Conos</th>
                        <th>Peso (Kg)</th>
                        <th>Precio</th>
                        <th>Venta</th>
                    </tr>";

            while ($fila = mysqli_fetch_assoc($resultado)) {  
                $venta = $fila['kilcon'] * $fila['precio'];  
                $total_conos += $fila['numcon'];  
                $total_kilos += $fila['kilcon'];  
                $total_venta += $venta;  

                $precio_enlace = "<a href='javascript:void(0);' class='edit-link' data-id='{$fila['idcrl']}' data-precio='{$fila['precio']}'>\$" . $fila['precio'] . "</a>";

                echo "<tr>
                        <td>{$fila['idcrl']}</td>
                        <td>{$fila['nomusu']}</td>
                        <td>{$fila['feccon']}</td>
                        <td>{$fila['numcon']}</td>
                        <td>{$fila['kilcon']}</td>
                        <td>{$precio_enlace}</td>
                        <td>$" . number_format($venta, 2) . "</td>
                    </tr>";
            }
            echo "<tr>
                    <td colspan='3'><strong>Totales:</strong></td>
                    <td><strong>{$total_conos}</strong></td>
                    <td><strong>{$total_kilos} Kg</strong></td>
                    <td>-</td>
                    <td><strong>$" . number_format($total_venta, 2) . "</strong></td>
                  </tr>";
            echo "</table>";  

            // Tabla de gastos por vendedor
            $condicion_gastos = "WHERE FecGas BETWEEN '$fecha_inicial' AND '$fecha_final'";
            if (!empty($idusu)) {
                $condicion_gastos .= " AND gasto.idusu = '$idusu'";
            }

            $sql_gastos = "SELECT usuario.nomusu AS vendedor, SUM(gasto.cosgas) AS total_gastos
                           FROM gasto
                           INNER JOIN usuario ON gasto.idusu = usuario.idusu
                           $condicion_gastos
                           GROUP BY usuario.nomusu
                           ORDER BY usuario.nomusu";
            $resultado_gastos = mysqli_query($conexion, $sql_gastos);

            if (mysqli_num_rows($resultado_gastos) > 0) {
                echo "<br><h3>Gastos por Vendedor (del " . date("d/m/Y", strtotime($fecha_inicial)) . " al " . date("d/m/Y", strtotime($fecha_final)) . ")</h3>";
                echo "<table border='2' align='center'>
                        <tr>
                            <th>Vendedor</th>
                            <th>Total Gastos</th>
                        </tr>";
                $total_gastos_general = 0;
                while ($g = mysqli_fetch_assoc($resultado_gastos)) {
                    echo "<tr>
                            <td>{$g['vendedor']}</td>
                            <td style='text-align:right;'>$" . number_format($g['total_gastos'], 2) . "</td>
                          </tr>";
                    $total_gastos_general += $g['total_gastos'];
                }
                echo "<tr>
                        <td><strong>Total General de Gastos</strong></td>
                        <td style='text-align:right;'><strong>$" . number_format($total_gastos_general, 2) . "</strong></td>
                      </tr>";

                // NUEVO: fila de efectivo disponible
                $efectivo_disponible = $total_venta - $total_gastos_general;
                echo "<tr style='background-color:#d4edda;'>
                        <td><strong>Efectivo Disponible</strong></td>
                        <td style='text-align:right; color:#155724;'><strong>$" . number_format($efectivo_disponible, 2) . "</strong></td>
                      </tr>";


                echo "</table>";
            } else {
                echo "<br><p><em>No se registraron gastos en este período.</em></p>";
            }

            ?>
        </center>
    </div>
</body>
</html>
