src/Controller/Visao/Avaliado/Componentes/EvsAvaliadoController.php line 42

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\RequestStack;
  7. use Symfony\Component\HttpFoundation\Response;
  8. class EvsAvaliadoController extends ComponenteAbstract
  9. {
  10.     const TEMPLATEBASE 'visao/avaliado/componentes/';
  11.     /**
  12.      * @var array
  13.      */
  14.     private $dados_avaliado = [];
  15.     /**
  16.      * @param RequestStack $requestStack
  17.      * @param EvsRepository $evsRepository
  18.      */
  19.     public function __construct(RequestStack $requestStackEvsRepository $evsRepository)
  20.     {
  21.         $sess $requestStack->getCurrentRequest()->getSession();
  22.         // parent request
  23.         $parentRequestController $requestStack->getParentRequest()->attributes->get('_controller');
  24.         $this->dados_avaliado = ( 'App\Controller\Visao\Avaliado\AvaliadoController::anual' === $parentRequestController )
  25.             ? $evsRepository->avaliadoEVSAnual($sess->get('avaliado'))
  26.             : $evsRepository->avaliado($sess->get('periodo'),$sess->get('avaliado'));
  27.         unset($sess);
  28.     }
  29.     /**
  30.      * @param Request $request
  31.      * @return Response
  32.      */
  33.     public function index(Request $request): Response
  34.     {
  35.         return $this->render('evs-avaliado.html.twig', [
  36.             'referer'     => $request->headers->get('referer'),
  37.             'localizacao' => $request->query->get('relacionamento'),
  38.             'programa'    => $this->dados_avaliado['nome_programa'],
  39.             'modelagem'   => $this->dados_avaliado['nome_modelagem'],
  40.             'retorno'     => ['dados' => $this->dados_avaliado'estrelas' => ( (float) $this->dados_avaliado['valor'] * 100) / 5],
  41.             'icones'      => $this->getIcones(),
  42.             'avaliado'    => $this->getAvaliado()
  43.         ]);
  44.     }
  45.     /**
  46.      * @return Response
  47.      */
  48.     public function indiceQualidade() :Response
  49.     {
  50.         return $this->render('indice-qualidade.html.twig', [
  51.             'indice_qualidade' => $this->dados_avaliado['performance_qualidade'],
  52.             'peso_qualidade'   => $this->dados_avaliado['peso_qualidade'],
  53.         ]);
  54.     }
  55.     /**
  56.      * @return Response
  57.      */
  58.     public function indiceCusteio() :Response
  59.     {
  60.         return $this->render('indice-custeio.html.twig', [
  61.             'indice_custeio' => $this->dados_avaliado['performance_custo'],
  62.             'peso_custo'     => $this->dados_avaliado['peso_custo'],
  63.         ]);
  64.     }
  65. }