Histórico da Página
...
Linha de Produto: | Microsiga Protheus |
---|---|
Segmento: | Recursos Humanos |
Módulo: | SIGAGPE |
Função: | WSMIDPROC |
Requisito/Story/Issue (informe o requisito relacionado) : | DRHESOCP-15423 |
02. SITUAÇÃO/REQUISITO
Objetivo: definir contratos e api´s para o monitor principal do Middleware.
Esse estudo e codificação deverá ser feito juntamente com o analista Robson
Vamos definir 5 APIS que serão consumidos pela equipe do TAF, na primeira tela do Monitor, esta issue trata especificamente do botão transmitir.
Após selecionar o card com o evento (por enquanto será possível apenas um tipo de evento por processo, esse bloqueio será feito pela equipe do TAF), devemos desenvolver a API para realizar a transmissão para o MID dos eventos selecionados, gerando lotes de até 50 eventos.
Para isso, devemos utilizar as funções já desenvolvidas para o envio via JOB;
Além de atualizar a tabela RJE com o número do ticket e o status aguardando retorno, devemos também alimentar a tabela RJN.
Esta tabela será utilizada para apresentar ao usuário o status e percentual de transmissão dos lotes de eventos, a partir do botão "Atualizar" que será explicado em outra issue.
Gravação da Tabela RJN:
RJN_ID = Código criado automaticamente para agrupar lotes enviados no processamento
RJN_METODO = "POST"
RJN_DATAREQ = Data de Envio
RJN_HORAREQ = Hora de envio
RJN_STATUS = "1" (será atualizado em outro processamento)
RJN_DATRESP = Data do retorno (será atualizado em outro processamento)
RJN_HORRESP = Hora do retorno (será atualizado em outro processamento)
RJN_PERC = 0.00 - Percentual de eventos enviados (será atualizado em outro processamento)
RJN_RESP = Resposta Governo
RJN_Param= Parâmetros informados pelo usuário para transmissão (filial, data de competência e tipo de evento)
Nota:
Na API de transmissão incluir controle por usuário
Critério de Aceite:
Selecionar card de um evento para a transmissão e verificar se o status do evento na tabela RJE muda para "2" Aguarda retorno.
Verificar se são criados lotes de 50 eventos e se esses dados são gerados na tabela RJN
Verificar se os registros estão sendo transmitidos ao RET
Selecionar dois cards e clicar no botão Transmitir, o TAF deve apresentar uma mensagem solicitando que apenas um tipo de evento seja selecionado.
03. SOLUÇÃO
Desenvolvimento de uma API REST para transmitir os eventos do eSocial ao Middleware, a partir da seleção realizada no filtro do Monitor THF.
Depois que os cards são montados com o filtro que o usuário selecionou, cabe a API gravar os dados da transação na tabela RJN (Controle de Transações) e depois realizar a chamada do JOB para envio dos dados.
Os dados devem ser enviados pelo JOB, em lotes de 50 registros e ainda deve atualizar a tabela RJE (Tabela de eventos) com status 2.
A API de transmissão deve ainda incluir controle por usuário.
03. SOLUÇÃO
Desenvolvimento da API de transmissão com base nos requisitos descritos acima.
Importante ressaltar que para utilização da API é necessário realizar a configuração do Wizard( rotina GPEAWIZD), para comunicação com o TSS e para configuração de parâmetros necessários durante a transmissão, e também ter configurado o serviço REST.
Campos da tabela de Controle de Transações (RJN) que preenchidos durante a transmissão:
- RJN_ID - Gravação do ID de controle da tabela;
- RJN_DTREQ - Gravação da data de transmissão;
- RJN_HRREQ - Gravação da hora de transmissão;
- RJN_STATUS - Gravação do status 2;
- RJN_PARAMS - Gravação dos parâmetros informados pelo usuário no momento da transmissão.
Para maiores informações, consultar as documentações abaixo:
Tabela de Controle de Transações (RJN): https://tdn.totvs.com/x/vqoPHw
Configuração do Wizard: https://tdn.totvs.com/x/dau2Hg
Configuração do serviço REST no Protheus: https://tdn.totvs.com/x/-m4SCw
Documentação detalhada da API de Transmissão:Desenvolvimento..
Templatedocumentos
HTML |
---|
<!-- esconder o menu --> <style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |
...