Ir para o conteúdo principal

Divergências na exibição das frequências no portal do servidor

Data de elaboração

05/04/2022

Responsável pelo estudo

José Lucas da Silva Costa


Equipe do estudo

João Pedro Rocha Brito

Carlos Eduardo Carvalho do Viso
Daniel Ribeiro Camboim de Oliveira
José Henrique dos Santos Nogueira

Alvo Portal do Servidor
Origem

Questionamentos levantados pelo Product Owner sobre divergência das frequências registradas no SIF que estariam sendo apresentadas no e-Estado. 

Objetivo

Revisar o Portal do Servidor e tentar encontrar as fontes das frequências que estão sendo exibidas, buscando ampliar o conhecimento desta integração.
Documentação Correlata Sem documentação.

Observações

Sem observações.


1. Glossário de termos


  1. API Application Programming Interface (interface de Programação de Aplicações).
  2. CDS - Cargo de Direção Superior.
  3. ELASTICSEARCH - é um mecanismo de pesquisa e análise de código aberto distribuído.
  4. IP - Internet Protocol (protocolo de rede).
  5. KPIs - Key Performance Indicators - são os Indicadores-Chave de Desempenho observados por um negócio.
  6. KIBANA - Plugin de visualização de dados de fonte aberta para o Elasticsearch.
  7. PAF - Planejamento Anual de Férias.
  8. PPE - Plataforma de Publicação Eletrônica.
  9. RH - Recursos Humanos.
  10. SID - Sistema Integrado de Descanso.

2. Introdução


A integração entre sistemas é uma abordagem comumente adotada para otimizar e facilitar o gerenciamento de informações em diversas áreas. No caso específico do Governo do Estado de Rondônia, onde o sistema SIF (Sistema de Frequências) é utilizado para acompanhar a frequência dos servidores, a integração com o portal do servidor é uma maneira eficiente de fornecer aos funcionários acesso imediato aos seus registros de ponto.

No entanto, a ocorrência de divergências entre as informações apresentadas pelo SIF e pelo portal do servidor está trazendo uma série de problemas e complicações. Essas divergências podem surgir devido a várias razões, como falhas no processo de integração, inconsistências nos dados armazenados nos sistemas, erros humanos ou até mesmo problemas técnicos. Independentemente da causa, as consequências dessas divergências podem ter impactos significativos tanto para os servidores quanto para a administração pública. 

3. Impactos das divergências nas frequências

Alguns dos possíveis problemas decorrentes dessas divergências são:

  • Perda de confiança dos servidores: Quando um servidor público se depara com diferenças entre as informações apresentadas no SIF e no portal do servidor, isso pode gerar desconfiança e frustração. Afinal, os servidores dependem desses registros de frequência para a contabilização de suas horas trabalhadas, salários e benefícios. A falta de confiança nesses sistemas pode minar a relação entre os servidores e a administração pública, afetando o clima organizacional e comprometendo a motivação dos funcionários.
  • Desgaste operacional e retrabalho: Quando ocorrem divergências entre o SIF e o portal do servidor, é necessário investir tempo e recursos para identificar a fonte do problema e corrigi-lo. Isso pode demandar esforços consideráveis da equipe responsável pela manutenção dos sistemas, resultando em um desgaste operacional e no retrabalho necessário para resolver as inconsistências. Além disso, o tempo gasto na correção dessas divergências pode atrasar outras atividades importantes, impactando a eficiência e produtividade dos setores envolvidos.
  • Aumento de dúvida dos servidores: Quando o sistema que o RH possui acesso apresenta as frequências corretas e no portal do servidor apresenta dados diferentes ou falsos faltantes, isso pode ocasionar o servidor a abrir chamados desnecessários.

3. Desenvolvimento - Revisão do Planejamento Anual de Férias de 2022 do SID


O SID por complexidade começa seu fluxo para o planejamento anual de férias através do portal do servidor, a partir deste momento o servidor irá informar quais são os períodos deseja solicitar para suas férias, o sistema irá verificar se existem datas disponíveis ou até mesmo conflitantes. Há casos de servidores que ainda não completaram 1 ano de trabalho e não podem exercer tal direito. Visto o prosseguimento do feito, o chefe imediato tem a função de avaliar se a solicitação de férias está de acordo com interesse público, não podem haver conflitos entre servidores que exercem funções similares. Caso o período solicitado haja algum tipo de conflito poderá será reprovado pelo chefe imediato. Prosseguindo o processo, o chefe da pasta, tem a atribuição de acrescentar todas as solicitações aprovadas em bloco de assinatura para portariar. Por fim o sistema conclui todo o fluxo agendamento a publicação para homologar as férias do servidor. Vejamos o processo ilustrado graficamente a seguir:

