akitasoft-ebrigada-api
-
Solicitação: 25650
API responsável por enviar informações dos acessos que os brigadistas realizam nos setores para o sistema e-brigada. Com o e-brigada os setores conseguem indicar a presença de ao menos um brigadista para eventuais emergências.
Esta API é derivada da api customizada para a Randon (akitasoft-ebrigada-randon-api).
Esta API não possui endpoints, apenas um job que roda periodicamente para chamar a API e-brigada que o cliente vai hospedar.
Etapas da integração:
1- Criar a ponteiro do acesso
O fluxo se inicia na tabela acessos_pessoas.
Cada acesso realizado passa na TRIG_AF_RW_INTEGRA_EBRIGADA. Se o acesso for do tipo entrada ou do tipo saída, também tem o status que indica acesso autorizado e também existe o parâmetro customizado LISTA_PERFIS_BRIGADISTAS com algum valor, será inserido este acesso na tabela ponteiros_acessos_ebrigada, com o status de aguardando.
É possível utilizar o programa ASW2615 para consultar os registros gravados na ponteiros. Este programa não filtra dados por permissão, então havendo acesso ao programa, ele sempre listará tudo o que há gravado na tabela.
2- Criar o registro que será enviado ao e-brigada
Na sequência, há um job que executa a procedure PROC_ATUALIZA_ACESSOS_EBRIGADA periodicamente. Esta proc coleta os registros da ponteiros_acessos_ebrigada que estão com status de aguardando, e caso a pessoa que realizou o acesso tenha um perfil de brigadista presente no parâmetro customizado LISTA_PERFIS_BRIGADISTAS, será inserido na tabela acessos_pessoas_ebrigada com os dados necessários para envio ao sistema e-brigada que o cliente hospeda.
3 - API coleta pendências e envia ao e-brigada externo
Por fim, a API entra em cena, buscando registros da tabela ACESSOS_PESSOAS_EBRIGADA onde ENVIADO_EBRIGADA = 'N', ordenado por data_hora_acesso ASC (envia os acessos em ordem cronológica);
para cada registro, verifica:- tipo_acesso = 'S', realiza checkout no e-brigada;
- tipo_acesso = 'E' e relogio_saida_empresa = 'S', realiza checking no e-brigada;
- tipo_acesso = 'E' e relogio_saida_empresa = 'N', realiza checkout e checking no e-brigada;
Tendo falha na chamada, por qualquer motivo, atualiza a coluna mensagem_erro com a descrição;
Tendo sucesso na chamada da e-brigada, atualiza a coluna enviado_ebrigada para o valor 'S' e remove a mensagem_erro caso presente de uma chamada anterior que tenha falhado.
Repositório: https://gitlab.insoft4.com.br/insoft4/enterprise/akitasoft/akitasoft-ebrigada-api
Diretório rede: O:\Sistemas_Java\AkitasoftEBrigadaApiConfiguração básica da API
- Usar a conexão do pontosoft v7 do cliente:
- dataSource:
- url: url.para.banco.de.dados
- username: "usuario"
- password: "senha"
- dataSource:
- Se necessário, alterar a periodicidade de execução de cada atualização de acesso, no arquivo application.yml na pasta de configuração externa desta API. O padrão é 1 minuto entre cada job:
- ebrigada.syncAcessosJob.fixedDelay: 120000 #tempo em milisegundos
- Criar os parâmetros customizados na base:
- LISTA_PERFIS_BRIGADISTAS (códigos de perfil de acesso, separados por vírgula, que representam os brigadistas)
- SENHA_API_EBRIGADA (senha para conexão com a API de integração com o sistema E-Brigada)
- URL_API_EBRIGADA (URL da API de integração com o sistema E-Brigada)
- USUARIO_API_EBRIGADA (usuário para conexão com a API de integração com o sistema E-Brigada)
Obs: se algum dos parâmetros customizados relacionados a conexão com o sistema e-brigada (SENHA_API_EBRIGADA, URL_API_EBRIGADA, USUARIO_API_EBRIGADA) não estiverem cadastrados durante o deploy da API, ela indicará qual parâmetro que falta e não subirá no tomcat.