Ir para o conteúdo principal

MAPEAMENTO DO PROBLEMA DE NÃO EXPORTAÇÃO DO MOTIVO DO CANCELAMENTO PARA VERBAS EVENTUAIS

MAPEAMENTO DO PROBLEMA DE NÃO EXPORTAÇÃO DO MOTIVO DO CANCELAMENTO PARA VERBAS EVENTUAIS


SETICRO - GOVERNA


O arquivo de exportação não está enviando conteúdo para o campo que indica o motivo do cancelamento.




Este documento apresenta o laudo de situação para tomada de decisão necessária a retificação do problema.



Método exportarArquivoRetorno da Classe AnaliseCriticaDetalheBO.java

O método exportarArquivoRetorno é responsável pela geração do Arquivo de Exportação.




Pontos importantes:

             A Lógica de todos os método é baseada no ID da Averbação;

             Em nenhum dos métodos acima é chamado o método que colhe da base de dados o motivo do cancelamento (buscarAnaliseCriticaDetalhe).


Método buscarAnaliseCriticaDetalhe


Esse método busca à partir do Mes de Referencia e do Id da Averbação detalhes da Análise Crítica, entre elas o Motivo de Cancelamento, e retorna um Objeto AnaliseCriticaVisao.

Existem 2 problemas relacionados a esse método:

             O Método não é chamado por nenhum outro método (ou seja ele não é executado);

             A Query que pega dados da base filtra dados pelo Id da Averbação e filtra registros com Id de Verba Eventual nula!


    @Query("SELECT DISTINCT new br.com.governa.rh.comum.entidade.visao.AnaliseCriticaVisao("
            + "  analise.id"
            + " ,analise.motivoCancelamento.id"
            + " ,analise.motivoCancelamento.descricao"
            + " ,analise.motivoCancelamento.codigo"
            + " ,analise.valor"
            + " ,analise.status)"
            + " FROM AnaliseCriticaDetalhe analise WHERE analise.averbacao.id = :averbacaoId "
            + " AND analise.mesReferencia = :mesReferencia "
            + " AND analise.verbaEventual.id is null")
    List<AnaliseCriticaVisao> findByAverbacaoIdAndMesReferenciaVisao(@Param("averbacaoId") Long averbacaoId,
            @Param("mesReferencia") Integer mesReferencia);


Essa Query retorna sempre motivo nulo. Da forma como estão os dados na base de dados (Tabela: Governa.rh.ANALISE_CRITICA_DETALHE), sempre que temos um registro de uma Verba Eventual (aquelas que podem ser canceladas e cujo motivo deve ser mostrado) o campo Averbação ID tem conteúdo NULO.




EXTRATÉGIA


             Identificar em qual sub-método exportarArquivoRetorno exporta as Verbas Eventuais (pelas analises realizadas até agora essa verbas não são exportadas);


             Já que na tabela Governa.rh.ANALISE_CRITICA_DETALHE o campo id_averbação está sempre zerado (nulo) quando existe id_verba_eventual. É necessário que seja definido como selecionar as Verbas Eventuais já que toda a lógica de exportação é feita em torno da Averbação.