| Data de elaboração | 21/03/2024 |
| Responsável pelo estudo | Alexandre dos Santos Freire Ferreira |
| Equipe do estudo | MIB |
| Alvo | eSocial Pro |
| Origem | Implementação |
| Objetivo | Avaliar forma de implementar gerenciamento de mudanças nos dados provenientes das fontes de iportação (Governa, E-Estado e Planilhas). |
| Observações | Funcionalidade necessária devido ao fato de não existir esse controle no Governa. |
Com o objetivo de assegurar a integridade e a precisão dos dados manipulados pelo sistema eSocial Pro, torna-se crucial a implementação de um mecanismo eficaz para gerenciamento de mudanças nos dados provenientes das fontes de importação, tais como Governa, E-Estado e Planilhas. Este estudo visa explorar e detalhar a lógica desenvolvida para identificar modificações nos registros de admissão, garantindo que atualizações relevantes sejam adequadamente tratadas pelo sistema.
A funcionalidade de identificação de modificações foi implementada para monitorar e classificar eventos de admissão com base em alterações nos dados dos trabalhadores e seus vínculos. O código abaixo exemplifica o processo de determinação da classificação do evento de origem da admissão, conforme as mudanças detectadas:
// Lógica para identificar modificações
var listaExistente = await this.admissaoRepositorio.BuscarRegistrosPorMatricula(numeroInscricao, admissao.Matricula);
var admissaoModelExistente = listaExistente
.Where(e => !(e.StatusEvento.GetType() == typeof(RejeitadoBLL) ||
e.StatusEvento.GetType() == typeof(AlteradoBLL) ||
e.StatusEvento.GetType() == typeof(ExcluidoBLL) ||
(e.StatusEvento.GetType() == typeof(AceitoBLL) && e.TipoEvento == TipoEvento.Exclusao)))
.FirstOrDefault();
if (admissaoModelExistente == null)
{
admissao.ClassificacaoEventoOrigem = 2200;
}
else
{
string jsonTrabalhadorNovo = JsonConvert.SerializeObject(admissao.Trabalhador, serializerSettings);
string jsonTrabalhadorAntigo = JsonConvert.SerializeObject(admissaoModelExistente.Trabalhador, serializerSettings);
string jsonVinculoNovo = JsonConvert.SerializeObject(admissao.Vinculo, serializerSettings);
string jsonVinculoAntigo = JsonConvert.SerializeObject(admissaoModelExistente.Vinculo, serializerSettings);
if (admissaoModelExistente.Vinculo != null && jsonVinculoAntigo.GetMD5() != jsonVinculoNovo.GetMD5())
admissao.ClassificacaoEventoOrigem = 2206;
if (admissaoModelExistente.Trabalhador != null && jsonTrabalhadorAntigo.GetMD5() != jsonTrabalhadorNovo.GetMD5())
admissao.ClassificacaoEventoOrigem = 2205;
}
Nesta implementação, a variável admissao.ClassificacaoEventoOrigem é atribuída com base nas diferenças encontradas entre os dados atuais e anteriores do trabalhador e do vínculo. Se não houver registro anterior para comparação (admissaoModelExistente == null), a classificação padrão 2200 é atribuída, indicando uma nova admissão sem histórico de modificações relevantes.
A introdução dessa lógica possibilita uma gestão mais eficiente das mudanças nos dados importados para o eSocial Pro. Ao classificar adequadamente os eventos de admissão com base em modificações significativas, o sistema pode priorizar a revisão e validação dessas informações, garantindo a conformidade com as normativas do eSocial e a qualidade dos dados reportados.
A implementação do gerenciamento de mudanças nos dados provenientes das fontes de importação se mostra essencial para fortalecer a governança de dados no contexto do eSocial Pro. Ao adotar uma abordagem proativa na identificação e tratamento de alterações nos registros de admissão, a plataforma não apenas melhora a precisão das informações transmitidas, mas também aumenta a confiabilidade e a transparência de todo o processo de gerenciamento de eventos trabalhistas.