Add student achievements module and improve student admin workflows
This commit is contained in:
@@ -7,6 +7,7 @@ use App\Models\Department;
|
||||
use App\Models\DocumentType;
|
||||
use App\Models\SchoolClass;
|
||||
use App\Models\Student;
|
||||
use App\Models\StudentAchievement;
|
||||
use App\Models\StudentExit;
|
||||
use App\Models\StudentTransfer;
|
||||
use Illuminate\Support\Collection;
|
||||
@@ -24,6 +25,23 @@ class DashboardController extends Controller
|
||||
|
||||
$completion = $this->calculateCompletion($students, $requiredDocumentTypeIds);
|
||||
|
||||
$studentGenderByAcademicYear = AcademicYear::query()
|
||||
->orderByDesc('name')
|
||||
->get(['id', 'name'])
|
||||
->map(function (AcademicYear $academicYear) {
|
||||
$maleCount = Student::where('academic_year_id', $academicYear->id)->where('gender', 'L')->count();
|
||||
$femaleCount = Student::where('academic_year_id', $academicYear->id)->where('gender', 'P')->count();
|
||||
|
||||
return [
|
||||
'name' => $academicYear->name,
|
||||
'male' => $maleCount,
|
||||
'female' => $femaleCount,
|
||||
'total' => $maleCount + $femaleCount,
|
||||
];
|
||||
})
|
||||
->filter(fn (array $item) => $item['total'] > 0)
|
||||
->values();
|
||||
|
||||
return view('dashboard', [
|
||||
'stats' => [
|
||||
'academicYears' => AcademicYear::count(),
|
||||
@@ -34,11 +52,14 @@ class DashboardController extends Controller
|
||||
'studentsDropped' => StudentExit::count(),
|
||||
'studentsTransferred' => StudentTransfer::count(),
|
||||
'studentsGraduated' => Student::where('status', 'graduated')->count(),
|
||||
'studentAchievements' => StudentAchievement::count(),
|
||||
'studentsWithAchievements' => StudentAchievement::distinct('student_id')->count('student_id'),
|
||||
'studentsCompleteDocuments' => $completion['complete'],
|
||||
'studentsIncompleteDocuments' => $completion['incomplete'],
|
||||
'studentsVerifiedDocuments' => $completion['verified_complete'],
|
||||
'studentsUnverifiedDocuments' => $completion['verified_incomplete'],
|
||||
],
|
||||
'studentGenderByAcademicYear' => $studentGenderByAcademicYear,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user