Páginas filhas
  • DT_Integracao_REP_DIMEP_PrintPoint_III

Integração PrintPoint III

Características do Requisito

Linha de Produto:

TSA

Segmento:

Manufatura

Módulo:

Integrador

Rotina:

Rotina

Nome Técnico

Manutenção / Dispositivo
Modelo: Dimep PrintPoint III (REP Inmetro)
Requisito (ISSUE):
PCREQ-7979

Descrição

O INMETRO regulamentou os dispositivos REP. No caso do fabricante Dimep o equipamento que atende a essas especificações é o modelo PrintPoint III. Este documento técnico detalha como configurar o TSA para integrar com o PrintPoint III.

A integração com o REP PrintPoint III está sendo liberada na forma BETA. Para usar essa integração (receber suporte) deve-se entrar em contato com a Totvs se candidatando como piloto. Apenas o modelo do PrintPoint III com biometria padrão sagem e versão da aplicação do dispositivo 02.02.0000 está homologado.

Procedimento para Implantação

Os procedimentos abaixo devem ser executados apenas por clientes selecionados como piloto.

A implantação consiste em dois passos:

  1. Aplicar dicionário de dados:

    Banco

    Script

    SQL Server

    alter table DEVICE_CONFIGURATION alter column value varchar(600);

    SET IDENTITY_INSERT MODEL ON
    INSERT INTO MODEL(ID,MODEL_CODE,DESCRIPTION,DISPOSIT_CLASS_NAME,DISPOSIT_PARSER_CLASS_NAME,LISTENER_CLASS_NAME,LISTENER_SENDER_CLASS_NAME,MANUFACTURER,MODEL_TYPE,RMI_CLASS_NAME,SENDER_CLASS_NAME,SERVER_CLASS_NAME,REP,TWO_READERS) VALUES (44,14,'Dimep PrintPoint III (REP Inmetro)','com.datasul.hr.controleAcesso.server.dimep.protocolo.repinmetro.DimepREPInmetroDevice','','','com.datasul.hr.controleAcesso.server.dimep.protocolo.repinmetro.DimepREPInmetroListenerSender',3,0,'com.datasul.hr.controleAcesso.server.dimep.protocolo.rep.command.CommandControlRMIDimepREP','','com.totvs.hcm.accesscontrol.server.ListenerSenderServer',1,0);
    SET IDENTITY_INSERT MODEL OFF

    Oracle

     alter table DEVICE_CONFIGURATION modify value varchar(600);

    INSERT INTO MODEL(ID,MODEL_CODE,DESCRIPTION,DISPOSIT_CLASS_NAME,DISPOSIT_PARSER_CLASS_NAME,LISTENER_CLASS_NAME,LISTENER_SENDER_CLASS_NAME,MANUFACTURER,MODEL_TYPE,RMI_CLASS_NAME,SENDER_CLASS_NAME,SERVER_CLASS_NAME,REP,TWO_READERS) VALUES (44,14,'Dimep PrintPoint III (REP Inmetro)','com.datasul.hr.controleAcesso.server.dimep.protocolo.repinmetro.DimepREPInmetroDevice','','','com.datasul.hr.controleAcesso.server.dimep.protocolo.repinmetro.DimepREPInmetroListenerSender',3,0,'com.datasul.hr.controleAcesso.server.dimep.protocolo.rep.command.CommandControlRMIDimepREP','','com.totvs.hcm.accesscontrol.server.ListenerSenderServer',1,0);

    MySQL

    alter table DEVICE_CONFIGURATION modify value varchar(600);

    INSERT INTO MODEL(ID,MODEL_CODE,DESCRIPTION,DISPOSIT_CLASS_NAME,DISPOSIT_PARSER_CLASS_NAME,LISTENER_CLASS_NAME,LISTENER_SENDER_CLASS_NAME,MANUFACTURER,MODEL_TYPE,RMI_CLASS_NAME,SENDER_CLASS_NAME,SERVER_CLASS_NAME,REP,TWO_READERS) VALUES (44,14,'Dimep PrintPoint III (REP Inmetro)','com.datasul.hr.controleAcesso.server.dimep.protocolo.repinmetro.DimepREPInmetroDevice','','','com.datasul.hr.controleAcesso.server.dimep.protocolo.repinmetro.DimepREPInmetroListenerSender',3,0,'com.datasul.hr.controleAcesso.server.dimep.protocolo.rep.command.CommandControlRMIDimepREP','','com.totvs.hcm.accesscontrol.server.ListenerSenderServer',1,0);

  2. Configurar o dispositivo: Essa etapa deve ser realizada por um técnico Dimep, ela consiste em enviar os dados do empregador ao equipamento, cadastrar supervisores, configurar o modo de operação, configurar a comunicação, entre outros.

  3. Atualizar política de segurança do JRE: Rodar o updater do TSA na versão 12.1.9, no qual irá atualizar alguns arquivos no JRE referente a política de segurança necessária para se trabalhar com chaves grandes de criptografia.

    Se o integrador usar um JRE diferente ao JRE que vem embarcado com o TSA, então a atualização do JRE deverá ser feita manualmente seguindo as orientações disponíveis em: http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html.

