<?php
// pages/dashboard.php

// 1. استدعاء الهيدر
require_once __DIR__ . '/../includes/header.php';

$user_role = $_SESSION['role'];
$user_id = $_SESSION['id'];

// =========================================================
// إضافة جديدة: التحقق من صلاحية HR لإظهار القسم الخاص بهم
// =========================================================
$is_hr = in_array($user_role, ['hr_manager', 'super_admin', 'ceo']); 

// 2. بناء "فلتر" قاعدة البيانات بناءً على الصلاحية
$filter_sql = "";
$dashboard_title = "";

if ($user_role == 'supervisor') {
    // المشرف العام: يرى فقط الطلبات الرياضية بشكل عام
    $filter_sql = " WHERE request_type = 'sports' ";
    $dashboard_title = "لوحة تحكم المشرف العام (القطاع الرياضي)";

} elseif ($user_role == 'manager_first') {
    // مدير الفريق الأول يرى فقط طلبات الفريق الأول
    $filter_sql = " WHERE category = 'first_team' ";
    $dashboard_title = "لوحة تحكم مدير الفريق الأول";

} elseif ($user_role == 'manager_youth') {
    // مدير المراحل: يرى المراحل السنية والألعاب الأخرى
    $filter_sql = " WHERE category IN ('youth', 'other_sports') ";
    $dashboard_title = "لوحة تحكم مدير المراحل السنية";

} elseif ($user_role == 'purchasing') {
    // المشتريات: يرى الطلبات المعتمدة والتي وصلت للمشتريات
    $filter_sql = " WHERE status IN ('approved', 'pending_purchasing', 'waiting_supplier', 'ready_for_cheque', 'cheque_issued') ";
    $dashboard_title = "لوحة تحكم المشتريات";

} elseif ($user_role == 'accountant') { // <--- إضافة دور المحاسب
    // المحاسب: يرى طلباته الشخصية + الطلبات التي تحتاج شيكات
    $filter_sql = " WHERE (user_id = $user_id) OR (payment_status = 'ready_for_cheque') ";
    $dashboard_title = "لوحة تحكم الحسابات والمالية";

} elseif ($user_role == 'requester') {
    // المستخدم العادي: يرى طلباته فقط
    $filter_sql = " WHERE user_id = $user_id ";
    $dashboard_title = "لوحة معلوماتي";

} else {
    // (السوبر أدمن، المدير التنفيذي، ومدير HR): يرون كل شيء
    $filter_sql = " WHERE 1=1 "; 
    $dashboard_title = "لوحة المعلومات والتحكم العامة";
    
    // تخصيص العنوان لمدير الموارد البشرية
    if ($user_role == 'hr_manager') {
        $dashboard_title = "لوحة إدارة الموارد البشرية والطلبات";
    }
}

// 3. جلب الإحصائيات
try {
    // --- (أ) إحصائيات الطلبات ---
    // إجمالي الطلبات
    $stmt = $pdo->query("SELECT COUNT(*) FROM requests $filter_sql");
    $total_requests = $stmt->fetchColumn();

    // قيد الانتظار (Pending)
    $pending_sql = "SELECT COUNT(*) FROM requests $filter_sql AND status IN ('pending', 'pending_manager', 'pending_purchasing')";
    $pending_requests = $pdo->query($pending_sql)->fetchColumn();

    // المعتمدة (Approved)
    $approved_sql = "SELECT COUNT(*) FROM requests $filter_sql AND status = 'approved'";
    $approved_requests = $pdo->query($approved_sql)->fetchColumn();

    // المرفوضة (Rejected)
    $rejected_sql = "SELECT COUNT(*) FROM requests $filter_sql AND status = 'rejected'";
    $rejected_requests = $pdo->query($rejected_sql)->fetchColumn();

    // --- (ب) إحصائيات HR ---
    $hr_stats = [];
    if ($is_hr) {
        $hr_stats['total_employees'] = $pdo->query("SELECT COUNT(*) FROM employee_details")->fetchColumn();
        $hr_stats['active_leaves'] = $pdo->query("SELECT COUNT(*) FROM leaves WHERE status = 'approved' AND end_date >= CURDATE()")->fetchColumn();
        $hr_stats['expiring_docs'] = $pdo->query("SELECT COUNT(*) FROM employee_details WHERE visa_expiry <= DATE_ADD(CURDATE(), INTERVAL 30 DAY) OR passport_expiry <= DATE_ADD(CURDATE(), INTERVAL 30 DAY)")->fetchColumn();
    }

} catch (PDOException $e) {
    echo "<div class='alert alert-danger'>خطأ في جلب البيانات: " . $e->getMessage() . "</div>";
    exit;
}
?>

<div class="row mb-4">
    <div class="col-12 d-flex justify-content-between align-items-center">
        <div>
            <h3 class="text-success fw-bold"><?php echo $dashboard_title; ?></h3>
            <p class="text-muted">نظرة عامة والإحصائيات</p>
        </div>
        <div class="d-flex gap-2">
            <a href="my_leaves.php" class="btn btn-outline-warning fw-bold shadow-sm">
                <i class="bi bi-calendar-plus"></i> طلب إجازة
            </a>
            <a href="new_request.php" class="btn btn-outline-success fw-bold shadow-sm">
                <i class="bi bi-cart-plus"></i> طلب مشتريات
            </a>
        </div>
    </div>
