src/Controller/Visao/Gestor/Componentes/RightMenuController.php line 35

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Visao\Gestor\Componentes;
  3. use App\Controller\Componentes\ComponenteAbstract;
  4. use App\Entity\Cliente\Dimensao;
  5. use App\Repository\Cliente\Modelagem\ModelagemRepository;
  6. use App\Service\DimensaoDeBuscaGestorService;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\HttpFoundation\Response;
  9. class RightMenuController extends ComponenteAbstract
  10. {
  11.     const TEMPLATEBASE 'visao/gestor/componentes/';
  12.     /**
  13.      * @var DimensaoDeBuscaGestorService
  14.      */
  15.     private $dimensaoService;
  16.     private $modelagemRepository;
  17.     /**
  18.      * @param DimensaoDeBuscaGestorService $dimensaoService
  19.      */
  20.     public function __construct(DimensaoDeBuscaGestorService $dimensaoServiceModelagemRepository $modelagemRepository)
  21.     {
  22.         $this->dimensaoService $dimensaoService;
  23.         $this->modelagemRepository $modelagemRepository;
  24.     }
  25.     /**
  26.      * @param Request $request
  27.      * @return Response
  28.      */
  29.     public function index(Request $request): Response
  30.     {
  31.         $tamanhoComponente $this->getCurrentRequest()->query->get('tamanho'$request->query->get('tamanhoModal''col-12'));
  32.         $urReferer $request->headers->get('referer');
  33.         $dimensao $request->query->get('dimensao');
  34.         $id_busca $request->query->get('id_busca'null);
  35.         $id_avaliado $request->query->get('id_filtro'null);
  36.         $dimensao = (new Dimensao())
  37.         ->setDimensao($dimensao)
  38.         ->setIdBusca($id_busca)
  39.         ->setIdFiltro($id_avaliado)
  40.         ->setPrograma($this->getPrograma())
  41.         ->setPeriodo($this->getPeriodo());
  42.         ;
  43.         $periodo['inicio'] = $dimensao->getPeriodo()['from']['ano'].$dimensao->getPeriodo()['from']['periodo'];
  44.         $periodo['fim']    = $dimensao->getPeriodo()['to']['ano'].$dimensao->getPeriodo()['to']['periodo'];
  45.         $dados $this->dimensaoService->execute($dimensao);
  46.         $total_avaliados $this->modelagemRepository->totalAvaliadosByPeriodo($periodo$this->getPrograma()['modelagem']);
  47.         foreach($total_avaliados as $avaliados) {
  48.             if (($key array_search($avaliados['id_grupo'], array_column($dados'id'))) !== false) {
  49.                 $dados[$key]['total_avaliados'] = $avaliados['total_avaliados'];
  50.             }
  51.         }
  52.         return $this->render('right-menu.html.twig', [
  53.             ' tamanhoModal' => $tamanhoComponente
  54.             ,'referer'      => $urReferer
  55.             ,'dados'        => json_encode($dadostrue)
  56.             ,'dimensao'     => $dimensao
  57.             ,'icones'       => $this->getIcones()
  58.             ,'id_filtro'    => $id_avaliado
  59.         ]);
  60.     }
  61. }