http://analytics.2im.com.br/visao-avaliado/dashboard

Query Metrics

18 Database Queries
18 Different statements
61.08 ms Query time
7 Invalid entities

Queries

Group similar statements

default connection

# Time Info
1 1.86 ms
SELECT t0.id_usuario AS id_usuario_1, t0.nome AS nome_2, t0.email AS email_3, t0.login AS login_4, t0.id_avaliado AS id_avaliado_5, t0.senha AS senha_6, t0.ativo AS ativo_7, t0.data_add AS data_add_8, t0.data_upd AS data_upd_9, t0.force_update AS force_update_10, t0.senha_update AS senha_update_11, t0.data_limite_acesso AS data_limite_acesso_12, t0.onboard AS onboard_13, t0.foto AS foto_14, t0.googleAuthenticatorSecret AS googleauthenticatorsecret_15, t0.passwordless_token AS passwordless_token_16, t0.id_perfil AS id_perfil_17 FROM analytics.usuario t0 WHERE t0.id_usuario = ?
Parameters:
[
  8694
]
2 0.75 ms
SELECT t0.id_perfil AS id_perfil_1, t0.titulo AS titulo_2, t0.data_add AS data_add_3, t0.data_upd AS data_upd_4, t0.rota_default AS rota_default_5, t0.role AS role_6, t0.permissao AS permissao_7 FROM analytics.perfil t0 WHERE t0.id_perfil = ?
Parameters:
[
  3
]
3 0.75 ms
SELECT t0.id_usuario_cliente AS id_usuario_cliente_1, t0.id_cliente AS id_cliente_2, t0.id_usuario AS id_usuario_3, t0.nome AS nome_4, t0.permissao AS permissao_5, t0.data_add AS data_add_6, t0.data_aceite_termo AS data_aceite_termo_7 FROM analytics.usuario_cliente t0 WHERE t0.id_usuario = ? AND t0.id_cliente = ? LIMIT 1
Parameters:
[
  8694
  223
]

cliente connection

# Time Info
1 1.48 ms
INSERT INTO acesso.usuario_log(id_usuario, id_programa, id_modelagem, id_sistema, data_acesso, url)
					 VALUES (8694, 1, 1, 1, NOW(), 'visao_avaliado_dashboard');
Parameters:
[]
2 1.40 ms
select exists (select * from pg_catalog.pg_namespace where nspname = 'fornecidos');
Parameters:
[]
3 1.36 ms
SELECT
                    id_solicitacao,
                    id_usuario,
                    nome_usuario,
                    nome_documento,
                    pasta_slug,
                    extensao,
                    especialidade,
                    aprovacao,
                    envios_permitidos,
                    data_add
                FROM fornecidos.solicitacao
                WHERE especialidade->>'28' IS NOT NULL OR especialidade = '[]'
                GROUP BY 1,2,3,4,5,8,9,10
Parameters:
[]
4 0.48 ms
SELECT
                    *
                FROM fornecidos.arquivos a
                WHERE a.id_avaliado = 676
Parameters:
[]
5 4.36 ms
SELECT
                 To_Jsonb(Array_Agg(performance_custo)) performance_custo
                ,To_Jsonb(Array_Agg(performance_qualidade)) performance_qualidade
                ,To_Jsonb(Array_Agg(evs)) evs
                ,To_Jsonb(Array_Agg(Concat(mes_txt,' ',ano))) mes_ano_txt
            FROM (
                SELECT
                     ROUND(performance_custo, 2) performance_custo
                    ,ROUND(performance_qualidade, 2) performance_qualidade
                    ,ROUND(valor, 2) evs
                    ,Concat(periodo->>'ano',periodo->>'periodo')::integer referencia
                    ,(ARRAY['Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez'])[(periodo->>'periodo')::smallint]::text mes_txt
                    ,periodo->>'ano' ano
                FROM
                    dados.evs
                WHERE
                    id_programa = :id_programa
                    AND id_modelagem = :id_modelagem
                    AND id_avaliado = :id_avaliado
                    AND id_grupo = :id_grupo
                    AND (periodo->>'ano')::int = :ano
                    
                ORDER BY 4
            ) a
