Essa é uma revisão anterior do documento!
Validação final e ocorrências
1. Objetivo
O objetivo da tarefa é consolidar, validar e apresentar as informações produzidas pelas etapas anteriores do processo de Aposentadoria Civil, tratar eventuais ocorrências e permitir ao usuário decidir se o preenchimento deve ser concluído ou retornar para correção. A tarefa divide essa responsabilidade em duas partes:
Etapa 1
Apresentar uma visão consolidada das informações relevantes do processo para conferência.
Etapa 2
Apresentar as ocorrências, permitir o preenchimento das respectivas justificativas e definir o encaminhamento:
Concluir preenchimento e enviar ao TCE ou Retornar nos formulários para alteração
Além disso, a tarefa utiliza uma integração de consulta das variáveis do vínculo BPM. Essa integração recupera as variáveis do fluxo e armazena a coleção na variável todasVariaveis.
Na segunda etapa, a função:
buscaVariaveisFluxo_e_enviarDados()
percorre:
model.todasVariaveis
2. Regras de Negócio
RN01 - A tarefa possui duas etapas
O JSON estabelece:
steps = 2
A primeira etapa corresponde ao resumo/conferência e a segunda às ocorrências e decisão de encaminhamento.
RN02 - Etapa 1 é somente leitura
Todos os campos de negócio da primeira etapa estão com:
readonly = true
Assim, essa etapa é utilizada para visualização/conferência, não para alteração direta dos dados.
RN03 - Ocorrências são apresentadas em tabela
Na segunda etapa existe:
Variável da tabela: tab_criticas5A2
Título: Ocorrências.
Seus campos são:
- Código;
- Descrição;
- Justificativa
RN04 - Código e descrição da ocorrência não são editáveis
Os campos:
col_codigoCritica
col_descCritica
possuem readonly=true.
Já:
col_justificativa
é editável.
RN05 - Encaminhamento é obrigatório
Na segunda etapa, o campo:
bt_comoDesejaProsseguir
é definido como:
required = true (Terefa aberta)
Portanto, o usuário deve indicar como deseja prosseguir.
RN06 - Existem dois possíveis encaminhamentos
| Valor | Opção |
|---|---|
| 1 | Concluir preenchimento e enviar ao TCE |
| 2 | Retornar nos formulários para alteração |
RN07 - Retorno direcionado
O campo sel_etapaRetorno disponibiliza quatro destinos:
| Valor | Etapa |
|---|---|
| 1 | Dados básicos |
| 2 | Dados do fundamento jurídico |
| 3 | Dados do histórico funcional |
| 4 | Documentos de formalização |
RN08 - Ocorrências não podem ser adicionadas/removidas manualmente
A função:
ocultaBotao_excluir_e_add_tab_criticas5A2()
oculta os botões de remoção das linhas e também:
add_tab_criticas5A2
Logo, a interface não permite ao usuário adicionar ou remover ocorrências manualmente por esses controles.
3. Todas as variáveis
3.1 Etapa 1 - Identificação
| Key | Campo/Título | Tipo | Cols | Obrig. | Readonly |
|---|---|---|---|---|---|
nomeOrgao | Órgão/Entidade | input | 12 | Não | Sim |
cpfServidor | CPF do servidor | input-cpf | 4 | Não | Sim |
nomeServidor | Nome do servidor | input | 8 | Não | Sim |
desc_motivoAposentadoria | Motivo da aposentadoria | input | 6 | Não | Sim |
nomeCargoAposentadoria | Descrição completa do cargo da aposentadoria | input | 6 | Não | Sim |
3.2 Etapa 1 - Fundamento jurídico
| Key | Campo/Título | Tipo | Cols | Obrig. | Readonly | Rows |
|---|---|---|---|---|---|---|
dispLegalSimplif | Regra aplicada | textarea | 12 | Não | Sim | 4 |
descFundamLegalSimplif | Descrição resumida | textarea | 12 | Não | Sim | 4 |
descFundamLegalCompleto | Detalhamento dos requisitos | textarea | 12 | Não | Sim | 4 |
dispLegalCompletoAposent_op | Fundamentação legal consolidada | textarea | 12 | Não | Sim | 4 |
3.3 Etapa 1 - Datas e tempos
| Key | Título | Tipo | Cols | Readonly |
|---|---|---|---|---|
dataEfetExercCargoInicial | Data do efetivo exercício no cargo de ingresso | input | 6 | Sim |
dataFimTempoContribServico | Data do fim da apuração do tempo de contribuição/serviço | input | 6 | Sim |
tempoCargoAposen | Tempo no cargo da aposentadoria | input | 6 | Sim |
tempoCondicaoSegDeficienciaConversao | Tempo na condição de pessoa com deficiência após conversão | input | 6 | Sim |
tempoCondicoesEspeciasConversao1 | Tempo em atividades sob condições especiais após conversão | input | 6 | Sim |
totalTempoServPublico | Total de tempo de serviço público | input | 6 | Sim |
totalTempoContrbServ | Total de tempo de contribuição/serviço | input | 6 | Sim |
Nenhum desses campos é obrigatório na configuração da etapa.
Regra condicional
Os campos:
tempoCondicaoSegDeficienciaConversao
tempoCondicoesEspeciasConversao1
são exibidos quando:
model.cod_motivoAposentadoria == '5'
3.4 Etapa 1 - Tabela de atos de concessão
| Key | Título | Tipo | Cols | Obrig. | Readonly |
|---|---|---|---|---|---|
tab_atoAposentadoria | Ato(s) de concessão da aposentadoria | table-editable | 12 | Não | Sim |
col_numAto | Número/ano do ato | input | 3 | Não | Sim |
col_dataAto | Data do ato | input-date | 3 | Não | Sim |
col_dataPublicacao | Data da publicação | input-date | 3 | Não | Sim |
3.5 Etapa 1 - Ato de fixação de proventos
| Key | Título | Tipo | Cols | Obrig. | Readonly |
|---|---|---|---|---|---|
tab_atoFixProventos | Ato de fixação de proventos | table-editable | 12 | Não | Sim |
col_numAnoAto | Número/ano do ato | input | 6 | Não | Sim |
3.6 Etapa 1 - Variáveis ocultas
| Key | Utilização |
|---|---|
proporcaoProventos | Proporção dos proventos |
baseCalcProventos | Base de cálculo |
padraoRemuneratorio | Padrão remuneratório |
retornoServCriticas | Retorno relacionado às críticas |
numMatricula | Matrícula |
cod_motivoAposentadoria | Código do motivo |
processo_cdVinculo | Vínculo BPM |
todasVariaveis | Coleção das variáveis recuperadas do fluxo |
Destaque: todasVariaveis
Esta variável merece tratamento especial na documentação.
A integração Busca todas variáveis do fluxo possui retorno:
value = array
name = todasVariaveis
Na etapa 2, buscaVariaveisFluxo_e_enviarDados() percorre a coleção utilizando:
model.todasVariaveis[r].name
model.todasVariaveis[r].value
para tratar as variáveis recuperadas durante a conclusão.
3.7 Etapa 2 - Ocorrências
| Key | Título | Tipo | Cols | Obrig. | Readonly | Observação |
|---|---|---|---|---|---|---|
tab_criticas5A2 | Ocorrências | table-editable | 12 | Não | Não | Tabela principal de ocorrências |
col_codigoCritica | Código | input | 2 | Não | Sim | Código da ocorrência |
col_descCritica | Descrição | textarea | 6 | Não | Sim | Descrição da ocorrência |
col_justificativa | Justificativa | textarea | 3 | Não | Não | Campo editável pelo usuário |
Mensagem quando não há ocorrência
A etapa possui msg_ocorrecias, um componente paragraph, cuja mensagem informa explicitamente que nenhuma ocorrência foi identificada até o momento e que outras verificações ocorrerão posteriormente na fiscalização do TCE-GO.
3.8 Etapa 2 - Decisão/encaminhamento
| Key | Título | Tipo | Cols | Obrigatório | Readonly |
|---|---|---|---|---|---|
bt_comoDesejaProsseguir | Como deseja prosseguir? | radios | 4 | Sim | Não |
sel_etapaRetorno | Selecione a etapa para retorno | select | 4 | Não | Não |
bt_comoDesejaProsseguir
1 = Concluir preenchimento e enviar ao TCE
2 = Retornar nos formulários para alteração
sel_etapaRetorno
1 = Dados básico
2 = Dados do fundamento jurídico
3 = Dados do histórico funcional
4 = Documentos de formalização
3.9 Etapa 2 - Variáveis auxiliares/PDF
| Key | Tipo | Readonly | Observação |
|---|---|---|---|
sel_etapaRetorno_pdf | input | Sim | Auxiliar de geração/exibição em PDF |
tab_criticas5A2_pdf | input | Sim | Auxiliar de exibição das ocorrências no PDF |
msg_ocorrecias_pdf | input | Sim | Auxiliar da mensagem de ausência de ocorrência |
Esses campos são ocultados da tela e do próprio PDF por suas condições de exibição, funcionando como variáveis auxiliares de controle.
3.10 Etapa 2 - Campos ocultos
O agrupador Campos Ocultos da segunda etapa contém:
| Key | Finalidade |
|---|---|
dataHoraInfoSobreApostila | Data/hora vinculada às informações da apostila |
nomeRespAssApostila | Nome do responsável relacionado à apostila |
processoTceHub | Variável de processo relacionada ao TCE Hub |
4. Integrações
Considerando as duas etapas, existem duas integrações distintas.
4.1 Busca todas variáveis do fluxo
| Propriedade | Valor |
|---|---|
| Nome | Busca todas variáveis do fluxo |
| Evento | click |
| Elemento | cpfServidor |
| Serviço | SolarBPM - Consulta todas variáveis 2 |
| Operação | GET_/bpm-server-adm/bindings/{cdVinculo}/variables |
| Send Model | false |
Finalidade correta
A finalidade principal dessa integração é recuperar as variáveis existentes na instância BPM e preencher todasVariaveis como array, além dos retornos individualmente mapeados.
A segunda etapa possui a função:
buscaVariaveisFluxo_e_enviarDados()
Ela verifica a quantidade de registros em:
model.todasVariaveis.length
e percorre cada item através de:
model.todasVariaveis[r].name
model.todasVariaveis[r].value
Portanto, a consulta de todasVariaveis participa da rotina de conclusão do formulário, e não deve ser documentada simplesmente como uma integração destinada a carregar visualmente os campos readonly da aba 1.
4.2 Nome responsável apostila (no SIAP 2.0 a utilidade desta integração foi removida)
Esta integração pertence à segunda etapa.
| Propriedade | Valor |
|---|---|
| Nome | Nome responsável apostila |
| Evento | load |
| Serviço | cpa-core-backend |
| Operação | POST_/s/integracao-fd/consulta-usuario-logado |
| Send Model | false |
Entre os retornos configurados estão:
- dataHoraInfoSobreApostila;
- nomeRespAssApostila;
- tab_criticas5A2;
- bt_comoDesejaProsseguir;
- sel_etapaRetorno;
- variáveis auxiliares de PDF.
O mapeamento explícito:
nmUsuario → nomeRespAssApostila
recupera o nome do usuário para nomeRespAssApostila.
5. Botões
Etapa 1
Prosseguir para próxima aba
| Propriedade | Valor |
|---|---|
| Key | submit_1 |
| Tipo | submit |
| Título | Prosseguir para próxima aba |
| Função | formFunctions.nextStep |
Botão técnico de carregamento
| Propriedade | Valor |
|---|---|
| Key | btn_load |
| Tipo | button |
| Exibição | false |
| Função | carregaDadosIniciais |
Etapa 2
Voltar para aba anterior
Key: btn_3
Função: formFunctions.previousStep
Retorna para a primeira etapa.
Salvar
Key: btn_salvar
Função: formFunctions.saveDraft
Concluir formulário
Key: submit_1
Tipo: submit
Função: finalizarTarefa
Botão técnico btn_load
Key: btn_load
Função: carregaDadosIniciais
showCondition: false
6. Principais Regras de Negócio
RN-VFO-01 - Conferência antes da decisão
A tarefa separa a conferência dos dados, na etapa 1, da análise das ocorrências e decisão de encaminhamento, na etapa 2.
RN-VFO-02 - Ocorrências protegidas contra alteração estrutural
Código e descrição são readonly e a função ocultaBotao_excluir_e_add_tab_criticas5A2() remove da interface os controles para adicionar/remover ocorrências.
RN-VFO-03 - Justificativa é editável
A coluna col_justificativa é o campo editável da tabela de ocorrências.
RN-VFO-04 - Decisão obrigatória
bt_comoDesejaProsseguir possui required=true.
RN-VFO-05 - Retorno selecionável
Caso o fluxo de decisão seja de retorno para alteração, o formulário disponibiliza sel_etapaRetorno com quatro destinos configurados.
RN-VFO-06 - Validação antes da conclusão
finalizarTarefa() executa Class_ocultaCampos() e interrompe o processamento quando identifica campos inválidos, exibindo alerta:
Existem campos com valores inválidos.
RN-VFO-07 - Preparação para PDF
Antes da sequência de conclusão, finalizarTarefa() chama:
pdf_decideMostrarOuNaoNoPDF(form, model, context);
a {
text-decoration: none; color: #464feb;
} tr th, tr td {
border: 1px solid #e6e6e6;
} tr th {
background-color: #f5f5f5;
}
7. Principais funções JavaScript
7.1 Etapa 1
A primeira etapa possui 5 funções.
| Função | Finalidade |
|---|---|
concatenacao() | Acrescenta a unidade “anos” a tempoMinContribServ conforme condição implementada |
carregaDadosIniciais() | Executa a inicialização |
onLoadFuncao() | Inicializa ajustes de interface e botão técnico |
ajustaTamanhoTabelas() | Realiza ajustes CSS de tabelas referenciadas |
acionaIntegracaoBuscaTodasVariaveis() | Dispara o mecanismo associado à consulta das variáveis do fluxo |
7.2 Etapa 2
A segunda etapa possui um conjunto mais amplo de funções, incluindo:
| Função | Finalidade |
|---|---|
retornaForm1() | Rotina relacionada ao retorno de formulário |
onLoadFuncao() | Inicialização da segunda etapa |
carregaCriticas() | Tratamento/carregamento das ocorrências |
limpaSelecaoEtapaRetorno() | Limpa seleção da etapa de retorno |
Class_ocultaCampos() | Controla visibilidade/obrigatoriedade e validação de campos |
ocultaShow_atencao() | Controla exibição do alerta |
ocultaBotao_excluir_e_add_tab_criticas5A2() | Oculta controles de inclusão/exclusão da tabela de ocorrências |
carregaDadosIniciais() | Realiza inicialização dos dados da aba |
removerLinhas() | Rotina para remoção/tratamento de linhas |
ocultaTabelaOcorrencias() | Controla visibilidade da tabela de ocorrências |
finalizarTarefa() | Coordena validação e conclusão do formulário |
pdf_decideMostrarOuNaoNoPDF() | Controla quais elementos serão apresentados no PDF |
exibeAlerta() | Exibe mensagens de validação |
escondeAlerta() | Oculta mensagens |
dataFinalizacaoTarefa() | Rotina relacionada à data de finalização |
variaveisParaBusca_NAO_USADO() | Implementação identificada explicitamente como não utilizada |
buscaVariaveisFluxo_e_enviarDados_DESATIVADO() | Versão explicitamente identificada como desativada |
variaveisParaBusca() | Prepara variáveis para o processamento |
buscaVariaveisFluxo_e_enviarDados() | Percorre todasVariaveis e trata os valores recuperados para a sequência de conclusão |
iniciaPropriedadesForm() | Inicializa propriedades e controles do formulário |
Função crítica: buscaVariaveisFluxo_e_enviarDados()
Essa é uma das funções centrais da segunda etapa.
Ela utiliza:
model.todasVariaveis.length
a {
text-decoration: none; color: #464feb;
} tr th, tr td {
border: 1px solid #e6e6e6;
} tr th {
background-color: #f5f5f5;
}
e, para cada registro:
model.todasVariaveis[r].name
model.todasVariaveis[r].value
a {
text-decoration: none; color: #464feb;
} tr th, tr td {
border: 1px solid #e6e6e6;
} tr th {
background-color: #f5f5f5;
}
O código trata diferentes variáveis do processo, incluindo estruturas tabulares, e monta objetos a partir dos valores recuperados.
8. Auditoria
Campos auditados: key e título
Neste ponto é importante separar consulta das informações já auditadas no processo de registro de nova auditoria nesta tarefa.
Na implementação da etapa 2, o código de buscaVariaveisFluxo_e_enviarDados() identifica e manipula estruturas provenientes de todasVariaveis, inclusive uma estrutura denominada no código como tabelaRelacoes. Entretanto, as chamadas encontradas para preencheInformacoesAlteradas() aparecem comentadas no código apresentado.
Assim, **não é seguro afirmar que a tarefa 5A2 registra novos campos em tab_relacoesInfoalteradas ** apenas com base nessa implementação.
Campos efetivamente editáveis nesta tarefa
| Key | Título | Natureza |
|---|---|---|
col_justificativa | Justificativa | Campo editável da ocorrência |
bt_comoDesejaProsseguir | Como deseja prosseguir? | Decisão do usuário |
sel_etapaRetorno | Selecione a etapa para retorno | Destino do retorno |
Importante: esses são os campos editáveis/de decisão da tarefa. O JSON analisado **não demonstra de forma explícita que eles sejam gravados emtab_relacoesInfoalteradas **. Por isso, não devem ser classificados automaticamente como “campos auditados” nessa variável.