info('Starting score recalculation...'); $scoreSheets = ScoreSheet::all(); foreach ($scoreSheets as $scoreSheet) { if ($scoreSheet->entry->audition->hasFlag('seats_published')) { continue; } $this->recalculate($scoreSheet); } $this->info('Score recalculation completed successfully.'); } private function recalculate(ScoreSheet|int $scoreSheet): void { if (is_int($scoreSheet)) { $scoreSheet = ScoreSheet::findOrFail($scoreSheet); } $scribe = app()->make(EnterScore::class); $scoreSubmission = []; foreach ($scoreSheet->subscores as $subscore) { $scoreSubmission[$subscore['subscore_id']] = $subscore['score']; } $scribe($scoreSheet->judge, $scoreSheet->entry, $scoreSubmission, $scoreSheet); } }