Parameters:
[
  ":id_programa" => 1
  ":id_modelagem" => 1
  ":id_avaliado" => 676
  ":id_grupo" => 28
  ":ano" => 2026
]
6 3.75 ms
SELECT DISTINCT ON(id_avaliado)
                    (periodo->>'ano')::integer ano
                    ,id_grupo
                    ,nome_grupo
                    ,id_modelagem
                    ,nome_modelagem
                    ,id_programa
                    ,nome_programa
                    ,Avg(valor) OVER(PARTITION BY id_avaliado) valor
                    ,Avg(performance_qualidade) OVER(PARTITION BY id_avaliado) performance_qualidade
                    ,Avg(performance_custo) OVER(PARTITION BY id_avaliado) performance_custo
                    ,.7 * 100 AS peso_qualidade
                    ,.3 * 100 AS peso_custo
                FROM
                    dados.evs
                WHERE
                    (periodo->>'ano')::integer = :ano
                    AND id_avaliado = :id_avaliado
                    AND id_grupo = :id_grupo
                    AND id_programa = :id_programa
                    AND id_modelagem = :id_modelagem
Parameters:
[
  ":ano" => "2026"
  ":id_avaliado" => 676
  ":id_programa" => 1
  ":id_modelagem" => 1
  ":id_grupo" => 28
]
7 7.55 ms
SELECT
                    b.*,
                    CASE
                        WHEN media < 3 THEN 0
                        WHEN media < 4 THEN 6
                        WHEN media < 4.5 THEN 9
                        ELSE 12
                    END percentual,
                    CASE
                        WHEN media < 3 THEN 74
                        WHEN media < 4 THEN 74 * (0.06) + 74
                        WHEN media < 4.5 THEN 74 * (0.09) + 74
                        ELSE 74 * (0.12) + 74
                    END valor_final
                FROM (
                    SELECT
                        id_avaliado,
                        nome_avaliado,
                        nome_grupo,
                        ROUND(AVG(evs), 2) media,
                        JSONB_AGG(jsonb_build_object(
                            'periodo', periodo,
                            'evs', ROUND(evs, 2)
                        )) evs
                    FROM (
                        SELECT DISTINCT
                            evs.id_avaliado,
                            evs.nome_avaliado,
                            evs.nome_grupo,
                            v.evs,
                            p.periodo
                        FROM dados.evs
                        JOIN LATERAL (
                            SELECT generate_periodo periodo FROM generate_periodo(202512, 202602)
                        ) p ON TRUE
                        LEFT JOIN (
                            SELECT id_avaliado, valor evs, CONCAT(periodo->>'ano', periodo->>'periodo')::integer periodo FROM dados.evs
                        ) v ON evs.id_avaliado = v.id_avaliado AND p.periodo = v.periodo
                        WHERE
                            id_modelagem = 1 AND evs.id_avaliado = 676
                            AND CONCAT(evs.periodo->>'ano', evs.periodo->>'periodo')::integer BETWEEN 202512 AND 202602
                        ORDER BY id_avaliado, periodo ASC
                    ) a
                    GROUP BY 1,2,3
                    ORDER BY media DESC
                ) b
Parameters:
[]
8 1.34 ms
SELECT
                    COUNT(*) nao_lidos
                FROM comunicacao.mensagem men
                JOIN comunicacao.view_participantes_conversa vpc ON vpc.id_conversa = men.id_conversa AND 8694 = ANY (vpc.id_usuarios)
                LEFT JOIN comunicacao.lido USING(id_mensagem)
                WHERE men.id_usuario <> 8694
                AND id_lido IS NULL
Parameters:
[]
9 1.43 ms
SELECT
                    id_mensagem,
                    mensagem_aceita
                FROM comunicacao.mensagem_avaliacao
                WHERE 
                    id_avaliado = 676
                    AND id_modelagem = 1
                    AND id_grupo = 28
                    AND CONCAT(periodo->>'ano', periodo->>'periodo')::integer = 202602
