01. DADOS GERAIS
| Produto: | |
|---|
| Linha de Produto: | |
|---|
| Segmento: | |
|---|
| Módulo: | |
|---|
| Função: | Manutenção Ocorrências GPS |
|---|
| País: | Brasil |
|---|
| Ticket: |
|
|---|
| Requisito/Story/Issue (informe o requisito relacionado) : | DMANADVEN-24712 |
|---|
02. SITUAÇÃO/REQUISITO
Algumas UNIMEDs estão executando o relatório de ocorrência para um volume alto de registros, o que acaba gerando um demora excessiva no retorno da requisição, além de prender agente no appserver durante esse processo que pode levar mais de 1h.
03. SOLUÇÃO
Alterado para quando se tratar de um volume elevado de ocorrências no relatório de exportação, é necessário que o sistema identifique e faça a execução desse processo em RPW.
- Adicionados dois novos parâmetros na configuração do usuário na rotina de ocorrências ('manutenção do parâmetro pelo ícone de engrenagem na própria rotina de ocorrências'). Os parâmetros são: Servidor RPW e Tempo de resposta (Exportação).
- O campo de Servidor RPW é uma lista que irá listar os servidores disponíveis. Informação obrigatória
- O campo Tempo de Resposta (Exportação) é um inteiro definido em minutos. Informação obrigatória. O tempo padrão liberado pela Totvs setado inicialmente no campo será 1 minuto, cabendo ao usuário ajustar conforme achar melhor, limitado a 30 minutos (já é um tempo elevado para uma execução em appserver).
- Para forçar o usuário a deixar um RPW configurado para execução dessa rotina, na execução da exportação, irá verificar se a informação de rpw default do usuário possui valor, se não tiver, irá exibir erro e obrigar que a configuração seja feita, deve informar um RPW na configuração e salvar.

- Como deve funcionar a exportação com esses dois novos campos, Na API método de exportação online, vai validar tempo de resposta configurado e se durante a execução da exportação esse tempo for excedido, gera automaticamente um pedido RPW para essa rotina. Cria um pedido RPW e aborta a execução online alertando o usuário que o tempo limite foi excedido e a execução será realizada em RPW no servidor de execução 'X' (conforme configuração mencionada acima) e ao finalizar será enviado o arquivo para central de documentos.

- Adicionada nova opção, Exportar via RPW. Essa opção gerará o pedido de execução para o servidor RPW configurado, após a execução do pedido no RPW o documento será enviado para a Central de documentos.

- Colocar uma ação na tela de ocorrências para opção de exportar em RPW, ao acionar essa opção, chamar o mesmo método de exportação online um criar um novo, no caso de utilizar o mesmo, passar um parâmetro novo que identifique que se trata de um execução rpw. No método pi-export-v1 da API apiTickets.p, ao identificar que se trata de execução em RPW, preparar os filtros em um json/temp-table ou da forma que julgar melhor, converter esses filtros em raw-param e verificar a possibilidade de aproveitar e utilizar o método addPedExec da apiCrmRPW para criar o pedido de execução, exemplo (fchcrm1099api.p). será necessário passar como parâmetro o servidor rpw, arquivo geração de log, programa menu que foi criado, programa rp que deve ser chamado na execução rpw, se utiliza agenda (passar fixo o valor false), data e hora (passar data e hora atual). Retornar para o usuário a informação de que o pedido foi criado com sucesso e/ou o erro gerado no processo.
- adicionar um novo programa rp na crmrpw, esse programa será chamado pelo rpw, precisa manter o padrão de assinatura. ele irá receber os parâmetros da exportação de ocorrência e então basta chamar o método padrão de exportação para uma execução online, ao enviar o arquivo para central de documentos, o usuário deve ser o que startou o processo. Hoje pelo que analisei utilizamos o programa btapi003.p do foundation para enviar para a central de documentos, porém não possibilita informa o usuário, acredito que precisará efetuar uma alteração para utilizar o programa btapi005.p, será necessário efetuar testes e verificar se atende.
- Para recuperar as configurações do usuário para tela de ocorrência GP, se basear na apiUser.p método pi-get-settings-v1 que é o que a tela usa. A configuração está salva em como json em um longchar, será necessário obter esse json para verificar o tempo de resposta e o servidor rpw configurado.