src/Controller/Visao/GPS/Avaliado/Componentes/EvsAvaliadoController.php line 43

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Visao\GPS\Avaliado\Componentes;
  3. use App\Controller\Componentes\ComponenteAbstract;
  4. use App\Repository\Cliente\Dados\EvsRepository;
  5. use App\Repository\Cliente\Dados\GpsRepository;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\HttpFoundation\RequestStack;
  8. use Symfony\Component\HttpFoundation\Response;
  9. class EvsAvaliadoController extends ComponenteAbstract
  10. {
  11.     const TEMPLATEBASE 'visao/gps/avaliado/componentes/';
  12.     /**
  13.      * @var array
  14.      */
  15.     private $dados_avaliado = [];
  16.     /**
  17.      * @param RequestStack $requestStack
  18.      * @param GpsRepository $gpsRepository
  19.      */
  20.     public function __construct(RequestStack $requestStackGpsRepository $gpsRepository)
  21.     {
  22.         $sess $requestStack->getCurrentRequest()->getSession();
  23.         // parent request
  24.         $parentRequestController $requestStack->getParentRequest()->attributes->get('_controller');
  25.         $this->dados_avaliado = ( 'App\Controller\Visao\GPS\Avaliado\AvaliadoController::anual' === $parentRequestController )
  26.             ? $gpsRepository->buscarPerformance(['where' => "AND id_programa = {$sess->get('programa')['programa']['id_programa']} AND id_modelagem = {$sess->get('avaliado')['id_modelagem']}"], ['where' => " AND (periodo->>'ano')::integer = " $sess->get('periodo')['from']['ano']], [' AND id_avaliado = ' $sess->get('avaliado')['id_avaliado'], ' AND id_grupo = ' $sess->get('avaliado')['id_grupo']])
  27.             : $gpsRepository->buscarPerformance(['where' => "AND id_programa = {$sess->get('programa')['programa']['id_programa']} AND id_modelagem = {$sess->get('avaliado')['id_modelagem']}"], $sess->get('periodo'), [' AND id_avaliado = ' $sess->get('avaliado')['id_avaliado'], ' AND id_grupo = ' $sess->get('avaliado')['id_grupo']]);
  28.         unset($sess);
  29.     }
  30.     /**
  31.      * @param Request $request
  32.      * @return Response
  33.      */
  34.     public function index(Request $request): Response
  35.     {
  36.         return $this->render('evs-avaliado.html.twig', [
  37.             'referer'     => $request->headers->get('referer'),
  38.             'localizacao' => $request->query->get('relacionamento'),
  39.             'programa'    => $this->getPrograma()['programa']['titulo'],
  40.             'modelagem'   => $this->getAvaliado()['nome_modelagem'],
  41.             'retorno'     => ['dados' => $this->dados_avaliado],
  42.             'icones'      => $this->getIcones(),
  43.             'avaliado'    => $this->getAvaliado()
  44.         ]);
  45.     }
  46.     /**
  47.      * @return Response
  48.      */
  49.     public function indiceQualidade() :Response
  50.     {
  51.         return $this->render('indice-qualidade.html.twig', [
  52.             'indice_qualidade' => $this->dados_avaliado['performance_qualidade'],
  53.             'peso_qualidade'   => $this->dados_avaliado['peso_qualidade'],
  54.         ]);
  55.     }
  56.     /**
  57.      * @return Response
  58.      */
  59.     public function indiceCusteio() :Response
  60.     {
  61.         return $this->render('indice-custeio.html.twig', [
  62.             'indice_custeio' => $this->dados_avaliado['performance_custo'],
  63.             'peso_custo'     => $this->dados_avaliado['peso_custo'],
  64.         ]);
  65.     }
  66. }