Parameters:
[]
10 5.51 ms
SELECT
                    id
                    ,titulo
                    ,tipo
                    ,Jsonb_Agg(jsonb_build_object(ano, json)) AS json
                FROM (
                    SELECT
                        id
                        ,titulo
                        ,tipo
                        ,CASE WHEN ano_null IS NULL THEN 'ND' ELSE ano END AS ano
                        ,Jsonb_Agg(Jsonb_Build_Object('titulo', periodo_titulo, 'referencia', referencia) ORDER BY referencia) AS json
                    FROM (
                        SELECT
                            *
                        FROM (
                            SELECT
                                periodo->>'ano' AS ano
                                ,periodo->>'tipo' AS tipo_periodo
                                ,periodo->>'periodo' AS periodo
                            FROM (
                                SELECT DISTINCT
                                    periodo
                                FROM
                                    dados.evs
                                WHERE TRUE
                                AND
                                     id_modelagem = 1 AND id_programa = 1
                                     AND id_avaliado = 676 
                                    -- 
                            ) a
                        ) b
                        JOIN (
                            SELECT
                                CASE WHEN ano IS NULL THEN p.titulo->>'pt_BR' ELSE ano::text END AS ano
                                ,ano AS ano_null
                                ,CASE WHEN referencia_coluna_periodo = 'mes' THEN periodo.referencia(p.titulo->>'pt_BR') ELSE p.titulo->>'pt_BR' END AS periodo
                                ,p.titulo->>'pt_BR' AS periodo_titulo
                                ,referencia_coluna_periodo AS tipo_periodo
                                ,p.id_categoria_periodo AS id
                                ,cp.titulo->>'pt_BR' AS titulo
                                ,p.id_periodo AS id_periodo
                                ,CASE WHEN referencia_coluna_periodo = 'mes' THEN periodo.referencia(p.titulo->>'pt_BR') ELSE p.titulo->>'pt_BR' END AS referencia
                                ,tipo
                            FROM
                                periodo.periodo p
                                JOIN periodo.categoria_periodo cp USING(id_categoria_periodo)
                        ) c USING(ano, periodo, tipo_periodo)
                    ) a
                    GROUP BY 1,2,3,4
                    ORDER BY id, ano ASC
                ) b
                GROUP BY 1,2,3
Parameters:
[]
11 3.28 ms
SELECT 
                 202602::integer periodo
                ,id_grupo
                ,nome_grupo
                ,id_modelagem
                ,nome_modelagem
                ,id_programa
                ,nome_programa
                ,COALESCE(valor, 0) AS valor
                ,COALESCE(performance_qualidade, 0) AS performance_qualidade
                ,COALESCE(performance_custo, 0) AS performance_custo
                ,peso_qualidade * 100 AS peso_qualidade
                ,peso_custo * 100 AS peso_custo
                ,0::integer diferenca
            FROM
                dados.evs
			WHERE
                Concat(periodo->>'ano',periodo->>'periodo')::integer = :periodo
                AND id_avaliado = :id_avaliado
                AND id_grupo = :id_grupo
                AND id_programa = :id_programa
                AND id_modelagem = :id_modelagem
Parameters:
[
  ":periodo" => 202602
  ":id_avaliado" => 676
  ":id_programa" => 1
  ":id_modelagem" => 1
  ":id_grupo" => 28
]
12 4.17 ms
SELECT
                *
                ,(Jsonb_Agg(a) FILTER(WHERE id_avaliado = :id_avaliado) OVER())->0 json_avaliado
            FROM (
                SELECT
                     id_avaliado
                    ,CASE WHEN id_avaliado = :id_avaliado THEN nome_avaliado ELSE NULL END nome_avaliado
                    ,ROUND(performance_custo, 2) performance_custo
                    ,ROUND(performance_qualidade, 2) performance_qualidade
                    ,ROUND(valor, 2) evs
                FROM
                    dados.evs
                WHERE
                    id_programa = :id_programa
                    AND id_modelagem = :id_modelagem
                    AND id_grupo = :id_grupo
                    AND Concat(periodo->>'ano',periodo->>'periodo')::int = :periodo
                    AND periodo->>'tipo' = 'mes'
            ) a
Parameters:
[
  ":id_avaliado" => 676
  ":id_programa" => 1
  ":id_modelagem" => 1
  ":id_grupo" => 28
  ":periodo" => 202602
]
13 4.46 ms
SELECT 
                *
                ,((performance_qualidade * peso_qualidade) + (performance_custo * peso_custo)) * 0.05 AS valor
                ,(SELECT master.titulo FROM modelagem.grupo JOIN modelagem.grupo master ON(grupo.master = master.id_grupo) WHERE grupo.id_grupo = :id_grupo) tipo
                ,0::integer diferenca
            FROM (
                SELECT 
                     202602::integer periodo
                    ,id_grupo
                    ,nome_grupo
                    ,AVG(performance_qualidade) AS performance_qualidade
                    ,AVG(performance_custo) AS performance_custo
                    ,AVG(peso_qualidade) AS peso_qualidade
                    ,AVG(peso_custo) AS peso_custo
                FROM
                    dados.evs
                WHERE
                    Concat(periodo->>'ano',periodo->>'periodo')::int = 202602
                    AND id_modelagem = :id_modelagem
                    AND id_grupo = :id_grupo
                    
                GROUP BY
                    1,2,3
            ) a
