0 ? get_application($applicationId) : null; $isApprovedCenter = $application && (string) ($application['status'] ?? '') === 'approved'; $cycleContext = ['cycles' => [], 'selected' => null, 'active' => null, 'read_only' => false]; $selectedCycle = null; $selectedCycleId = 0; $cycleLabel = 'لا توجد دورة بعد'; $buildCenterAssessmentsUrl = static function (int $targetApplicationId = 0, int $targetCycleId = 0): string { $params = []; if ($targetApplicationId > 0) { $params['id'] = $targetApplicationId; } if ($targetCycleId > 0) { $params['cycle'] = $targetCycleId; } return 'center_assessments.php' . ($params !== [] ? '?' . http_build_query($params) : ''); }; $buildCenterAssessmentScoreUrl = static function (int $targetApplicationId = 0, int $targetCycleId = 0, int $targetAssessmentId = 0): string { $params = []; if ($targetApplicationId > 0) { $params['id'] = $targetApplicationId; } if ($targetCycleId > 0) { $params['cycle'] = $targetCycleId; } if ($targetAssessmentId > 0) { $params['assessment_id'] = $targetAssessmentId; } return 'center_assessment_score_sheet.php' . ($params !== [] ? '?' . http_build_query($params) : ''); }; if (!$application || !$isApprovedCenter || $requestedCycleId <= 0 || $requestedAssessmentId <= 0) { set_flash('error', 'اختر مركزاً ودورة وتقييماً صحيحاً لفتح ورقة الطباعة.'); header('Location: ' . $buildCenterAssessmentsUrl($applicationId, $requestedCycleId)); exit; } $cycleContext = resolve_school_cycle_context((int) $application['id'], $application, $requestedCycleId); $selectedCycle = $cycleContext['selected']; $selectedCycleId = $selectedCycle ? (int) ($selectedCycle['id'] ?? 0) : 0; $cycleLabel = $selectedCycle ? (string) ($selectedCycle['cycle_name'] ?? $cycleLabel) : $cycleLabel; if ($selectedCycleId <= 0) { set_flash('error', 'تعذر تحديد الدورة المطلوبة لورقة الطباعة.'); header('Location: ' . $buildCenterAssessmentsUrl((int) $application['id'], $requestedCycleId)); exit; } $selectedAssessment = null; foreach (list_center_assessments_by_cycle((int) $application['id'], $selectedCycleId) as $assessment) { if ((int) ($assessment['id'] ?? 0) === $requestedAssessmentId) { $selectedAssessment = $assessment; break; } } if (!$selectedAssessment) { set_flash('error', 'تعذر العثور على التقييم المطلوب لطباعة النموذج.'); header('Location: ' . $buildCenterAssessmentsUrl((int) $application['id'], $selectedCycleId)); exit; } $criteria = list_center_assessment_criteria_by_assessment((int) $application['id'], $selectedCycleId, $requestedAssessmentId, true); $scoreBundle = center_assessment_score_bundle_by_assessment((int) $application['id'], $selectedCycleId, $requestedAssessmentId); $scoreRow = $scoreBundle['score'] ?? null; $criteriaScores = $scoreBundle['criteria_scores'] ?? []; $statusKey = center_assessment_normalize_status((string) ($scoreRow['status'] ?? 'pending')); $statusMeta = center_assessment_status_map()[$statusKey] ?? ['label' => 'غير محدد']; $totalScore = isset($scoreRow['score']) && $scoreRow['score'] !== null ? (float) $scoreRow['score'] : null; $maxScore = isset($scoreRow['max_score']) && $scoreRow['max_score'] !== null ? (float) $scoreRow['max_score'] : (float) ($selectedAssessment['max_score'] ?? 0); if ($criteria !== []) { $criteriaMax = 0.0; foreach ($criteria as $criterion) { $criteriaMax += (float) ($criterion['max_score'] ?? 0); } $maxScore = $criteriaMax > 0 ? $criteriaMax : $maxScore; } $percentage = $totalScore !== null && $maxScore > 0 ? round(($totalScore / $maxScore) * 100, 2) : null; $notes = trim((string) ($scoreRow['notes'] ?? '')); $assessmentDate = (string) ($scoreRow['assessed_on'] ?? ''); $settings = get_app_settings(); $projectName = (string) (!empty($settings['app_name']) ? $settings['app_name'] : project_name()); $projectLogo = (string) ($settings['app_logo'] ?? ''); $pageTitle = 'ورقة متابعة تقييم المركز — ' . (string) ($selectedAssessment['title'] ?? ''); $pageDescription = 'نموذج رسمي قابل للطباعة لتوثيق تقييم المركز والتوقيعات وخطة المتابعة الإدارية.'; $generatedAt = date('Y-m-d H:i'); $scoreSheetUrl = $buildCenterAssessmentScoreUrl((int) $application['id'], $selectedCycleId, $requestedAssessmentId); ?> <?= e($pageTitle) ?> | <?= e($projectName) ?>
ورقة تقييم قابلة للطباعة
نموذج رسمي للتوقيعات وخطة المتابعة الإدارية.
العودة إلى صفحة الرصد كل تقييمات المركز
<?= e($projectName) ?>
نموذج رسمي معتمد للمتابعة

ورقة تقييم ومتابعة إدارية للمركز

— توثيق نتيجة التقييم وخطوات المتابعة والتوقيعات.

رقم المركز#
الدورة
تاريخ التقييم
تاريخ الطباعة
الحالة

تفاصيل البنود

$criterion): ?>
# البند / المعيار الدرجة القصوى الدرجة المرصودة ملاحظات مختصرة
1 ................................................................

التوقيعات والاعتماد

للاستخدام الرسمي بين المقيم وإدارة المركز والإدارة المشرفة.

المقيم / المشرف
الاسم والتوقيع
التاريخ
مدير المركز
الاسم والتوقيع
التاريخ
اعتماد الإدارة
الاسم والتوقيع
التاريخ
متابعة الإغلاق
تمت المراجعة / أغلقت الملاحظات
التاريخ