src/Controller/Visao/Gestor/Componentes/GraficoQualidadeCustoController.php line 44

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\Dados\EvsRepository;
  6. use App\Repository\Cliente\Modelagem\GrupoRepository;
  7. use App\Service\DimensaoDeBuscaGestorService;
  8. use App\Service\DimensaoService;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  12. class GraficoQualidadeCustoController extends ComponenteAbstract
  13. {
  14.     const TEMPLATEBASE 'visao/gestor/componentes/';
  15.     private $dimensaoServiceBusca;
  16.     private $dimensao;
  17.     private $grupoRepository;
  18.     private $evsRepository;
  19.     private $session;
  20.     public function __construct(DimensaoDeBuscaGestorService $dimensaoServiceBuscaGrupoRepository $grupoRepositoryEvsRepository $evsRepositoryDimensaoService $dimensaoSessionInterface $session)
  21.     {
  22.         $this->dimensaoServiceBusca $dimensaoServiceBusca;
  23.         $this->grupoRepository $grupoRepository;
  24.         $this->evsRepository $evsRepository;
  25.         $this->dimensao $dimensao;
  26.         $this->session $session;
  27.     }
  28.     public function index(Request $request): Response
  29.     {
  30.         $tamanhoComponente $this->getCurrentRequest()->query->get('tamanho'$request->query->get('tamanhoModal''col-12'));
  31.         $urReferer $request->headers->get('referer');
  32.         $dimensao_nome $request->query->get('dimensao');
  33.         $id_busca $request->query->get('id_busca'null);
  34.         
  35.         $dados = [];
  36.         $especialidade_selecionada null;
  37.         $especialidades = [];
  38.         $gestor_permissoes $this->session->get('gestor_permissoes');
  39.         
  40.         $dimensao = (new Dimensao())
  41.             ->setDimensao($dimensao_nome)
  42.             ->setIdBusca($id_busca)
  43.             ->setPrograma($this->getPrograma())
  44.             ->setPeriodo($this->getPeriodo())
  45.         ;
  46.         if (Dimensao::POR_ESPECIALIDADE == $dimensao->getDimensao()) {
  47.             $especialidade_selecionada $this->grupoRepository->findOneBy(['idGrupo' => $id_busca]);
  48.             $especialidades $this->evsRepository->buscarPerformanceDeTodasEspecialidades($dimensao->getPrograma(), $dimensao->getPeriodo(), $gestor_permissoes['where'] ?? '');
  49.         }
  50.         $dimensao->setTituloGraficoDistribuicaoEvs(
  51.             $this->dimensao->getClienteConfigTituloGraficoQualidadeCusteio($dimensao_nome$especialidade_selecionada $especialidade_selecionada->getTitulo() : null)
  52.         );
  53.         $dados $this->dimensaoServiceBusca->execute($dimensao);
  54.         return $this->render('grafico-qualidade-custo.html.twig', [
  55.             'tamanhoModal' => $tamanhoComponente,
  56.             'referer' => $urReferer,
  57.             'especialidade_selecionada' => $especialidade_selecionada,
  58.             'especialidades' => $especialidades,
  59.             'dados' => json_encode($dadostrue),
  60.             'dimensao' => $dimensao,
  61.             'icones' => $this->getIcones(),
  62.         ]);
  63.     }
  64. }