Parameters:
[
  ":id_modelagem" => 1
  ":id_grupo" => 28
]
14 6.42 ms
WITH _modelagem AS (
                SELECT
                    ms.id_modelagem
                    ,ms.id_grupo
                    ,ms.peso
                    ,mi.id_indicador
                    ,mi.titulo nome_indicador
                    ,mi.unidade unidade_indicador
                    ,md.id_dominio
                    ,md.titulo nome_dominio
                    ,md.ordem
                    ,it.layout indicador_componente_detalhe
                    ,mi.calculo->>'decimais' as decimais
                FROM
                    modelagem.scorecard ms
                    JOIN modelagem.indicador mi USING(id_indicador)
                    JOIN modelagem.indicador_tipo it USING(id_indicador_tipo)
                    JOIN modelagem.dominio md USING(id_dominio)
                WHERE
                    ms.id_modelagem = :id_modelagem
                    AND ms.id_grupo = :id_grupo
                    AND :periodo BETWEEN ms.inicio AND ms.fim
            ), _calculo AS (
                SELECT ms.*, dc.valor, dc.performance, dc.id_avaliado, dc.banda, dc.texto_nd FROM _modelagem ms LEFT JOIN (
                    SELECT DISTINCT ON(id_indicador)
                         dc.id_indicador
                        , dc.id_avaliado
                        , dados->'resultado'->>'banda' banda
                        , dados->'resultado'->>'txt' texto_nd
                        , Avg(dc.valor) OVER(PARTITION BY id_indicador) valor
                        , Avg(dc.performance) OVER(PARTITION BY id_indicador) performance
                    FROM
                        dados.calculo dc
                    WHERE
                        Concat(periodo->>'ano', periodo->>'periodo')::integer = :periodo
                        AND dc.id_modelagem = :id_modelagem
                        AND dc.id_grupo = :id_grupo
                        AND dc.id_avaliado = :id_avaliado
                        
                ) dc USING(id_indicador)
            )
            SELECT nome_dominio, Jsonb_Agg(c) dados FROM _calculo c GROUP BY nome_dominio, ordem ORDER BY ordem
Parameters:
[
  ":id_avaliado" => 676
  ":id_modelagem" => 1
  ":id_grupo" => 28
  ":periodo" => 202602
]
15 10.71 ms
WITH _modelagem AS (
                SELECT
                    ms.id_modelagem
                    ,ms.id_grupo
                    ,ms.peso
                    ,mi.id_indicador
                    ,mi.titulo nome_indicador
                    ,mi.unidade unidade_indicador
                    ,md.id_dominio
                    ,md.titulo nome_dominio
                    ,md.ordem
                    ,it.layout indicador_componente_detalhe
                    ,mi.calculo->>'decimais' as decimais
                FROM
                    modelagem.scorecard ms
                    JOIN modelagem.indicador mi USING(id_indicador)
                    JOIN modelagem.indicador_tipo it USING(id_indicador_tipo)
                    JOIN modelagem.dominio md USING(id_dominio)
                WHERE
                    ms.id_modelagem = :id_modelagem
                    AND ms.id_grupo = :id_grupo
            ), _calculo AS (
                SELECT ms.*, dc.valor, dc.performance, dc.id_grupo FROM _modelagem ms LEFT JOIN (
                    SELECT DISTINCT ON(id_indicador)
                         dc.id_indicador
                        , dc.id_grupo
                        , Avg(dc.valor) OVER(PARTITION BY id_indicador) valor
                        , Avg(dc.performance) OVER(PARTITION BY id_indicador) performance
                    FROM
                        dados.calculo dc
                    WHERE
                        Concat(periodo->>'ano', periodo->>'periodo')::integer = :periodo
                        AND dc.id_modelagem = :id_modelagem
                        AND dc.id_grupo = :id_grupo
                        
                ) dc USING(id_indicador)
            )
            SELECT * FROM _calculo c
Parameters:
[
  ":id_modelagem" => 1
  ":id_grupo" => 28
  ":periodo" => 202602
]

benchmark connection

No database queries were performed.

Database Connections

Name Service
default doctrine.dbal.default_connection
cliente doctrine.dbal.cliente_connection
benchmark doctrine.dbal.benchmark_connection

Entity Managers

Name Service
default doctrine.orm.default_entity_manager
cliente doctrine.orm.cliente_entity_manager
benchmark doctrine.orm.benchmark_entity_manager

Second Level Cache

Second Level Cache is not enabled.

Entities Mapping

default entity manager

Class Mapping errors
App\Entity\Painel\UsuarioLog No errors.
App\Entity\Painel\ClienteUsuario No errors.
App\Entity\Painel\SSO No errors.
App\Entity\Painel\Passwordless No errors.
App\Entity\Painel\Usuario No errors.
App\Entity\Painel\Visao No errors.
App\Entity\Painel\Cliente No errors.
App\Entity\Painel\Perfil No errors.
App\Entity\Painel\UsuarioAcesso No errors.
App\Entity\Painel\LogSenha No errors.
App\Entity\Painel\Tipo No errors.

