<?php
namespace App\Controller\Visao\GPS\Avaliado\Componentes;
use App\Controller\Customs\Custom2IMController;
use App\Repository\Cliente\Dados\ScorecardRepository;
use App\Repository\Cliente\Modelagem\AvaliadoRepository;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
/**
* Componente que carrega uma listagem de indicadores separados por dominio.
*/
class DesempenhoIndicadoresController extends Custom2IMController
{
const TEMPLATEBASE = 'visao/gps/avaliado/componentes/';
/**
* @param Request $request
* @return Response
*/
public function index(Request $request, ScorecardRepository $scorecardRepository, AvaliadoRepository $avaliadoRepository, bool $evs_anual = false): Response
{
$avaliado = $this->getAvaliado();
$periodo = $this->getPeriodo();
$dados = $scorecardRepository->indicadores(
$avaliado['id_modelagem']
,$avaliado['id_grupo']
,$avaliado['id_avaliado']
,$periodo['to']['ano'].$periodo['to']['periodo']
,$evs_anual
,(!empty($avaliado['http_referer']) && $avaliado['http_referer'] === 'visao_gestor')
);
/**
* verifica se a configuração de producao está no cliente
* Se sim vai olhar a tabela robot.layout_drg_2im_out
* @TODO: fazer isso ficar dinamico para inserir uma tabela qualquer
*/
if(
isset($request->getSession()->get('cliente')->getConfig()['verifica_producao'])
&& $request->getSession()->get('cliente')->getConfig()['verifica_producao'] == true
) {
$producao = $avaliadoRepository->verificaProducao($avaliado['id_modelagem'],$avaliado['id_grupo'],$avaliado['id_avaliado'],$avaliado['periodo']);
if($producao['internacao'] == 0 AND $producao['evs'] == 0) {
return $this->render('sem-producao.html.twig', []);
}
}
// adiciona se é possível ver datalhes do indicador:
if ( $request->getSession()->has('cliente') ) {
$permiteDetalhesCusteio = $request->getSession()->get('cliente')->getConfig()['mostrar_detalhes_custeio'] ?? true;
}
return $this->render('desempenho-indicadores.html.twig', [
'var_dados_indicadores' => $dados
,'var_permite_detalhes_custeio' => $permiteDetalhesCusteio ?? false
,'var_is_mensal' => !$evs_anual
]);
}
}