Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


Scroll Only

Autor do artigo: João Fonseca

(Não remova esse quadro)




Quando a falha ocorre?



Ao enviar evento Reinf, é evidenciado o alerta:

Existe um evento R-0000 para a empresa 0000 aguardando processamento, consulte o Monitoramento para verificar o status do evento.


Como corrigir?


A falha ocorre pois existe sobra de informações de eventos excluidos na base de dados. 

Aviso

A correção deve ser realizada pela equipe de nível 2 em instalações. E importante efetuar o backup da base prosoft antes de executar o script

1 - Na base prosoft efetue a consulta, onde deverá ser informado o codigo da empresa em '0000'

select emp_id from esoc_empresa
where emp_codigo ='0000'AND emp_fk_tipo_evento = '1'

Anote o ID obtido na consulta.


2 - Efetue a seguinte consulta onde, na clausula where deve ser inforado o evento que será excluido 'R2099' e no  evg_fk_empresa IN ( 0000 ) deve ser informado o ID da empresa obtido na consulta anterior

SELECT TOP (1000) [evg_id]
        , conf.evo_codigo
      ,[evg_tag_id]
      ,[evg_fk_empresa]
      ,[evg_fk_evento_configuracao]
      ,[evg_chave_identificacao]
      ,[evg_status]
      ,[evg_numero_recibo]
      ,[evg_data_geracao]
      ,[evg_nome_maquina]
      ,[evg_msg_retorno]
      ,[evg_proemp]
      ,[evg_tipo_ambiente]
      ,[evg_observacoes]
      ,[evg_operador_codigo]
      ,[evg_comp_ativa]
      ,[evg_data_status]
      ,[evg_competencia]
      ,[evg_versao]
      ,[evg_fk_operacao]
      ,[evg_excluido]
      ,[evg_data_exclusao]
      ,[evg_protocolo]
  FROM [prosoft].[dbo].[esoc_evento_gerado] AS ger
  INNER JOIN esoc_empresa AS emp on ger.evg_fk_empresa = emp.emp_id 
  INNER JOIN esoc_evento_configuracao AS conf ON ger.evg_fk_evento_configuracao = conf.evo_id
  where conf.evo_codigo = 'R2099'
  and evg_fk_empresa IN ( 0000 )
  and evg_tipo_ambiente = 1
  order by 1 desc

Na consulta obtida, anote o evg_id dos eventos que possuem a informação null no campo evg_numero_recibo

3 - efetue a consulta, onde em evc_fk_evento_gerado deverá ser informado o evg_id obtido na consutla anterior

select * from esoc_evento_chave where evc_fk_evento_gerado = 219153

Aviso

Caso a consulta não retorne informações, execute os comnados de delete listados abaixo

  delete from esoc_geracao_logs_evento where fk_evento_gerado = 219153
  delete from esoc_evento_chave where evc_fk_evento_gerado = 219153
  delete FROM [dbo].[esoc_evento_gerado_protocolo_reinf] where egp_fk_evento_gerado = 219153
  delete from esoc_evento_excluido where eex_fk_evento_gerado_origem = 219153
  DELETE  from esoc_evento_retificado where evr_fk_evento_atual = 219153
  delete from esoc_evento_gerado where evg_id = 219153


4 - Solicite nova transmissão do evento.



Scroll Only
(Não remova esse quadro)


HTML
<div id="text-end"></div>




<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-193974933-1"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag2(){dataLayer.push(arguments);}
  gtag2('js', new Date());

  gtag2('config', 'UA-193974933-1');


  function gtagevents (action,category) {
     console.log(category + ':' + action);
     gtag2('event',action,{event_category:category,event_label: document.title});
  };

</script>

<script src="https://player.vimeo.com/api/player.js"></script>
<script>
    (function(){
        // RASTREIO DE USO DO VÍDEO
        function gtagvideo(action){
           gtagevents(action,'Video')
        }

        var iframe = document.querySelector('iframe');
        var player = new Vimeo.Player(iframe);

        var seeking = false;
        var priorTime = 0;
        var currentTime = 0;
        var reportouFinalDoConteudo = false;

        // se pausar o play é acionado também.
        player.on('play', function(data) {
            if(data.seconds == 0){ 
              gtagvideo('video-iniciado');
            }
            priorTime = data.seconds;             
        });

        player.on('ended', function() {
            gtagvideo('video-finalizado');
        });

        //seeking e timeupdate são disparados juntos, logo o tempo dos 2 é atualizado também. Preciso garantir que a variavel starttime seja atualizada ordenadamente (sempre antes ou após o seeking).
        // pra isso preciso setar uma variavel no timeupdate e ler no seeking para garantir a ordem. Se ela estiver false será alterada na próxima iteração.
        player.on('seeking', function(data) {               
            seeking = true;
        });


        player.on('pause',function(data){
            gtagvideo('video-pausado');    
        });

        player.on('timeupdate', function(data) {
            if(seeking){
                if(currentTime < priorTime){
                    gtagvideo('video-voltando');    
                }
                if(currentTime > priorTime){
                    gtagvideo('video-avancando')
                }
                seeking = false;
            }
            priorTime = currentTime;
            currentTime = data.seconds;


           var finalDoConteudo = (data.duration - data.seconds) < 5;
           if(finalDoConteudo && !reportouFinalDoConteudo){
            gtagvideo('conteudo-finalizado')
            reportouFinalDoConteudo = true;
           }
        });

        player.on('fullscreenchange', function() {
            gtagvideo('video-fullscreen');
        });
    })();
</script>

<script>
 // RASTREIO DO USO DE AUDIO
 (function(){
    function gtagaudio(action){
           gtagevents(action,'Audio')
    }            

    var audio = document.querySelector("audio");

    var seeking = false;
    var priorTime = 0;
    var currentTime = 0;

    audio.addEventListener('play',function(){
        if(audio.currentTime == 0){
          gtagaudio('audio-iniciado');
        }
        priorTime = audio.currentTime;        
    });

    audio.addEventListener('ended',function(){
        gtagaudio('audio-finalizado');
    });

    audio.addEventListener('pause',function(){
        gtagaudio('audio-pausado');
    });

    audio.addEventListener('seeking', function(data) {               
        seeking = true;
    });

    audio.addEventListener('timeupdate', function(data) {               
        if(seeking){
                if(currentTime < priorTime){
                    gtagaudio('audio-voltando');    
                }
                if(currentTime > priorTime){
                    gtagaudio('audio-avancando')
                }
                seeking = false;
            }
            priorTime = currentTime;
            currentTime = audio.currentTime;
    });    
 })();
 </script>

<script>
    (function(){
        var terminou = false;
        //RASTREIO DE LEITURA ATÉ O FINAL DA PÁGINA
        document.addEventListener('scroll',() => {
            if(document.getElementById('text-end').getBoundingClientRect().top < window.innerHeight){
                if(!terminou){
                    terminou = true;
                    gtagevents('artigo-lido','Pagina')
                }
            }else{
                terminou = false;
            }
                
        });
    })();
 </script>