Procedimento para Configuração

Abaixo os passos para configuração:

  1. Efetue o cadastro do dispositivo. No campo "modelo" informe "Dimep PrintPoint III (REP Inmetro)".
  2. Salve o cadastro do dispositivo.
  3. Altere o cadastro do dispositivo e clique na lupa do campo "Configurações do dispositivo".
    1. No campo "REP: Último NSR processado", se não for informado nenhum valor, e o equipamento já tenha batidas, todas serão coletadas. Caso queira que o equipamento comece a coletar a partir de uma determinada batida, informe neste campo o número do NSR da batida.
    2. No campo "Biometria: Reset" deixe como 0.
    3. No campo "Responsável: CPF" informe o CPF do responsável pelas alterações efetuadas na memória do dispositivo - o preenchimento desse campo é obrigatório!
    4. No campo "Autenticação: Login" e "Autenticação: Senha" deixe com o seu valor padrão "login" e "senha" - esses valores vem de fabrica, o TSA não altera o login e senha do REP.
    5. No campo "Criptografia RSA: Módulo" informe o módulo RSA da chave pública do dispositivo - esse valor é extraído do REP colocando um pendrive na porta USB(1) e digitando a F1+45+E (Imagem 1). Ao final será gerado um arquivo no pendrive contendo a chave RSA (Imagem 2). O módulo é o valor da primeira.


      REP INMETRO PRINTPOINT III
      Imagem 1.

      chaveRSA
      Imagem 2
       
    6. No campo "Criptografia RSA: Expoente" informe o valor do expoente RSA - é o valor da segunda linha do arquivo contendo a chave RSA (Imagem 2). O valor default é 010001.
    7. No campo "Criptografia RSA: Base" informe a base numérica do módulo e expoente RSA. O valor default é 16 (hexadecimal).

No final da configuração do dispositivo, deve-se chegar em uma configuração semelhante a imagem 3 abaixo:

configuracao_dispositivo_printpointIII

 

Procedimento para Utilização

  1. Com os procedimentos de implantação executados e a configuração do dispositivo finalizada, deve-se iniciar o integrador. Assim, no log do integrador as linhas abaixo devem ser impressas:
