fix: alinhar estrutura de blocos com especificacao PDF V1.0

- Backend: reorganizar blocos para A (Coord CAPES), B (Consultoria),
  C (Avaliacoes/Premiacoes), D (Indicadores), E (Coord PPG)
- Frontend: atualizar labels e formulas dos blocos
- Frontend: ajustar CSS para blocos com tamanho uniforme e quebra de linha
- Adicionar migration script para COMPONENTE_E no Oracle
This commit is contained in:
Frederico Castro
2025-12-23 21:57:43 -03:00
parent 8799a68c30
commit 26a478be05
15 changed files with 232 additions and 91 deletions

View File

@@ -0,0 +1,7 @@
-- Migration V1.1: Adicionar COMPONENTE_E (Bloco E: Coordenação PPG)
-- Data: 2025-12-23
-- Descrição: Adiciona coluna COMPONENTE_E para suportar a estrutura de 5 blocos conforme PDF V1.0
ALTER TABLE TB_RANKING_CONSULTOR ADD (COMPONENTE_E NUMBER(10,2) DEFAULT 0);
COMMENT ON COLUMN TB_RANKING_CONSULTOR.COMPONENTE_E IS 'Bloco E: Coordenação de PPG (PPG_COORD - V1: dados incompletos)';

View File

@@ -12,6 +12,7 @@ CREATE TABLE TB_RANKING_CONSULTOR (
COMPONENTE_B NUMBER(10,2) DEFAULT 0,
COMPONENTE_C NUMBER(10,2) DEFAULT 0,
COMPONENTE_D NUMBER(10,2) DEFAULT 0,
COMPONENTE_E NUMBER(10,2) DEFAULT 0,
ATIVO CHAR(1) DEFAULT 'N',
ANOS_ATUACAO NUMBER(5,1) DEFAULT 0,
DT_CALCULO TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
@@ -54,7 +55,8 @@ SELECT
AVG(COMPONENTE_A) AS MEDIA_COMP_A,
AVG(COMPONENTE_B) AS MEDIA_COMP_B,
AVG(COMPONENTE_C) AS MEDIA_COMP_C,
AVG(COMPONENTE_D) AS MEDIA_COMP_D
AVG(COMPONENTE_D) AS MEDIA_COMP_D,
AVG(COMPONENTE_E) AS MEDIA_COMP_E
FROM TB_RANKING_CONSULTOR;
-- View para distribuição por faixas de pontuação
@@ -92,11 +94,12 @@ COMMENT ON TABLE TB_RANKING_CONSULTOR IS 'Tabela de ranking pré-calculado de co
COMMENT ON COLUMN TB_RANKING_CONSULTOR.ID_PESSOA IS 'ID da pessoa no sistema AtuaCAPES';
COMMENT ON COLUMN TB_RANKING_CONSULTOR.NOME IS 'Nome completo do consultor';
COMMENT ON COLUMN TB_RANKING_CONSULTOR.POSICAO IS 'Posição no ranking (1 = primeiro lugar)';
COMMENT ON COLUMN TB_RANKING_CONSULTOR.PONTUACAO_TOTAL IS 'Pontuação total calculada (soma dos 4 componentes)';
COMMENT ON COLUMN TB_RANKING_CONSULTOR.COMPONENTE_A IS 'Pontuação do Componente A (Coordenação CAPES)';
COMMENT ON COLUMN TB_RANKING_CONSULTOR.COMPONENTE_B IS 'Pontuação do Componente B (Coordenação PPG)';
COMMENT ON COLUMN TB_RANKING_CONSULTOR.COMPONENTE_C IS 'Pontuação do Componente C (Consultoria)';
COMMENT ON COLUMN TB_RANKING_CONSULTOR.COMPONENTE_D IS 'Pontuação do Componente D (Premiações)';
COMMENT ON COLUMN TB_RANKING_CONSULTOR.PONTUACAO_TOTAL IS 'Pontuação total calculada (soma dos 5 componentes)';
COMMENT ON COLUMN TB_RANKING_CONSULTOR.COMPONENTE_A IS 'Bloco A: Coordenação CAPES (CA, CAJ, CAJ_MP, CAM)';
COMMENT ON COLUMN TB_RANKING_CONSULTOR.COMPONENTE_B IS 'Bloco B: Consultoria (CONS_ATIVO, CONS_HIST, CONS_FALECIDO)';
COMMENT ON COLUMN TB_RANKING_CONSULTOR.COMPONENTE_C IS 'Bloco C: Avaliações, Premiações, Orientações, Bancas, Inscrições';
COMMENT ON COLUMN TB_RANKING_CONSULTOR.COMPONENTE_D IS 'Bloco D: Bolsas CNPq, Participações em Eventos/Projetos';
COMMENT ON COLUMN TB_RANKING_CONSULTOR.COMPONENTE_E IS 'Bloco E: Coordenação de PPG (PPG_COORD - V1: dados incompletos)';
COMMENT ON COLUMN TB_RANKING_CONSULTOR.ATIVO IS 'Indicador se o consultor está ativo (S/N)';
COMMENT ON COLUMN TB_RANKING_CONSULTOR.ANOS_ATUACAO IS 'Anos de atuação do consultor';
COMMENT ON COLUMN TB_RANKING_CONSULTOR.DT_CALCULO IS 'Data/hora do último cálculo';