Nesta PR implementamos as funcionalidades referentes a uma Solicitação de Análise, atribuição de análises a analistas, calculo de score e geração de reatório
Problema
A última etapa de uma análise é a geração de um relatório, que conta com toda a pontuação calculada a partir das análises de cada analista, seus comentários e um comentário feito por um administrador, e para isso os modelos e controladores deveriam ser implementados de maneira que permitisse verificações e as devidas atribuiçãoes
Implementação
Modelos
Solicitação de análise
Uma solicitação de análise é o ponto de partida de toda análise, então ela é o elemento central do processo. Uma análise completa é na verdade um conjunto de análises realizadas por vários analistas, que depois vão ser mesclados para gerar uma única pontuação. Pensando nisso, foi adicionado ao modelo SolicitacaoAnalise um atributo status, que serve para acompanhamento e verificação interna no momento de realizar operações em uma análise. Esse status pode assumir os valores:
Pending: a solicitação acabou de ser criada pela empresa e aguarda aprovação pela administração do Lanterna verde
Processing: a solicitação foi aprovada e as análises que respondem a essa solicitação já foram atribuídas aos analistas
Finished: todos os analistas finalizaram seus questionários
Delivered: o administrador fez suas considerações finais e o relatório completo já pode ser entregue à empresa
#
Uma empresa apenas pode criar uma solicitação se não existirem solicitações com status Pending ou Processing, para evitar que uma mesma empresa possa ter mais de uma análise em andamento
Análises só podem ser criadas e atribuidas aos analistas se o status da Solicitação for Pending
Um relatório só pode ser gerado se a solicitação tiver o status Finished
[TODO] O administrador precisa gerar o relatório para observar as respostas dos analistas e assim adicionar suas considerações. Ao adicionar seu comentário, o status da solicitação deve se tornar Delivered, momento em que a empresa deve receber os resultados completos da análise solicitada
Relatório
O relatório conta com a média da pontuação de todos os analistas para cada dimensão. A pontuação de uma dimensão consiste na divisão do número de perguntas como sim pelo total de perguntas naquela dimensão. O relatório também tem um score geral, que é a média de todas as dimensões, além de um comentário feito pelo administrador
Views
Criar análise
Este método recebe o id de uma solicitação e o número de analistas que devem ser atribuiídos, e caso a solicitação estiver Pending, são selecionados os analistas com menos análises.
gerar relatório
Este método recebe o id de uma solicitação e cria um objeto relatório, faz os cálculos de score e muda o status da solicitação para Finished
relatorio/add: Recebe o id de uma SolicitacaoAnalise e gera o relatório
Notas do desenvolvedor
Inicialmente uma das ideias era excluir a solicitação de análise em algum momento do processo, mas no desenvolvimento das funcionalidades desta PR foi decidido que a solicitação é o elemento central de uma análise, é através dela que obtemos os questionários que a respondem, o relatório (quando disponível), fazemos as consultas e as verificações necessárias para o fluxo de uma análise como um todo. Assim, um objeto SolicitacaoAnalise não irá mais ser excluído em nenhum momento, permanecendo no banco de dados para realizar tais consultas.
Próximos passos
Quando todos os analistas finalizarem seus questionários, o status da Solicitação deve se tornar Finished
Um relatório precisa ser gerado para que o administrador possa comentá-lo, sendo assim, é necessário um novo método que adiciona um comentário ao relatório, e muda o status da solicitação para Delivered, para que possa ser visualizada pela empresa.
Nesta PR implementamos as funcionalidades referentes a uma Solicitação de Análise, atribuição de análises a analistas, calculo de score e geração de reatório
Problema
A última etapa de uma análise é a geração de um relatório, que conta com toda a pontuação calculada a partir das análises de cada analista, seus comentários e um comentário feito por um administrador, e para isso os modelos e controladores deveriam ser implementados de maneira que permitisse verificações e as devidas atribuiçãoes
Implementação
Modelos
Solicitação de análise
Uma solicitação de análise é o ponto de partida de toda análise, então ela é o elemento central do processo. Uma análise completa é na verdade um conjunto de análises realizadas por vários analistas, que depois vão ser mesclados para gerar uma única pontuação. Pensando nisso, foi adicionado ao modelo
SolicitacaoAnalise
um atributostatus
, que serve para acompanhamento e verificação interna no momento de realizar operações em uma análise. Esse status pode assumir os valores:Pending
: a solicitação acabou de ser criada pela empresa e aguarda aprovação pela administração do Lanterna verdeProcessing
: a solicitação foi aprovada e as análises que respondem a essa solicitação já foram atribuídas aos analistasFinished
: todos os analistas finalizaram seus questionáriosDelivered
: o administrador fez suas considerações finais e o relatório completo já pode ser entregue à empresa #Relatório
O relatório conta com a média da pontuação de todos os analistas para cada dimensão. A pontuação de uma dimensão consiste na divisão do número de perguntas como sim pelo total de perguntas naquela dimensão. O relatório também tem um score geral, que é a média de todas as dimensões, além de um comentário feito pelo administrador
Views
Criar análise
Este método recebe o id de uma solicitação e o número de analistas que devem ser atribuiídos, e caso a solicitação estiver Pending, são selecionados os analistas com menos análises.
gerar relatório
Este método recebe o id de uma solicitação e cria um objeto relatório, faz os cálculos de score e muda o status da solicitação para Finished
Como Testar
relatorio/add
: Recebe o id de uma SolicitacaoAnalise e gera o relatórioNotas do desenvolvedor
Inicialmente uma das ideias era excluir a solicitação de análise em algum momento do processo, mas no desenvolvimento das funcionalidades desta PR foi decidido que a solicitação é o elemento central de uma análise, é através dela que obtemos os questionários que a respondem, o relatório (quando disponível), fazemos as consultas e as verificações necessárias para o fluxo de uma análise como um todo. Assim, um objeto SolicitacaoAnalise não irá mais ser excluído em nenhum momento, permanecendo no banco de dados para realizar tais consultas.
Próximos passos