cliente entity manager

Class Mapping errors
App\Entity\Cliente\Acesso\UsuarioLog
  • The association App\Entity\Cliente\Acesso\UsuarioLog#usuario refers to the inverse side field App\Entity\Cliente\Acesso\Usuario#usuarioLog which does not exist.
App\Entity\Cliente\Acesso\Usuario
  • The association App\Entity\Cliente\Acesso\Usuario#avaliado refers to the inverse side field App\Entity\Cliente\Modelagem\Avaliado#avaliado which does not exist.
App\Entity\Cliente\Modelagem\Avaliado
  • The mappings App\Entity\Cliente\Modelagem\Avaliado#login and App\Entity\Cliente\Acesso\Usuario#avaliado are inconsistent with each other.
App\Entity\Cliente\Modelagem\Modelagem No errors.
App\Entity\Cliente\Modelagem\Programa No errors.
App\Entity\Cliente\Dados\Evs No errors.
App\Entity\Cliente\Fornecidos\DadosEnviados No errors.
App\Entity\Cliente\Fornecidos\Solicitacao No errors.
App\Entity\Cliente\Comunicacao\MensagemAvaliacao No errors.
App\Entity\Cliente\Comunicacao\Conversa
  • The field App\Entity\Cliente\Comunicacao\Conversa#mensagens is on the inverse side of a bi-directional relationship, but the specified mappedBy association on the target-entity App\Entity\Cliente\Comunicacao\Mensagem#conversa does not contain the required 'inversedBy="mensagens"' attribute.
  • The field App\Entity\Cliente\Comunicacao\Conversa#participantes is on the inverse side of a bi-directional relationship, but the specified mappedBy association on the target-entity App\Entity\Cliente\Comunicacao\Participantes#conversa does not contain the required 'inversedBy="participantes"' attribute.
App\Entity\Cliente\Acesso\Equipe
  • The association App\Entity\Cliente\Acesso\Equipe#gestor refers to the owning side field App\Entity\Cliente\Acesso\Usuario#id_usuario which is not defined as association, but as field.
  • The association App\Entity\Cliente\Acesso\Equipe#gestor refers to the owning side field App\Entity\Cliente\Acesso\Usuario#id_usuario which does not exist.
  • The association App\Entity\Cliente\Acesso\Equipe#avaliado refers to the owning side field App\Entity\Cliente\Modelagem\Avaliado#id_avaliado which does not exist.
App\Entity\Cliente\Acesso\Perfil No errors.
App\Entity\Cliente\Modelagem\AvaliadoTipo No errors.
App\Entity\Cliente\Modelagem\Avaliacao No errors.
App\Entity\Cliente\Comunicacao\Mensagem
  • The association App\Entity\Cliente\Comunicacao\Mensagem#conversa refers to the owning side field App\Entity\Cliente\Comunicacao\Conversa#id_conversa which is not defined as association, but as field.
  • The association App\Entity\Cliente\Comunicacao\Mensagem#conversa refers to the owning side field App\Entity\Cliente\Comunicacao\Conversa#id_conversa which does not exist.
  • The association App\Entity\Cliente\Comunicacao\Mensagem#usuario refers to the owning side field App\Entity\Cliente\Acesso\Usuario#id_usuario which is not defined as association, but as field.
  • The association App\Entity\Cliente\Comunicacao\Mensagem#usuario refers to the owning side field App\Entity\Cliente\Acesso\Usuario#id_usuario which does not exist.
App\Entity\Cliente\Comunicacao\Participantes
  • The association App\Entity\Cliente\Comunicacao\Participantes#conversa refers to the owning side field App\Entity\Cliente\Comunicacao\Conversa#id_conversa which is not defined as association, but as field.
  • The association App\Entity\Cliente\Comunicacao\Participantes#conversa refers to the owning side field App\Entity\Cliente\Comunicacao\Conversa#id_conversa which does not exist.
  • The association App\Entity\Cliente\Comunicacao\Participantes#usuario refers to the owning side field App\Entity\Cliente\Acesso\Usuario#id_usuario which is not defined as association, but as field.
  • The association App\Entity\Cliente\Comunicacao\Participantes#usuario refers to the owning side field App\Entity\Cliente\Acesso\Usuario#id_usuario which does not exist.
App\Entity\Cliente\Periodo\Periodo No errors.
App\Entity\Cliente\Dados\Scorecard No errors.

benchmark entity manager

No loaded entities.