anatelgovbr / mod-sei-pesquisa

Módulo de Pesquisa Pública do SEI. Desenvolvido originalmente pelo CADE, mantido pela Anatel a partir do SEI 4.0
GNU General Public License v3.0
4 stars 6 forks source link

Comportamento inconsistente nas pesquisas (versão 4.1.1) #27

Closed ljsts01 closed 9 months ago

ljsts01 commented 10 months ago

Bom dia,

Temos o módulo SEI Pesquisa Pública 4.1.1 instalado no SEI 4.0.9, atualmente em ambiente de homologação para validação.

A paginação do módulo de consulta pública está apresentando intermitência, ora funcionando corretamente, ora trazendo apenas algumas paginas, ora não trazendo nenhuma pagina, além da primeira.

Em uma consulta de exemplo, foi marcado Pesquisar em Processos (sem documentos). O total de registros retornados deve ser 234. No print abaixo, pode-se ver ele retornou, em uma determinada pesquisa, 184, 50 a menos. E à direita o primeiro conjunto de paginação não foi aplicado, dos registros entre 50 e 100.

Imagem1

Em pesquisa realizada em seguida, a paginação não foi carregada, sendo exibido apenas os 50 primeiros registros

Imagem2

Algumas requisições estavam dando time out:

Imagem3

Mas nessa pesquisa ele conseguiu retornar os 234, mesmo com os time-outs:

Imagem4

Outro comportamento incorreto é que, após a primeira consulta com um interessado, ao escolher outro interessado ou algum outro filtro, a paginação deixa de funcionar.

Parece que as variáveis do javascript acabam ficando setadas mesmo após a primeira pesquisa.

ljsts01 commented 10 months ago

As alterações abaixo no arquivo md_pesq_processo_pesquisar.php parecem resolver o problema, mas não temos certeza.

$('#divInfraAreaTelaD').on('scroll', function() {
            clearTimeout(timer);
            timer = setTimeout(function() {
                if(($('#divInfraAreaTelaD').prop('scrollHeight') - $('#divInfraAreaTelaD').scrollTop()) <= Math.ceil($('#divInfraAreaTelaD').height()) && paginar) {
                    $('.ajax-loading').show();
                    $.post('<?= $strLinkAjaxPesquisar ?>&isPaginacao=true&inicio='+buscaInicio+'&rowsSolr='+rowsSolr, $('#seiSearch').serialize()).done(function(data){
                        if($(data).find('resultado').length > 0){
                            $('.retorno-ajax > table > tbody:last-child').append($(data).find('resultado').html());
                            buscaInicio += rowsSolr;
                        }
                        if($(data).find('consultavazia').length > 0){
                            $('.total-registros-infinite').html('A pesquisa encontrou '+$('.retorno-ajax > table tbody tr.pesquisaTituloRegistro').length+' resultado(s).');
-                            paginar = false;
+                            //paginar = false;
                            updateCaptcha();
                        }
                    }).always(function() {
                        $('.ajax-loading').hide();
                    });
                }
            }, 500);
        });
 $('body').on('submit', '#seiSearch', function(e){
            e.preventDefault(); e.stopPropagation();
            $('input[name=partialfields]').val('');
            partialFields();
+            buscaInicio = 0;

            $('.retorno-ajax > table > tbody tr, .sem-resultado').remove();
            $('.total-registros-infinite').empty();

            <? if($bolCaptcha): ?>
                if (infraTrim(document.getElementById('txtInfraCaptcha').value) == '') {
                    alert('Informe o código de confirmação.');
                    document.getElementById('txtInfraCaptcha').focus();
                    return false;
                }else{
                    document.getElementById('hdnInfraCaptcha').value='1';
                }
<? endif; ?>

            $('.ajax-loading').show();
            $.post('<?= $strLinkAjaxPesquisar ?>&isPaginacao=true&inicio=0&rowsSolr='+rowsSolr, $('#seiSearch').serialize()).done(function(data){
                if($(data).find('resultado').length > 0){
                    $('.retorno-ajax > table > tbody:last-child').append($(data).find('resultado').html());
                    buscaInicio += rowsSolr;
                }
                if($(data).find('consultavazia').length > 0){
                    $('.retorno-ajax').append($(data).find('consultavazia').html());
                }
            }).always(function() {
                $('.ajax-loading').hide();
                updateCaptcha();
            });
        });

Na primeira alteração, trecho paginar = false; foi comentado. Com isso o sistema sempre tenta obter uma proxima página. Se ele já tiver terminado, ok, só não vai retornar mais páginas.

Na segundo foi forçada a inicialização do buscaInicio = 0, dessa forma sempre ao submeter o formulário, o contador de busca reinicia.

neijobson commented 10 months ago

@ljsts01 Vamos verificar para tentar reproduzir e conferir os ajustes sugeridos. Contudo, atualize o SEI para 4.0.12. A versão 4.1.0 do módulo funciona no SEI 4.0.12. Não use no SEI 4.0.9.

neijobson commented 10 months ago

@ljsts01 Atualize o módulo para a v4.1.2: https://github.com/anatelgovbr/mod-sei-pesquisa/releases E use no SEI 4.0.12.

Nos confirma se o problema persiste. Não altere os pontos acima sugeridos.

neijobson commented 10 months ago

@ljsts01 Testando no SEI 4.0.12, a versão 4.1.2 do módulo continua apresentando algum problema?

neijobson commented 9 months ago

@ljsts01 Republicamos a v4.1.2 com essa correção. Baixar novamente os fontes e sobrescrever os códigos: https://github.com/anatelgovbr/mod-sei-pesquisa/releases