add attedances on raport
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
reihanrere 2025-06-24 08:14:22 +07:00
parent da48d1a986
commit 41c0dcfb20
4 changed files with 41 additions and 2 deletions

View File

@ -5,6 +5,7 @@ namespace App\Filament\Pages;
use App\Models\AcademicYear;
use App\Models\Assessment;
use App\Models\AssessmentLearningObjective;
use App\Models\Attendances;
use App\Models\ClassRoom;
use App\Models\ClassSubject;
use App\Models\CompetencyAchievement;
@ -77,6 +78,26 @@ class ReportPreview extends Page
$this->class_name = $this->toRoman($this->class->class_level) . ' ' . $this->extractClassLetter($this->class->class_name);
$this->loadAssessment();
$this->loadAttendance();
}
protected function loadAttendance()
{
$attendances = Attendances::where('student_id', $this->student->id)
->where('semester', $this->semester)
->get();
$this->sakit = $attendances->filter(function ($item) {
return $item->status === 'sick';
})->count();
$this->izin = $attendances->filter(function ($item) {
return $item->status === 'permission';
})->count();
$this->tanpa_keterangan = $attendances->filter(function ($item) {
return $item->status === 'absent';
})->count();
}
protected function loadAssessment(): void

View File

@ -194,6 +194,7 @@ class AssessmentResource extends Resource
->sortable()
->toggleable(isToggledHiddenByDefault: true),
])
->recordUrl(null)
->filters([
Tables\Filters\TrashedFilter::make()->label('Tampilkan Data yang Dihapus'),
])

View File

@ -246,6 +246,7 @@ class AttendancesResource extends Resource
->sortable()
->toggleable(isToggledHiddenByDefault: true),
])
->recordUrl(null)
->filters([
Tables\Filters\TrashedFilter::make()->label('Tampilkan Data yang Dihapus'),
])

View File

@ -25,8 +25,24 @@ class ListLearningObjectives extends ListRecords
->pluck('class_room_id')
->toArray();
return LearningObjective::with(["subject", "class"])
->whereIn('class_room_id', $homeRoomClassIds);
if (!empty($homeRoomClassIds)) {
return LearningObjective::with(["subject", "class"])
->whereIn('class_room_id', $homeRoomClassIds);
} else {
$teacherClass = TeacherSubject::with(["subject", "class"])
->where('teacher_id',$user->id)
->firstOrFail();
$query = LearningObjective::with(["subject", "class"]);
if ($teacherClass) {
$query->where('class_room_id', $teacherClass->class_id)
->where('subject_id', $teacherClass->subject_id);
}
return $query;
}
}
return LearningObjective::query();