src/Controller/Visao/Avaliado/Componentes/GraficoQualidadeCustoController.php line 30

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Visao\Avaliado\Componentes;
  3. use App\Controller\Componentes\ComponenteAbstract;
  4. use App\Repository\Cliente\Dados\EvsRepository;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\HttpFoundation\Response;
  7. class GraficoQualidadeCustoController extends ComponenteAbstract
  8. {
  9.     const TEMPLATEBASE 'visao/avaliado/componentes/';
  10.     /**
  11.      * @var EvsRepository
  12.      */
  13.     private $evs;
  14.     /**
  15.      * @param EvsRepository $evsRepository
  16.      */
  17.     public function __construct(EvsRepository $evsRepository)
  18.     {
  19.         $this->evs $evsRepository;
  20.     }
  21.     /**
  22.      * @param Request $request
  23.      * @return Response
  24.      */
  25.     public function index(Request $request): Response
  26.     {
  27.         // array com informacoes da sessao do avaliado
  28.         $avaliado $this->getAvaliado();
  29.         // AAAAMM
  30.         $periodo = (int) join('',array_values(array_intersect_key($this->getSession()->get('periodo')['to'], ['ano'=>NULL,'periodo'=>NULL])));
  31.         // dados de todos os pares (do grupo)
  32.         $dadosGraficoDispersao $this->evs->dispersaoQualidadeCustoAvaliados($avaliado$periodo);
  33.         // É necessário que existam mais de 3 outros avaliados no grupo para que sejam apresentados
  34.         // de forma anônima ao avaliado, caso contrário deve apresentar somente a perfomance do
  35.         // próprio avaliado
  36.         $dadosAvaliadosGrupo $dadosGraficoDispersao;
  37.         if ( count($dadosGraficoDispersao) <= ) {
  38.             $dadosAvaliadosGrupo = [];
  39.         }
  40.         return $this->render('grafico-qualidade-custo.html.twig', [
  41.             'tamanhoModal'     => $request->query->get('tamanho'$request->query->get('tamanhoModal''col-12')),
  42.             'referer'          => $request->headers->get('referer'),
  43.             'avaliado_grafico' => $dadosGraficoDispersao[0]['json_avaliado'],
  44.             'dados'            => json_encode($dadosAvaliadosGrupotrue),
  45.             'icones'           => $this->getIcones(),
  46.             'avaliado'         => $avaliado,
  47.         ]);
  48.     }
  49. }