<?php
// تفعيل عرض الأخطاء لغرض التطوير
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

$pageTitle = 'لوحة التحكم المالية';
// تضمين ملف الرأس لجميع الصفحات
include '../../includes/header.php';

// التحقق من تسجيل الدخول
checkLogin();

// الحصول على كائن قاعدة البيانات
$db = getDB();

// تهيئة متغيرات الإحصائيات
$totalSalaries = 0;
$totalPurchases = 0;
$totalSales = 0;
$totalExpenses = 0;
$totalProfit = 0; // متغير جديد لإجمالي الأرباح

// الحصول على فلاتر التاريخ من طلب GET
$date_from = $_GET['date_from'] ?? null;
$date_to = $_GET['date_to'] ?? null;

// بناء شروط التاريخ لجميع الاستعلامات
$dateCondition = '';
$dateParams = [];

if ($date_from && $date_to) {
    $dateCondition = " AND created_at BETWEEN ? AND ?";
    $dateParams[] = $date_from . ' 00:00:00';
    $dateParams[] = $date_to . ' 23:59:59';
}

try {
    // -----------------------------------------------------------
    // جلب مجموع رواتب الموظفين
    // -----------------------------------------------------------
    if (hasPermission('view_salaries')) {
        $salariesSql = "SELECT SUM(salary) AS total FROM employees";
        $salariesResult = $db->selectOne($salariesSql);
        $totalSalaries = $salariesResult['total'] ?? 0;
    }

    // -----------------------------------------------------------
    // جلب مجموع المشتريات
    // -----------------------------------------------------------
    if (hasPermission('view_purchases')) {
        // ✨ تم تعديل الاستعلام هنا ليشمل شرط الحالة ✨
        $purchasesSql = "SELECT SUM(final_amount) AS total FROM purchase_invoices WHERE status IN ('confirmed', 'approved')" . $dateCondition;
        $purchasesResult = $db->selectOne($purchasesSql, $dateParams);
        $totalPurchases = $purchasesResult['total'] ?? 0;
    }
    
    // -----------------------------------------------------------
    // جلب مجموع المبيعات
    // -----------------------------------------------------------
    if (hasPermission('view_sales')) {
        $salesSql = "SELECT SUM(total_amount) AS total FROM sales_invoices WHERE 1=1" . $dateCondition;
        $salesResult = $db->selectOne($salesSql, $dateParams);
        $totalSales = $salesResult['total'] ?? 0;
    }
    
    // -----------------------------------------------------------
    // جلب مجموع المصروفات
    // -----------------------------------------------------------
    if (hasPermission('view_expenses')) {
        $expensesSql = "SELECT SUM(amount) AS total FROM expenses WHERE status = 'approved' " . $dateCondition;
        $expensesResult = $db->selectOne($expensesSql, $dateParams);
        $totalExpenses = $expensesResult['total'] ?? 0;
    }

    // -----------------------------------------------------------
    // حساب إجمالي الأرباح
    // -----------------------------------------------------------
    // يتم حساب الأرباح إذا كانت صلاحيات المبيعات والمشتريات والمصروفات متاحة
    if (hasPermission('view_sales') || hasPermission('view_purchases') || hasPermission('view_expenses') || hasPermission('view_salaries')) {
        $totalDeductions = $totalPurchases + $totalExpenses + $totalSalaries;
        $totalProfit = $totalSales - $totalDeductions;
    }


} catch (PDOException $e) {
    $_SESSION['error_message'] = 'حدث خطأ أثناء جلب الإحصائيات المالية: ' . $e->getMessage();
}

?>
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><?php echo htmlspecialchars($pageTitle); ?></title>

    <style>
        @media print {
            .no-print {
                display: none !important;
            }
            .card {
                border: 1px solid #dee2e6 !important;
            }
            body {
                background-color: #fff !important;
            }
        }
    </style>
