<?php
require_once '../config.php';

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

// التحقق من الصلاحيات
requirePermission('admin');

// تحديد السنة المطلوبة (افتراضيًا السنة الحالية)
$year = isset($_GET['year']) ? (int) sanitizeInput($_GET['year']) : date('Y');

// الحصول على بيانات المداخيل الشهرية
$incomeData = [];
for ($month = 1; $month <= 12; $month++) {
    $startDate = sprintf('%d-%02d-01', $year, $month);
    $endDate = date('Y-m-t', strtotime($startDate));
    
    $incomeData[$month] = calculateTotalIncome($startDate, $endDate);
}

// الحصول على بيانات المصاريف الشهرية
$expensesData = [];
for ($month = 1; $month <= 12; $month++) {
    $startDate = sprintf('%d-%02d-01', $year, $month);
    $endDate = date('Y-m-t', strtotime($startDate));
    
    $expensesData[$month] = calculateTotalExpenses($startDate, $endDate);
}

// الحصول على أسماء الأشهر بالعربية
$arabicMonths = [
    1 => 'يناير',
    2 => 'فبراير',
    3 => 'مارس',
    4 => 'أبريل',
    5 => 'مايو',
    6 => 'يونيو',
    7 => 'يوليو',
    8 => 'أغسطس',
    9 => 'سبتمبر',
    10 => 'أكتوبر',
    11 => 'نوفمبر',
    12 => 'ديسمبر'
];

// حساب المجاميع
$totalIncome = array_sum($incomeData);
$totalExpenses = array_sum($expensesData);
$netBalance = $totalIncome - $totalExpenses;

// عنوان الصفحة
$pageTitle = 'الإحصائيات المالية';

// تضمين ملف الهيدر
include '../includes/header.php';
?>

<div class="d-flex justify-content-between align-items-center mb-4">
    <h1 class="h3 mb-0"><i class="fas fa-chart-bar me-2"></i> الإحصائيات المالية</h1>
    <div>
        <form method="get" class="d-inline-flex">
            <select class="form-select me-2" id="year" name="year" onchange="this.form.submit()">
                <?php for ($y = date('Y'); $y >= date('Y') - 5; $y--): ?>
                    <option value="<?php echo $y; ?>" <?php echo ($year == $y) ? 'selected' : ''; ?>>
                        <?php echo $y; ?>
                    </option>
                <?php endfor; ?>
            </select>
        </form>
        <a href="<?php echo SITE_URL; ?>/finance/index.php" class="btn btn-secondary">
            <i class="fas fa-arrow-right"></i> العودة إلى لوحة المالية
        </a>
    </div>
</div>

<!-- ملخص السنة -->
<div class="row mb-4">
    <div class="col-md-4 mb-3">
        <div class="card h-100">
            <div class="card-body text-center bg-success text-white rounded">
                <h6 class="card-title">إجمالي المداخيل</h6>
                <h2 class="mb-0"><?php echo number_format((float)$totalIncome, 2); ?> درهم</h2>
            </div>
        </div>
    </div>
    <div class="col-md-4 mb-3">
        <div class="card h-100">
            <div class="card-body text-center bg-danger text-white rounded">
                <h6 class="card-title">إجمالي المصاريف</h6>
                <h2 class="mb-0"><?php echo number_format((float)$totalExpenses, 2); ?> درهم</h2>
            </div>
        </div>
    </div>
    <div class="col-md-4 mb-3">
        <div class="card h-100">
            <div class="card-body text-center <?php echo ((float)$netBalance >= 0) ? 'bg-primary' : 'bg-warning'; ?> text-white rounded">
                <h6 class="card-title">صافي الرصيد</h6>
                <h2 class="mb-0"><?php echo number_format((float)$netBalance, 2); ?> درهم</h2>
            </div>
        </div>
    </div>
</div>

<!-- الإحصائيات الشهرية -->
<div class="card mb-4">
    <div class="card-header bg-white">
        <i class="fas fa-table me-2"></i> الإحصائيات الشهرية لعام <?php echo $year; ?>
    </div>
    <div class="card-body">
        <div class="table-responsive">
            <table class="table table-striped table-bordered">
                <thead>
                    <tr>
                        <th>الشهر</th>
                        <th>المداخيل</th>
                        <th>المصاريف</th>
                        <th>الرصيد</th>
                    </tr>
                </thead>
                <tbody>
                    <?php foreach ($arabicMonths as $monthNum => $monthName): ?>
                        <tr>
                            <td><?php echo $monthName; ?></td>
                            <td class="text-success"><?php echo number_format((float)$incomeData[$monthNum], 2); ?> درهم</td>
                            <td class="text-danger"><?php echo number_format((float)$expensesData[$monthNum], 2); ?> درهم</td>
                            <td class="<?php echo ((float)$incomeData[$monthNum] - (float)$expensesData[$monthNum] >= 0) ? 'text-primary' : 'text-warning'; ?>">
                                <?php echo number_format((float)($incomeData[$monthNum] - $expensesData[$monthNum]), 2); ?> درهم
                            </td>
                        </tr>
                    <?php endforeach; ?>
                </tbody>
                <tfoot>
                    <tr class="fw-bold">
                        <td>الإجمالي</td>
                        <td class="text-success"><?php echo number_format((float)$totalIncome, 2); ?> درهم</td>
                        <td class="text-danger"><?php echo number_format((float)$totalExpenses, 2); ?> درهم</td>
                        <td class="<?php echo ((float)$netBalance >= 0) ? 'text-primary' : 'text-warning'; ?>">
                            <?php echo number_format((float)$netBalance, 2); ?> درهم
                        </td>
                    </tr>
                </tfoot>
            </table>
        </div>
    </div>
</div>

<!-- الرسم البياني -->
<div class="card">
    <div class="card-header bg-white">
        <i class="fas fa-chart-line me-2"></i> المداخيل والمصاريف الشهرية لعام <?php echo $year; ?>
    </div>
    <div class="card-body">
        <canvas id="financialChart" width="400" height="200"></canvas>
    </div>
</div>

<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
    // رسم بياني للإحصائيات الشهرية
    const ctx = document.getElementById('financialChart').getContext('2d');
    const financialChart = new Chart(ctx, {
        type: 'bar',
        data: {
            labels: [
                <?php foreach ($arabicMonths as $monthName): ?>
                    '<?php echo $monthName; ?>',
                <?php endforeach; ?>
            ],
            datasets: [
                {
                    label: 'المداخيل',
                    data: [
                        <?php foreach ($incomeData as $income): ?>
                            <?php echo $income; ?>,
                        <?php endforeach; ?>
                    ],
                    backgroundColor: 'rgba(40, 167, 69, 0.7)',
                    borderColor: 'rgba(40, 167, 69, 1)',
                    borderWidth: 1
                },
                {
                    label: 'المصاريف',
                    data: [
                        <?php foreach ($expensesData as $expense): ?>
                            <?php echo $expense; ?>,
                        <?php endforeach; ?>
                    ],
                    backgroundColor: 'rgba(220, 53, 69, 0.7)',
                    borderColor: 'rgba(220, 53, 69, 1)',
                    borderWidth: 1
                }
            ]
        },
        options: {
            responsive: true,
            scales: {
                y: {
                    beginAtZero: true
                }
            }
        }
    });
});
</script>

<?php
// تضمين ملف الفوتر
include '../includes/footer.php';
?>
