src/Controller/Visao/GPS/Avaliado/Componentes/DesempenhoIndicadoresController.php line 54

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Visao\GPS\Avaliado\Componentes;
  3. use App\Controller\Customs\Custom2IMController;
  4. use App\Repository\Cliente\Dados\ScorecardRepository;
  5. use App\Repository\Cliente\Modelagem\AvaliadoRepository;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\HttpFoundation\Response;
  8. /**
  9.  * Componente que carrega uma listagem de indicadores separados por dominio.
  10.  */
  11. class DesempenhoIndicadoresController extends Custom2IMController
  12. {
  13.     const TEMPLATEBASE 'visao/gps/avaliado/componentes/';
  14.     /**
  15.      * @param Request $request
  16.      * @return Response
  17.      */
  18.     public function index(Request $requestScorecardRepository $scorecardRepositoryAvaliadoRepository $avaliadoRepositorybool $evs_anual false): Response
  19.     {
  20.         $avaliado $this->getAvaliado();
  21.         $periodo $this->getPeriodo();
  22.         $dados $scorecardRepository->indicadores(
  23.             $avaliado['id_modelagem']
  24.             ,$avaliado['id_grupo']
  25.             ,$avaliado['id_avaliado']
  26.             ,$periodo['to']['ano'].$periodo['to']['periodo']
  27.             ,$evs_anual
  28.             ,(!empty($avaliado['http_referer']) && $avaliado['http_referer'] === 'visao_gestor')
  29.         );
  30.         /**
  31.          * verifica se a configuração de producao está no cliente
  32.          * Se sim vai olhar a tabela robot.layout_drg_2im_out
  33.          * @TODO: fazer isso ficar dinamico para inserir uma tabela qualquer
  34.          */
  35.         if(
  36.             isset($request->getSession()->get('cliente')->getConfig()['verifica_producao'])
  37.             && $request->getSession()->get('cliente')->getConfig()['verifica_producao'] == true
  38.         ) {
  39.             $producao $avaliadoRepository->verificaProducao($avaliado['id_modelagem'],$avaliado['id_grupo'],$avaliado['id_avaliado'],$avaliado['periodo']);
  40.             
  41.             if($producao['internacao'] == AND $producao['evs'] == 0) {
  42.                 return $this->render('sem-producao.html.twig', []);
  43.             }
  44.         }
  45.         // adiciona se é possível ver datalhes do indicador:
  46.         if ( $request->getSession()->has('cliente') ) {
  47.             $permiteDetalhesCusteio $request->getSession()->get('cliente')->getConfig()['mostrar_detalhes_custeio'] ?? true;
  48.         }
  49.         
  50.         return $this->render('desempenho-indicadores.html.twig', [
  51.              'var_dados_indicadores' => $dados
  52.             ,'var_permite_detalhes_custeio' => $permiteDetalhesCusteio ?? false
  53.             ,'var_is_mensal' => !$evs_anual
  54.         ]);
  55.     }
  56. }