</head>
<body>
<div class="container py-4">
    <div class="d-flex justify-content-between align-items-center mb-5">
        <h1 class="text-center mb-0"><?php echo htmlspecialchars($pageTitle); ?></h1>
        <button class="btn btn-secondary no-print" onclick="window.print()">
            <i class="fas fa-print me-2"></i>طباعة
        </button>
    </div>

    <?php include '../../includes/alerts.php'; ?>

    <div class="card shadow-sm mb-4 no-print">
        <div class="card-body">
            <h2 class="card-title h4 mb-4">فلترة البيانات حسب التاريخ</h2>
            <form action="" method="GET" class="row g-3 d-flex justify-content-center">
                <div class="col-md-5">
                    <label for="date_from" class="form-label">من تاريخ</label>
                    <input type="date" name="date_from" id="date_from" class="form-control" value="<?php echo htmlspecialchars($date_from ?? ''); ?>">
                </div>
                <div class="col-md-5">
                    <label for="date_to" class="form-label">إلى تاريخ</label>
                    <input type="date" name="date_to" id="date_to" class="form-control" value="<?php echo htmlspecialchars($date_to ?? ''); ?>">
                </div>
                
                <div class="col-12 mt-4 d-flex justify-content-center">
                    <div class="d-grid gap-2 col-md-6">
                        <button type="submit" class="btn btn-primary">
                            <i class="fas fa-filter me-2"></i>فلترة
                        </button>
                        <a href="financial_dashboard.php" class="btn btn-secondary">
                            <i class="fas fa-eraser me-2"></i>إعادة تعيين
                        </a>
                    </div>
                </div>
                
            </form>
        </div>
    </div>

    <div class="row row-cols-1 row-cols-md-5 g-4 mb-4">
        <?php if (hasPermission('view_salaries')): ?>
        <div class="col">
            <div class="card text-white bg-danger h-100">
                <div class="card-body">
                    <div class="d-flex justify-content-between align-items-center">
                        <h5 class="card-title mb-0">إجمالي الرواتب الشهرية</h5>
                        <i class="fas fa-hand-holding-usd fa-2x"></i>
                    </div>
                    <div class="h5 mt-3"><?php echo number_format($totalSalaries, 2); ?></div>
                    <p class="card-text text-white-50">مجموع رواتب جميع الموظفين</p>
                </div>
            </div>
        </div>
        <?php endif; ?>
        
        <?php if (hasPermission('view_purchases')): ?>
        <div class="col">
            <div class="card text-white bg-warning h-100">
                <div class="card-body">
                    <div class="d-flex justify-content-between align-items-center">
                        <h5 class="card-title mb-0">إجمالي المشتريات</h5>
                        <i class="fas fa-shopping-cart fa-2x"></i>
                    </div>
                    <div class="h5 mt-3"><?php echo number_format($totalPurchases, 2); ?></div>
                    <p class="card-text text-white-50">
                        قيمة جميع المشتريات
                        <?php if ($date_from && $date_to) echo "من {$date_from} إلى {$date_to}"; ?>
                    </p>
                </div>
            </div>
        </div>
        <?php endif; ?>

        <?php if (hasPermission('view_expenses')): ?>
        <div class="col">
            <div class="card text-white bg-primary h-100">
                <div class="card-body">
                    <div class="d-flex justify-content-between align-items-center">
                        <h5 class="card-title mb-0">إجمالي المصروفات</h5>
                        <i class="fas fa-money-bill-wave fa-2x"></i>
                    </div>
                    <div class="h5 mt-3"><?php echo number_format($totalExpenses, 2); ?></div>
                    <p class="card-text text-white-50">
                        قيمة جميع المصروفات المعتمدة
                        <?php if ($date_from && $date_to) echo "من {$date_from} إلى {$date_to}"; ?>
                    </p>
                </div>
            </div>
        </div>
        <?php endif; ?>

        <?php if (hasPermission('view_sales')): ?>
        <div class="col">
            <div class="card text-white bg-success h-100">
                <div class="card-body">
                    <div class="d-flex justify-content-between align-items-center">
                        <h5 class="card-title mb-0">إجمالي المبيعات</h5>
                        <i class="fas fa-chart-line fa-2x"></i>
                    </div>
                    <div class="h5 mt-3"><?php echo number_format($totalSales, 2); ?></div>
                    <p class="card-text text-white-50">
                        قيمة جميع المبيعات
                        <?php if ($date_from && $date_to) echo "من {$date_from} إلى {$date_to}"; ?>
                    </p>
                </div>
            </div>
        </div>
        <?php endif; ?>

        <?php if (hasPermission('view_profit')): ?>
        <div class="col">
            <div class="card h-100 <?php echo ($totalProfit >= 0) ? 'bg-info text-white' : 'bg-secondary text-white'; ?>">
                <div class="card-body">
                    <div class="d-flex justify-content-between align-items-center">
                        <h5 class="card-title mb-0">إجمالي الأرباح</h5>
                        <i class="fas fa-wallet fa-2x"></i>
                    </div>
                    <div class="h5 mt-3"><?php echo number_format($totalProfit, 2); ?></div>
                    <p class="card-text text-white-50">
                        صافي الأرباح بعد خصم المصروفات
                        <?php if ($date_from && $date_to) echo "من {$date_from} إلى {$date_to}"; ?>
                    </p>
                </div>
            </div>
        </div>
        <?php endif; ?>
    </div>
</div>

<?php
include '../../includes/footer.php';
?>