Integração PrintPoint III
Características do Requisito
Linha de Produto: | TSA | ||||
Segmento: | Manufatura | ||||
Módulo: | Integrador | ||||
Rotina: |
| ||||
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:
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 OFFOracle
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);
- 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.
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:
- Efetue o cadastro do dispositivo. No campo "modelo" informe "Dimep PrintPoint III (REP Inmetro)".
- Salve o cadastro do dispositivo.
- Altere o cadastro do dispositivo e clique na lupa do campo "Configurações do dispositivo".
- 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.
- No campo "Biometria: Reset" deixe como 0.
- 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!
- 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.
- 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.
Imagem 1.
Imagem 2
- 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.
- 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:
Procedimento para Utilização
- 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:
Comando | Manual / Automático / Ambos | Descrição |
---|---|---|
Atualizar Data/Hora | Ambos | Atualiza 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 total | Manual | Forç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 parcial | Ambos | Envia 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 especifico | Automático | Envia 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.