</div>

<?php if ($is_hr): ?>
<div class="card border-0 shadow-sm mb-5 bg-light">
    <div class="card-header bg-white border-bottom py-3">
        <h5 class="mb-0 fw-bold text-primary"><i class="bi bi-people-fill"></i> نظام الموارد البشرية (HR Admin)</h5>
    </div>
    <div class="card-body">
        <div class="row g-3 text-center">
            <div class="col-md-3">
                <a href="hr/employees_list.php" class="text-decoration-none">
                    <div class="card h-100 border-primary border-2 shadow-sm hover-card">
                        <div class="card-body">
                            <i class="bi bi-person-vcard fs-1 text-primary mb-2"></i>
                            <h6 class="fw-bold text-dark">دليل الموظفين</h6>
                            <span class="badge bg-primary rounded-pill"><?php echo $hr_stats['total_employees']; ?> موظف</span>
                        </div>
                    </div>
                </a>
            </div>
            <div class="col-md-3">
                <a href="hr/leaves_panel.php" class="text-decoration-none">
                    <div class="card h-100 border-warning border-2 shadow-sm hover-card">
                        <div class="card-body">
                            <i class="bi bi-calendar-check fs-1 text-warning mb-2"></i>
                            <h6 class="fw-bold text-dark">الإجازات</h6>
                            <span class="badge bg-warning text-dark rounded-pill"><?php echo $hr_stats['active_leaves']; ?> نشطة</span>
                        </div>
                    </div>
                </a>
            </div>
            <div class="col-md-3">
                <a href="hr/attendance_report.php" class="text-decoration-none">
                    <div class="card h-100 border-success border-2 shadow-sm hover-card">
                        <div class="card-body">
                            <i class="bi bi-fingerprint fs-1 text-success mb-2"></i>
                            <h6 class="fw-bold text-dark">الحضور</h6>
                            <span class="badge bg-success rounded-pill">تقرير اليوم</span>
                        </div>
                    </div>
                </a>
            </div>
            <div class="col-md-3">
                <a href="hr/documents_alert.php" class="text-decoration-none">
                    <div class="card h-100 border-danger border-2 shadow-sm hover-card">
                        <div class="card-body">
                            <i class="bi bi-exclamation-triangle fs-1 text-danger mb-2"></i>
                            <h6 class="fw-bold text-dark">تنبيهات الوثائق</h6>
                            <?php if($hr_stats['expiring_docs'] > 0): ?>
                                <span class="badge bg-danger rounded-pill fw-bold blink_me"><?php echo $hr_stats['expiring_docs']; ?> تنبيه</span>
                            <?php else: ?>
                                <span class="badge bg-secondary rounded-pill">لا يوجد</span>
                            <?php endif; ?>
                        </div>
                    </div>
                </a>
            </div>
        </div>
    </div>
</div>
<hr class="my-4">
<h5 class="text-muted mb-3"><i class="bi bi-cart"></i> نظام الطلبات والمشتريات</h5>
<?php endif; ?>

