لا توجد صلاحية للوصول لهذه الصفحة."; require_once 'includes/footer.php'; exit; } // Fetch all committees and calculate stats if (isAdmin()) { $stmt = db()->query(" SELECT c.id, c.name, (SELECT COUNT(*) FROM committee_members WHERE committee_id = c.id) as members_count, (SELECT COUNT(*) FROM committee_plans WHERE committee_id = c.id) as total_plans, (SELECT COUNT(*) FROM committee_plans WHERE committee_id = c.id AND status = 'completed') as completed_plans, (SELECT COUNT(*) FROM committee_activities WHERE committee_id = c.id) as activities_count FROM committees c ORDER BY c.name ASC "); $committees = $stmt->fetchAll(PDO::FETCH_ASSOC); } else { $stmt = db()->prepare(" SELECT c.id, c.name, (SELECT COUNT(*) FROM committee_members WHERE committee_id = c.id) as members_count, (SELECT COUNT(*) FROM committee_plans WHERE committee_id = c.id) as total_plans, (SELECT COUNT(*) FROM committee_plans WHERE committee_id = c.id AND status = 'completed') as completed_plans, (SELECT COUNT(*) FROM committee_activities WHERE committee_id = c.id) as activities_count FROM committees c JOIN committee_members m ON c.id = m.committee_id JOIN charity_members cm ON m.charity_member_id = cm.id JOIN users u ON (u.id = cm.user_id) OR (cm.email != '' AND cm.email = u.email) OR (cm.name = u.full_name) OR (cm.name = u.username) WHERE u.id = ? GROUP BY c.id ORDER BY c.name ASC "); $stmt->execute([$_SESSION['user_id']]); $committees = $stmt->fetchAll(PDO::FETCH_ASSOC); } // Overall stats $total_committees = count($committees); $total_members = 0; $total_plans = 0; $total_completed = 0; $total_activities = 0; foreach ($committees as &$c) { $total_members += $c['members_count']; $total_plans += $c['total_plans']; $total_completed += $c['completed_plans']; $total_activities += $c['activities_count']; // Calculate performance score (smart assessment) // Score based on: Completed plans (weight 60%) + Activities done (weight 40%) // Let's make a simple normalized score out of 100 for visual assessment $plan_completion_rate = $c['total_plans'] > 0 ? ($c['completed_plans'] / $c['total_plans']) * 100 : 0; // Assume an "active" committee should have at least 1 activity per month (say 5 is a good baseline for 100% activity score) $activity_score = min(100, $c['activities_count'] * 20); // Final composite score $score = ($plan_completion_rate * 0.6) + ($activity_score * 0.4); $c['score'] = $score; // Determine badge if ($score >= 80) { $c['badge'] = 'ممتاز'; $c['color'] = 'success'; } elseif ($score >= 50) { $c['badge'] = 'جيد'; $c['color'] = 'primary'; } elseif ($score > 0) { $c['badge'] = 'يحتاج تحسين'; $c['color'] = 'warning'; } else { $c['badge'] = 'غير نشط'; $c['color'] = 'danger'; } } unset($c); // Sort by score descending to rank them usort($committees, function($a, $b) { return $b['score'] <=> $a['score']; }); ?>

تقييم وتقارير اللجان

طباعة تقرير اللجان والأعضاء طباعة تقرير الأنشطة عودة لإدارة اللجان
إجمالي اللجان

إنجاز الخطط

0 ? round(($total_completed / $total_plans) * 100) : 0 ?>%

من خطة مكتملة
إجمالي الأنشطة

إجمالي الأعضاء

ترتيب وتقييم أداء اللجان (الأعلى أداءً)
$c): ?>
الترتيب اللجنة الأعضاء إنجاز الخطط الأنشطة المنجزة مؤشر الأداء (KPI) التقييم
لا توجد لجان مضافة حتى الآن.
0): ?> 0): ?> 0): ?> #
/
0 ? ($c['completed_plans'] / $c['total_plans']) * 100 : 0; ?>
نسبة الإنجاز: %
تقرير مفصل