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.