1
TlistenerSender_066 <|> com.datasul.hr.controleAcesso.server.dimep.protocolo.rep.REPListenerSender <<>> ==> Conexão estabelecida: 010.080.011.107
2
TlistenerSender_066 <|> com.datasul.hr.controleAcesso.server.dimep.protocolo.repinmetro.DimepREPInmetroListenerSender <<>> (sendMessage) Enviando mensagem, numero 0 - 0x00, Protocolo: 0xA1, Funcao: 0xC1, Numero da mensagem: 0x00, Tamanho: 0x12, Dados: 0x05, 0x01, 0x20, 0x16, 0x15, 0x55, 0x42, 0x31, 0x32, 0x30, 0x39, 0x38, 0x37, 0x37, 0x39, 0x33, 0x37, 0x32, Bytes da mensagem: 0xF8, 0xA1, 0xC1, 0x00, 0x00, 0x12, 0x05, 0x01, 0x20, 0x16, 0x15, 0x55, 0x42, 0x31, 0x32, 0x30, 0x39, 0x38, 0x37, 0x37, 0x39, 0x33, 0x37, 0x32, 0x7F, 0xF0
3
TlistenerSender_066 <|> com.datasul.hr.controleAcesso.server.dimep.protocolo.repinmetro.DimepREPInmetroListenerSender <<>> (returnMessage) Mensagem recebida, numero: 0 - 0x00, (Dispositivo está processando) Mensagem [Protocolo=0xA1, Função=0x02, Num.Mensagem=0x00, Dados=0], <<>> bytes: 0xF8, 0xA1, 0x02, 0x00, 0x00, 0x00, 0xA3, 0xF0
4
TlistenerSender_066 <|> com.datasul.hr.controleAcesso.server.dimep.protocolo.repinmetro.DimepREPInmetroListenerSender <<>> (sendMessage) Enviando mensagem, numero 1 - 0x01, Protocolo: 0xA1, Funcao: 0x70, Numero da mensagem: 0x01, Tamanho: 0x00, Dados: , Bytes da mensagem: 0xF8, 0xA1, 0x70, 0x01, 0x00, 0x00, 0xD0, 0xF0
5
TlistenerSender_066 <|> com.datasul.hr.controleAcesso.server.dimep.protocolo.repinmetro.DimepREPInmetroListenerSender <<>> (returnMessage) Mensagem recebida, numero: 1 - 0x01, (Executado com sucesso) Mensagem [Protocolo=0xA1, Função=0x00, Num.Mensagem=0x01, Dados=0], <<>> bytes: 0xF8, 0xA1, 0x00, 0x01, 0x00, 0x00, 0xA0, 0xF0

Na linha 1 (acima) temos que o integrador efetuou a conexão com sucesso no REP. Na linha 2 é enviado o comando de atualização de data/hora (função 0xC1), esse comando é enviado sempre que o integrador é iniciado. Na linha 3 recebemos o retorno do dispositivo referente ao comando C1: "Dispositivo está processando". Na linha 4, enviamos o comando que pergunta se o dispositivo ainda está processando (função 0x70). Na linha 5, recebemos o retorno do dispositivo ainda sobre o comando C1: Executado com sucesso.

Esse processo ocorrerá para todos os demais comandos que o TSA pode enviar ao dispositivo, que são:

ComandoManual / Automático / AmbosDescrição
Atualizar Data/HoraAmbosAtualiza a data/hora do dispositivo para a data/hora do servidor no qual está rodando o integrador. Esse comando é enviado automaticamente sempre que o integrador é reiniciado ou ocorre uma queda de conexão.
Enviar lista branca totalManualForça o envio total de todos os funcionários (com suas credenciais e digitais) do empregador ou grupo econômico configurado no dispositivo, mesmo que este funcionário já exista no REP. Esse comando é usado na implantação ou em casos de contingência.
Envia lista branca parcialAmbosEnvia para o REP apenas uma lista de funcionários admitidos e desligados. Para que estes tenham seus dados incluídos ou removidos. Essa lista contempla os funcionários que estão no TSA, porem, não estão no REP (ou o contrário). Esse comando é enviado automaticamente uma vez ao dia, com horário configurado no arquivo /server/conf/tsa.properties. Ele também poderá ser enviado manualmente.
Envia funcionário especificoAutomáticoEnvia automaticamente para o REP alterações em tempo real que são feitas no funcionário, como: alteração de crachá, demissão do funcionário, etc.

2. Por fim envia-se o comando "Envia Lista Branca Total" através do programa "/Tarefas/Comandos da integração".

Para o PrintPoint III, assim como ocorre no modelo PrintPoint II, o TSA não envia o comando de envio de dados do empregador. Essa configuração deve ser feita pelo fabricante.