<?php
// Hataları raporla
error_reporting(E_ALL);
// Hata raporlarını görüntüle
ini_set('display_errors', 1);
if (!defined('ADMIN_INCLUDED')) { exit; }
if (!m_authority(m_admin('authoritys'), 'hakedisler')) {
m_redirect(ADMIN_URL);
}
$dates = null;
if (isset($_GET['date']) && !empty($_GET['date'])) {
$dates = explode(" - ", $_GET["date"]);
$dates[0] = date("Y-m-d", strtotime($dates[0]));
$dates[1] = date("Y-m-d", strtotime($dates[1]));
}
// SQL sorgusu
$query = "SELECT s.id as sales_id, s.u_id, s.total_price
FROM sales s";
if ($dates) {
$query .= " WHERE DATE(s.date) BETWEEN '{$dates[0]}' AND '{$dates[1]}'";
}
$sales_data = $db->query($query)->fetchAll(PDO::FETCH_ASSOC);
// Ham verileri ekrana basma
echo "<pre>";
echo "Sales Veriler:\n";
print_r($sales_data);
echo "</pre>";
// Toplam satış ve maliyetleri hesaplamak için diziler
$total_sales_by_user = [];
$total_costs_by_user = [];
// Her satıcı için toplam satışları hesapla
foreach ($sales_data as $sale) {
$salesman_id = $sale['u_id'];
$sales_id = $sale['sales_id'];
$total_price = $sale['total_price'];
if (!isset($total_sales_by_user[$salesman_id])) {
$total_sales_by_user[$salesman_id] = 0;
}
$total_sales_by_user[$salesman_id] += $total_price;
// Sales_products tablosundan ürün maliyetlerini çekme
$product_query = "SELECT sp.p_id, sp.quantity, p.buy_price
FROM sales_products sp
JOIN products p ON sp.p_id = p.id
WHERE sp.s_id = $sales_id";
$product_data = $db->query($product_query)->fetchAll(PDO::FETCH_ASSOC);
// Ham verileri ekrana basma
echo "<pre>";
echo "Sales Products Veriler (sales_id = {$sales_id}):\n";
print_r($product_data);
echo "</pre>";
// Ürün maliyetlerini hesapla
if (!isset($total_costs_by_user[$salesman_id])) {
$total_costs_by_user[$salesman_id] = 0;
}
foreach ($product_data as $product) {
$total_costs_by_user[$salesman_id] += $product['quantity'] * $product['buy_price'];
}
}
// İşlenmiş verileri ekrana basma
echo "<pre>";
echo "Toplam Satış ve Maliyetler:\n";
print_r($total_sales_by_user);
print_r($total_costs_by_user);
echo "</pre>";
// Sonuçları ekrana yazdırma
foreach ($total_sales_by_user as $salesman_id => $total_sales) {
$total_costs = $total_costs_by_user[$salesman_id];
$profit = $total_sales - $total_costs;
$commission = $profit * 0.10;
$salesman_name = $db->query("SELECT name FROM users WHERE id = $salesman_id")->fetch(PDO::FETCH_ASSOC)['name'];
echo "Satış Temsilcisi: " . htmlspecialchars($salesman_name) . "\n";
echo "Toplam Satış: " . $total_sales . " $\n";
echo "Toplam Alış: " . $total_costs . " $\n";
echo "Toplam Kar: " . $profit . " $\n";
echo "Komisyon (10%): " . $commission . " $\n";
echo "-----------------------\n";
}
?>