
Visão Geral
Esta documentação tem como objetivo orientar sobre o que é a funcionalidade NO DAT tanto no Clockin Mobile (app para smartphone) .
O que é o NO DAT?
O NO DAT consiste em mudanças nos aplicativos Mobile para possibilitar a melhoria do reconhecimento facial. Atualmente o processo atual de reconhecimento envolve a leitura de dados da imagem do funcionário em um arquivo de imagens com extensão "DAT" para o reconhecimento facial.
O fluxo atual do reconhecimento foi modificado para que essa leitura dos dados citados seja feita através da consulta em banco de dados dentro do próprio aplicativo (usaremos um termo chamado de hash).
Alguns pontos relevantes sobre o NO DAT:
- A versão do NO DAT estará disponível a partir de junho de 2023 e será necessário atualizar o aplicativo para a versão 12.1.23030000 ou superior;
- A atualização é facilmente feita através da loja de aplicativos (Google Play para dispositivos Android e App Store para dispositivos IOS);
- O mesmo está disponibilizado para a versão Mobile
- Com o NO DAT a Geração de DAT (generate_dat_file), será substituída pela Geração do Hashes (hash_db)
Quais são os Benefícios do NO DAT?
Ganho de velocidade e performance nas cargas iniciais e parciais dos dados. (Hashes e Employees).
- Remoção do arquivo .dat, o mesmo que causava perda de perfomance e problemas no reconhecimento facial.
- Facilidade de análise dos Hashes ativos na plataforma Carol.
App mais ágil e íntegro para a operação.
Possibilidade dos funcionários em aviso prévio realizar batidas.
Como fazer para habilitar e efetuar a geração do novo processo de geração de hashes ?
A geração dos Hashes é feita por um processo da Plataforma Carol, o processo chama-se “hash_db”, é executado segundo um agendamento realizado. Para acessar o mesmo, clica-se em Carol Apps, e depois em “TOTVS RH Clockin BackOffice”. Conforme print abaixo na Aba Process, temos o processo “hash_db”:

Após a execução do mesmos, os hashes das imagens são gerados.

Como Consultar os hashes gerados na plataforma ?
Os hashes gerados pelo NO DAT são facilmente visualizados através do DM Hashes. A consulta dos Hashes gerados é feita pelo DM Hashes. No Menu lateral esquerdo clica-se em Data Models, para escolher a opção Hashes. Segue abaixo um descritivo do que significa cada campo do Data Model Hashes:
- Image Sequence: é a sequencia de imagem do Data Model Imagem
- Source: qual é a origem do Hash. Aqui podemos ter a origem Clockin que significa que o hash veio de uma marcação. Tmbém podemos ter "hr" que significa que o hash veio de uma foto cadastrada no Cadastro de Imagens
- Sequence: é a sequencia do hash gerada para o Person ID (CPF)
- Image Code: é o Image Code (Código da Imagem) do Data Model Imagem
- Code: é o campo usado para guardar o código do dispositivo que a pessoa efetua a marcação. Esta informação permite buscar os hashes por dispositivo num primeiro momento. Então para pessoas que batem sempre no mesmo dispositivo a busca será bem mais rápida.
- PersonId: é o CPF do Funcionário
- Grouping field: é a informação do funcionário relativa ao grupo usado como separador de imagem. Ex: se o separador de imagem é o campo "mdmgroupsectioncode" então o conteudo do campo Grouped Section Code do Funcionario será gerado nesse campo.
- Active: se o funcionário está ativo ou a data de desligamento do funcionário é futura então este campo fica como Active, Caso o funcionário seja desligado a informação será atualizado como inactive. Os registros inativos são utilizados para atualização no aplicativo quando o funcionário for desligado.
- Image Hash: são os códigos gerados referente aos pontos da face. São utilizados para o reconhecimento facial
- Name: nome do funcionário
- Connector: connector de origem do registros. Como foi gerado pelo processo de HASH_DB as informações são atualizadas por esse connector no Clockin.
- Created: data e hora que o registro foi criado no Data Model Hashes
- Last Updated: ultima atualização do registro
- Record Id: é o campo chave de identificação do registro
Regras de Geração:
- Funcionários ativos ou com data de desligamento futura são considerados para a geração do hashes
- São considerados os hashes das imagens válidas (campo observation code = 0) e cujo o hash já foi gerado do Data Model de Image
- São considerados os hashes das últimas 5 marcações realizadas pelo funcionário e o dispositivo em que ele realizou a marcação
Quais são os passos para realizar o fluxo do NO DAT ?
O fluxo do NO DAT é composto dos seguintes passos:
1) Cadastramento da Foto, que pode ser feito de três maneiras:
- Inserir no Backoffice
- Associação de Fotos na Marcação
- Integração da Foto via ERP
2) Efetuar o agendamento do processo de geração de hash (hash_db). Este processo gera informações no Data Model Hashes,
3) O aplicativo Mobile realiza a sincronização dos hashes e grava as informações em banco de dado de três maneiras:
- No momento do login,
- de tempos em tempos através de uma agendamento no aplicativo
- pelo botão Sincronização realiza a sincronização no início e através do botão de sincronização parcial (menu lateral do app)
4) Quando o funcionário se posiciona para realizar a marcação por reconhecimento o aplicativo consulta as informações no banco de dados para realizar o reconhecimento facial
Implementações Futuras:
- Ao efetuarmos a liberação do NO DAT teremos um período em que a funcionalidades de banco de imagem pelo arquivo DAT e NO DAT funcionarão em paralelo enquanto os aplicativos não são todos atualizados para a versão do NO DAT. Para facilitar a transição, será disponibilizada uma forma de o cliente poder ter um único processo que irá gerar tanto os hashes quando o DAT. No settings temos já um parametro que irá possibilitar essa função porém o campo ainda tem a funcionalidade.
