<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
include 'db_connection.php';

if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["update_data"])) {
    // Получаем уникальные номера фактур из таблицы закупок
    $sql_unique_invoices = "SELECT DISTINCT invoice_number FROM purchases";
    $result_unique_invoices = $conn->query($sql_unique_invoices);

    while ($row_invoice = $result_unique_invoices->fetch_assoc()) {
        $invoice_number = $row_invoice["invoice_number"];

        // Находим все записи в таблице закупок с этим номером фактуры и считаем общий вес и сумму
        $sql_sum_purchases = "SELECT SUM(total_kilograms) as total_weight_sum, SUM(amount) as amount_sum FROM purchases WHERE invoice_number = '$invoice_number'";
        $result_sum_purchases = $conn->query($sql_sum_purchases);
        $row_sum_purchases = $result_sum_purchases->fetch_assoc();

        $total_weight_sum = $row_sum_purchases["total_weight_sum"];
        $amount_sum = $row_sum_purchases["amount_sum"];

        // Проверяем, есть ли такая фактура уже в таблице продаж
        $sql_check_sale = "SELECT * FROM sales WHERE invoice_number = '$invoice_number'";
        $result_check_sale = $conn->query($sql_check_sale);

        if ($result_check_sale->num_rows > 0) {
    // Обновляем запись, если фактура уже существует
    $row_sale = $result_check_sale->fetch_assoc();
    $sale_amount = $row_sale["sale_amount2"]; // Предполагается, что сумма продажи в таблице sales хранится в поле sale_amount2

    $profit_percentage = ($sale_amount - $amount_sum) / $amount_sum * 100;

    $sql_update_sale = "UPDATE sales SET 
                        total_weight = '$total_weight_sum',
                        sale_amount = '$amount_sum',
                        profit_percentage = '$profit_percentage'
                        WHERE invoice_number = '$invoice_number'";
    $conn->query($sql_update_sale);
        } else {
            // Добавляем новую запись, если фактуры нет в таблице продаж
            $sql_insert_sale = "INSERT INTO sales (invoice_number, total_weight, sale_amount) VALUES ('$invoice_number', '$total_weight_sum', '$amount_sum')";
            $conn->query($sql_insert_sale);
        }
    }

    // Перенаправляем пользователя после успешного выполнения операций
    header("Location: display_data.php");
    exit();
}

$conn->close();
?>