<div class="row g-4 mb-5">
    <div class="col-md-3">
        <div class="card border-0 shadow-sm h-100">
            <div class="card-body border-start border-5 border-primary">
                <div class="d-flex justify-content-between align-items-center">
                    <div>
                        <h6 class="text-muted mb-1">إجمالي الطلبات</h6>
                        <h2 class="fw-bold mb-0 text-primary"><?php echo $total_requests; ?></h2>
                    </div>
                    <div class="bg-primary bg-opacity-10 p-3 rounded-circle">
                        <i class="bi bi-files fs-3 text-primary"></i>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="col-md-3">
        <div class="card border-0 shadow-sm h-100">
            <div class="card-body border-start border-5 border-warning">
                <div class="d-flex justify-content-between align-items-center">
                    <div>
                        <h6 class="text-muted mb-1">قيد الانتظار</h6>
                        <h2 class="fw-bold mb-0 text-warning"><?php echo $pending_requests; ?></h2>
                    </div>
                    <div class="bg-warning bg-opacity-10 p-3 rounded-circle">
                        <i class="bi bi-hourglass-split fs-3 text-warning"></i>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="col-md-3">
        <div class="card border-0 shadow-sm h-100">
            <div class="card-body border-start border-5 border-success">
                <div class="d-flex justify-content-between align-items-center">
                    <div>
                        <h6 class="text-muted mb-1">المعتمدة</h6>
                        <h2 class="fw-bold mb-0 text-success"><?php echo $approved_requests; ?></h2>
                    </div>
                    <div class="bg-success bg-opacity-10 p-3 rounded-circle">
                        <i class="bi bi-check-lg fs-3 text-success"></i>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="col-md-3">
        <div class="card border-0 shadow-sm h-100">
            <div class="card-body border-start border-5 border-danger">
                <div class="d-flex justify-content-between align-items-center">
                    <div>
                        <h6 class="text-muted mb-1">المرفوضة</h6>
                        <h2 class="fw-bold mb-0 text-danger"><?php echo $rejected_requests; ?></h2>
                    </div>
                    <div class="bg-danger bg-opacity-10 p-3 rounded-circle">
                        <i class="bi bi-x-circle fs-3 text-danger"></i>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<div class="card shadow-sm border-0">
    <div class="card-header bg-white py-3 d-flex justify-content-between align-items-center">
        <h5 class="mb-0 text-success"><i class="bi bi-table"></i> أحدث الطلبات</h5>
        
        <?php if(in_array($user_role, ['super_admin', 'ceo'])): ?>
            <a href="manage_requests.php" class="btn btn-sm btn-outline-success">عرض واعتماد الكل</a>
        <?php elseif($user_role == 'supervisor'): ?>
            <a href="supervisor_panel.php" class="btn btn-sm btn-outline-success">الذهاب للوحة التأشير</a>
        <?php elseif($user_role == 'purchasing'): ?>
            <a href="purchasing_panel.php" class="btn btn-sm btn-outline-success">الذهاب للوحة المشتريات</a>
        <?php elseif($user_role == 'accountant'): ?>
             <a href="finance_panel.php" class="btn btn-sm btn-outline-success">الذهاب للوحة المالية</a>
        <?php elseif(in_array($user_role, ['manager_first', 'manager_youth'])): ?>
             <a href="managers_panel.php" class="btn btn-sm btn-outline-success">الذهاب للاعتماد</a>
        <?php endif; ?>
    </div>
    
    <div class="card-body p-0">
        <div class="table-responsive">
            <table class="table table-hover mb-0 align-middle text-center">
                <thead class="table-light">
                    <tr>
                        <th>رقم الطلب</th>
                        <th>مقدم الطلب</th>
                        <th>النوع</th>
                        <th>التفاصيل / الفريق</th>
                        <th>تاريخ</th>
                        <th>الحالة</th>
                        <th>الإجراء</th>
                    </tr>
                </thead>
                <tbody>
                    <?php
                    // جلب آخر 5 طلبات مع تطبيق نفس الفلتر
                    $sql = "SELECT r.*, u.full_name_ar 
                            FROM requests r 
                            JOIN users u ON r.user_id = u.id 
                            $filter_sql 
                            ORDER BY r.created_at DESC LIMIT 5";
                    $stmt = $pdo->query($sql);
                    
                    if($stmt->rowCount() > 0):
                        while($row = $stmt->fetch()):
                            // تنسيق الحالة بالألوان
                            $status_badge = match($row['status']) {
                                'pending' => '<span class="badge bg-warning text-dark">قيد الانتظار</span>',
                                'pending_manager' => '<span class="badge bg-warning text-dark">عند المدير المباشر</span>',
                                'pending_purchasing' => '<span class="badge bg-info text-dark">عند المشتريات</span>',
                                'ready_for_ceo' => '<span class="badge bg-primary">بانتظار المدير التنفيذي</span>',
                                'approved' => '<span class="badge bg-success">تم الاعتماد</span>',
                                'rejected' => '<span class="badge bg-danger">مرفوض</span>',
                                'conditional_approval' => '<span class="badge bg-info">موافقة مشروطة</span>',
                                'completed' => '<span class="badge bg-dark">مكتمل</span>',
                                'returned' => '<span class="badge bg-secondary">معاد للتعديل</span>',
                                default => '<span class="badge bg-secondary">غير معروف</span>'
                            };
                            
                            $type_label = $row['request_type'] == 'sports' ? 'فرق رياضية' : 'مشتريات إدارية';
                            $details = ($row['request_type'] == 'sports') ? $row['sports_team_name'] : $row['admin_department_name'];
                    ?>
                    <tr>
                        <td class="fw-bold">#<?php echo $row['id']; ?></td>
                        <td><?php echo htmlspecialchars($row['full_name_ar']); ?></td>
                        <td><?php echo $type_label; ?></td>
                        <td><?php echo $details; ?></td>
                        <td><?php echo date('Y-m-d', strtotime($row['created_at'])); ?></td>
                        <td><?php echo $status_badge; ?></td>
                        <td>
                            <a href="view_request.php?id=<?php echo $row['id']; ?>" class="btn btn-sm btn-outline-primary">
                                <i class="bi bi-eye"></i> عرض
                            </a>
                        </td>
                    </tr>
                    <?php endwhile; 
                    else: ?>
                    <tr>
                        <td colspan="7" class="text-center py-4 text-muted">لا توجد طلبات مسجلة للعرض حالياً</td>
                    </tr>
                    <?php endif; ?>
                </tbody>
            </table>
        </div>
    </div>
</div>

<style>
    .hover-card:hover { transform: translateY(-5px); transition: 0.3s; background-color: #f8f9fa; cursor: pointer; }
    .blink_me { animation: blinker 1.5s linear infinite; }
    @keyframes blinker { 50% { opacity: 0; } }
</style>

<?php 
require_once __DIR__ . '/../includes/footer.php'; 
?>