image-1649129363213.pngFonte: SETIC/RO


3.1. Possíveis problemas

Anteriormente o SID não possuía uma ferramenta de monitoramento de falhas, acontece que para o novo PAF (Planejamento Anual de Férias) do ano de 2022 será possível realizar uma análise criteriosa dos possíveis problemas que acontecerem nesta etapa. Atualmente a SETIC conta com a integração ferramenta tecnológica do Kibana + Elasticsearch.

De acordo com o site oficial da empresa temos por definição o Kibana como:

Comece explorando seus dados com visualizações impressionantes no Kibana, desde gráficos de waffle e mapas de calor até análise de séries temporais e muito mais. Use dashboards pré-configurados para suas diversas fontes de dados, crie apresentações ao vivo para destacar KPIs e gerencie a implantação em uma única UI.

Já em outro trecho do mesmo site temos a definição conjunta do Elasticsearch:

Independentemente de você estar procurando ações de um endereço IP específico, analisando um pico nas solicitações de transação ou querendo achar uma pizzaria no raio de um quilômetro, os problemas que todos nós estamos tentando resolver com os dados se resumem à busca. O Elasticsearch permite armazenar, buscar e analisar com facilidade e em escala.

Essas ferramentas serão de grande ajuda durante o novo PAF 2022, pois ajudam a encontrar a razão de problemas de forma técnica e incisiva, categorizando melhor os problemas que são graves ou problemas menores e isolados. 

No PAF de 2021 foram feitas correções importantes para as portarias anuais, uma delas objetivou corrigir problemas de duplicidade nas portarias, os servidores envolvidos neste tipo de problema tinham seus nomes duplicados na portaria oficial da escala anual de férias e isso ocasionava uma série de problemas para os emissores deste documento.

Em decorrência do problema anterior, existiam alguns servidores que por diversas razões, não estariam presentes na portaria da escala anual de férias, estes servidores posteriormente devem ser integrados no mesmo PAF do ano corrente, acontece que o sistema não contemplava tal situação no PAF de 2021, então agora para o PAF de 2022 esperamos que tal problema não ocorra já que foi resolvido e que os servidores remanescentes consigam serem enquadrados em outra portaria com suas respectivas marcações de férias.

Os servidores com cargo de PROCURADOR se tornaram uma demanda frequente para a equipe de desenvolvimento do time TITÃS, este tipo de cargo tem direito a duas férias de 30 dias, ou seja, 60 dias totais. Acontece que grande parte dos PROCURADORES possuem outras matrículas devido as ocupações em cargos CDS (Cargo de Direção Superior).

Houve certa dificuldade da equipe em entender o que o sistema deveria fazer neste cenário, afinal de contas se um procurador tem duas matrículas, ele teria 60 dias de férias da matrícula do cargo de PROCURADOR e mais 30 dias de férias da matrícula de CDS. Em consulta ao RH da SETIC o que ficou entendido é que mesmo que ele tenha duas matrículas, as férias marcadas na matrícula do CDS deve ser colidida com um dos períodos das férias do cargo de PROCURADOR para que não excedesse 60 dias de férias.

Outro problema frequente no PAF de 2021 e também nas remarcações de férias foi a ausência de períodos nas solicitações. Isso ocasionava a existência de solicitações no banco de dados sem período e incidia em períodos de férias.

Uma situação mais crítica que pode ocasionar problemas no PAF de 2022 é a assinatura e agendamento de portarias, no ano de 2022 houveram mudanças no PPE (Plataforma de Publicação Eletrônica) que ocasionaram problemas ao SID. Esse problema foi corrigido e se espera que não ocorra mais para o ano corrente.

Visto todas as situações abordadas fica exposto a seguir o código responsável por realizar a recepção do planejamento anual vista todas as refatorações já efetuadas no SID:


[HttpPost]
public async Task<IActionResult> PostSolicitacao(ReceberSolicitacaoDto solicitacaoDTO)
{
if (solicitacaoDTO.DatasIniciaisDasFerias.Any(x => x.DataInicial.Date == DateTime.MinValue.Date))
{
return Response("Ocorreu um erro, alguma das datas informadas é inválida!");
}

var servidor = await servidorRepository.BuscarPorMatricula(solicitacaoDTO.MatriculaDoServidor);

var mensagemErro = injecaoDeDependencia.validacaoDaSolicitacaoService.ValidarServidorDaSolicitacao(servidor, solicitacaoDTO);
if (!string.IsNullOrEmpty(mensagemErro))
return Response(mensagemErro);

var quantidadeDeFeriasMarcadas = await context.Solicitacao
.Include(x => x.Servidor)
.CountAsync(x => x.Servidor.Matricula == solicitacaoDTO.MatriculaDoServidor &&
x.AnoAquisitivo == solicitacaoDTO.AnoAquisitivo &&
(x.Status == StatusDaSolicitacao.Deferida || x.Status == StatusDaSolicitacao.AguardandoHomologacao));

var podeMarcarMaisDeUmaSolicitacao = servidor.PossuiCargoDeProcurador() || servidor.PossuiCargoDeRaioX();

if (podeMarcarMaisDeUmaSolicitacao && quantidadeDeFeriasMarcadas > 1)
{
return Response("Ocorreu um erro, o servidor já possui férias marcadas nessa matrícula!");
}

if (!podeMarcarMaisDeUmaSolicitacao && quantidadeDeFeriasMarcadas > 0)
{
return Response("Ocorreu um erro, o servidor já possui férias marcadas nessa matrícula!");
}

Solicitacao solicitacao = null;
if (solicitacaoDTO.FormaDoPeriodoDeFerias == FormaDoPeriodoDeFerias.Outros.ToString())
solicitacao = SolicitacaoFactory.MontarSolicitacaoDeFeriasPendentes(
solicitacaoDTO.DatasIniciaisDasFerias.First().DataInicial,
solicitacaoDTO.QuantidadeDeDiasPendentes,
servidor,
solicitacaoDTO.AnoAquisitivo);
else
solicitacao = SolicitacaoFactory.MontarSolicitacaoParaEnviarParaHomologacao(solicitacaoDTO, servidor);

mensagemErro = await injecaoDeDependencia.validacaoDaSolicitacaoService.ValidarSolicitacao(solicitacao, solicitacaoDTO);
if (!string.IsNullOrEmpty(mensagemErro))
return Response(mensagemErro);

if (!string.IsNullOrWhiteSpace(solicitacaoDTO.CpfDoUsuarioQueHomologou))
solicitacao.Deferir(solicitacaoDTO.CpfDoUsuarioQueHomologou);

await context.Solicitacao.AddAsync(solicitacao);
context.SaveChangesAsync().Wait();

if (solicitacao.Id == 0)
return ErroContateOAdministrador();

var ehUmaEdicaoDeSolicitacao = solicitacaoDTO.Id != 0;
if (ehUmaEdicaoDeSolicitacao)
await RemoverSolicitacaoAntiga(solicitacaoDTO);

return Response("Solicitacão enviada com sucesso", solicitacao.Id);
}


3.2. Valor agregado

A revisão no processo de PAF beneficia os desenvolvedores do time TITÃS e amplia o entendimento de todos os membros do time sobre os aspectos do desenvolvimento do produto. Também beneficia os servidores em geral por melhorar a eficiência e reduzir erros dispendiosos no processo de planejamento das férias. Mais importante ainda, a revisão de código garante otimização de código de alta qualidade por meio do trabalho em equipe interno.

4. Conclusão


O presente ESTUDO TÉCNICO PRELIMINAR, elaborado pelos integrantes TÉCNICOS do time TITÃS, considerando a análise dos desafios técnicos envolvidos e citados, conclui pela VIABILIDADE DO PLANEJAMENTO ANUAL DO ANO DE 2022, uma vez que foram considerados potenciais problemas que afetem a disponibilidade do serviço. Em complemento, os contratempos identificados são administráveis, pelo que RECOMENDAMOS o prosseguimento da demanda.

5. Referências