← Back
Editing: NoteService.php
<?php namespace App\Service; use App\Repository\NoteRepository; use Symfony\Component\Security\Core\User\UserInterface; class NoteService { public function __construct( private SolutionService $solutionService, private NoteRepository $noteRepository ) { } public function averageNoteByManagerByFullAdresse( UserInterface $user, $ville, $voie, $residence, $batiment, $numero, $historyDate = null, $endDateTmp = null ): array { $finalList = []; $interval = new \DateInterval('P1M'); $formatter = new \IntlDateFormatter( 'fr_FR', \IntlDateFormatter::TRADITIONAL, \IntlDateFormatter::TRADITIONAL ); $formatter->setPattern('MMM yy'); while ($historyDate <= $endDateTmp) { $dateEndHist = clone $historyDate; $dateEndHist = $dateEndHist->modify('first day of this month'); $dateEndHist->add($interval); $results = $this->noteRepository->averageNoteByManagerByFullAdresse( $user, $ville, $voie, $residence, $batiment, $numero, $historyDate, $dateEndHist ); $frenchMonth = $formatter->format($historyDate); $finalList[$frenchMonth] = [ 'nbControl' => 0, 'averageNote' => 0, ]; foreach ($results as $item) { $finalList[$frenchMonth]['nbControl'] = $item['nbControl']; $finalList[$frenchMonth]['averageNote'] = round(floatval($item['noteMoyenne']), 1); } $historyDate = clone $dateEndHist; } return $finalList; } }
Save File
Cancel