Mudanças entre as edições de "Casos de uso - NeoGrid"

De GeoSales
Ir para navegação Ir para pesquisar
 
(26 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 5: Linha 5:
 
! Comentários  
 
! Comentários  
 
|-
 
|-
|  23/03/2018  || Ryvane Maria || Criação do Documento  
+
|  23/03/2018  || Ryvane Maria   || Criação do Documento  
 +
|-
 +
|  12/04/2018  || Anderson Couto || Revisão
 
|-
 
|-
 
|}
 
|}
Linha 17: Linha 19:
 
== Solução ==
 
== Solução ==
  
- Em um arquivo eu posso colocar vários pedidos, tem uma tela chamada pedido auto  onde é listado todos os pedidos importados, a partir dessa tela você pode abrir o pedido na tela de cadastro de pedido.  
+
A importação de pedidos será feita diretamente no servidor através de um micro serviço que será criado com esta finalidade.
  
- A importação é feita diretamente no servidor através de um micro serviço.
+
Em um arquivo, de formato ''txt'', será possível inserir automaticamente vários pedidos diferentes.  
  
- O que ele tem que fazer é só verificar se os dados estão certos na tela de pedido e salvar ou não.  
+
Após a inserção desses pedidos, via micro serviço, será possível visualizar a lista de todos os pedidos que já foram importados na tela de Pedido Auto. A partir dessa tela o usuário pode carregar o pedido na tela de cadastro de pedido usual do GeoSales e salvá-lo.
  
- Depois que ele é salvo ele é um pedido normal como todos os outros, porém, ele só aparece no relatório de pedidos depois que é salvo na tela de pedido auto.  
+
A partir do momento que o usuário salva o pedido, ele é excluído da lista exibida na tela de pedido auto, e para o GeoSales, se torna um pedido convencional como outro qualquer que foi inserido via cadastro manual. É importante salientar que, antes de salvar o pedido capturado na tela de pedido auto, o usuário deve verificar se os dados foram carregados corretamente na tela de pedido.  
  
- O código (id) do pedido só é gerado quando ele é salvo na tela de cadastro de pedidos.
+
Os pedidos importados de forma automática só poderão ser visualizados no relatório de pedidos quando for devidamente salvo na tela de cadastro de pedido. Isso ocorre porque o código (id) do pedido só é gerado após o usuário salvar o pedido.
  
 
== Implementação==
 
== Implementação==
 +
 +
'''Processo de importação do pedido:'''
 +
 +
No servidor do cliente há um ''Client'', chamado Neogrid Client, que tem a função de processar os pedidos e enviar os seus dados pro micro serviço. Dentro deste diretório de instalação há uma pasta onde os pedidos são inseridos no formato TXT. O ''client'' realiza uma varredura no diretório, dentro do tempo previamente configurado pelo usuário no processo de instalação. Pode-se visualizar a estrutura da pasta do client na imagem abaixo:
 +
 +
[[Arquivo:Neogrid_Client.jpg|600px]]
 +
 +
'''Formatação do arquivo TXT:'''
 +
 +
Os arquivos TXT que serão inseridos para importação devem possuir a seguinte formatação:
 +
 +
- A primeira linha define os dados referente ao cabeçalho do pedido. Esta linha contém informações a respeito do cliente, tipo de pedido, vendedor, condição de pagamento dentre as várias outras informações definidas no cabeçalho do pedido.
 +
 +
- As demais linhas representam um ou mais itens, onde cada linha é referente a um único item e um pedido pode ter vários itens.
 +
 +
O primeiro dígito de cada linha especifica se aquela linha se trata de um pedido ou de um item, se o primeiro dígito for 1, aquela linha é referente a um pedido, se for 2 é referente a um item. Segue na imagem abaixo um exemplo de arquivo TXT corretamente formatado:
 +
 +
[[Arquivo:Neogrid_FormatoTXT.jpg|600px]]
 +
 +
Com os pedidos nessa pasta, o serviço irá realizar uma varredura nessa pasta num período (em milisegundos) pré-determinado pelo usuário no momento da instalação do Neogrid, automaticamente, e, quando surgirem arquivos novos, o serviço irá processá-los.
 +
 +
É nessa pasta também que irão ser listados os pedidos. Quando o ''client'' lê um novo pedido e processa-o, esse arquivo TXT deve ser movido para outro diretório chamado 'lidos'. Isso deve ocorrer para que o serviço não precise varrer o arquivo novamente, ou seja, para que o serviço não precise decidir se aquele arquivo já foi lido ou não.
 +
 +
'''Persistência dos dados:'''
 +
 +
Quando o ''client'' processa um arquivo, os dados do pedido serão enviados para o ''microservice'' da GeoSales. Ao perceber que um novo pedido foi recebido, o ''microservice'', por sua vez, recebe os dados do pedido e persiste na base de dados.
 +
 +
Esses dados são salvos nas seguintes tabelas:
 +
 +
- PEDIDO_AUTO: dados do pedido;
 +
 +
- ITEM_AUTO: dados dos itens;
 +
 +
- LOG_PEDIDO_AUTO: dados do log do serviço. Quando ocorre algum problema referente aos dados do pedido (por exemplo: cliente não existe na base, produto não possui referência válida, mais de um cliente para um mesmo CNPJ e etc), o cliente deve corrigir esses dados diretamente no banco e subir o pedido novamente, para isso, é necessário criar um novo arquivo que atualize as informações. '''Essa situação é de responsabilidade exclusiva do cliente'''.
 +
 +
'''Confirmação da importação do pedido:'''
 +
 +
Após a importação dos pedidos, o usuário deve acessar a tela de pedido auto, no portal GeoSales, e verificar se os pedidos foram importados corretamente.
 +
 +
É importante salientar que os pedidos processados pelo ''microservice'' do Neogrid só poderão ser visualizados na tela de pedido auto pelos '''vendedores que tem vínculo com o cliente do pedido'''. Caso o usuário não tenha nenhum vínculo com o cliente, o pedido não estará disponível na tela de pedido auto para este vendedor.
 +
 +
Na tela de pedido auto, o vendedor pode visualizar os pedidos associados aos seus clientes. É possível abrir o pedido no botão lateral, redirecionando este pedido para a tela de cadastro de pedidos padrão do GeoSales, onde os dados vão ser carregados. A partir daí, é possível que o vendedor edite e salve as informações.
 +
 +
Essa tela pode ser visualizada na imagem abaixo:
 +
 +
[[Arquivo:Neogrid_Tela_PedidoAuto.jpg|600px]]
 +
 +
É importante salientar que na tela de pedido só poderão ser alteradas as informações referentes aos itens do pedido. As informações a respeito do cabeçalho do pedido não poderão ser alteradas, caso se trate de um pedido automático.
 +
 +
Após realizar as edições necessárias, o usuário pode salvar o pedido normalmente. Depois de salvo é possível visualizar o pedido no relatório de pedidos, e realizar todas as ações possíveis como se o pedido fosse um pedido normal, cadastrado manualmente.
 +
 +
Pode ser que o pedido, ao ser salvo, fique pendente por algum motivo, como qualquer outro pedido.
 +
 +
'''Relatório de log do Neogrid no portal:'''
 +
 +
Nesta tela é possível filtrar o log por data (período) e gerar um PDF ou um excel onde irá constar os erros que aconteceram com os dados dos pedidos automáticos. É importante salientar que esse log só apresenta erro de dados de pedido. A tela em questão pode ser visualizada na imagem abaixo:
 +
 +
[[Arquivo:Neogrid_Relatorio_log_tela.png|600px]]
 +
 +
Modelo do relatório de log:
 +
 +
[[Arquivo:Neogrid_Relatorio_log.png|700px]]
  
 
== Regras de Negócio ==
 
== Regras de Negócio ==
  
'''[RN1]''' –
+
'''[RN1]''' – A formatação do arquivo TXT que vai ser processado pelo ''microservice'' é de responsabilidade exclusiva do usuário.
 +
 
 +
'''[RN2]''' – Os problemas referentes aos dados do pedido devem ser corrigidos pelo cliente, diretamente no banco, e os pedidos com problemas devem ser inseridos novamente para processamento. Essa situação é de responsabilidade exclusiva do cliente.
 +
 
 +
'''[RN3]''' – Os pedidos processados pelo microservice do Neogrid só poderão ser visualizados na tela de pedido auto pelos vendedores que tem vínculo com o cliente do pedido.
  
 
== Aprovação ==
 
== Aprovação ==

Edição atual tal como às 16h37min de 13 de abril de 2018

Histórico de Revisões

Data Quem Comentários
23/03/2018 Ryvane Maria Criação do Documento
12/04/2018 Anderson Couto Revisão

Necessidade

Realizar o cadastro de pedidos de forma automática, sem que haja necessidade de montá-lo no portal ou no mobile.

Alguns pedidos são grandes o suficiente para inviabilizar o processo de cadastro de pedido via portal. É necessária a automatização de pedidos, para facilitar a sua importação.

Solução

A importação de pedidos será feita diretamente no servidor através de um micro serviço que será criado com esta finalidade.

Em um arquivo, de formato txt, será possível inserir automaticamente vários pedidos diferentes.

Após a inserção desses pedidos, via micro serviço, será possível visualizar a lista de todos os pedidos que já foram importados na tela de Pedido Auto. A partir dessa tela o usuário pode carregar o pedido na tela de cadastro de pedido usual do GeoSales e salvá-lo.

A partir do momento que o usuário salva o pedido, ele é excluído da lista exibida na tela de pedido auto, e para o GeoSales, se torna um pedido convencional como outro qualquer que foi inserido via cadastro manual. É importante salientar que, antes de salvar o pedido capturado na tela de pedido auto, o usuário deve verificar se os dados foram carregados corretamente na tela de pedido.

Os pedidos importados de forma automática só poderão ser visualizados no relatório de pedidos quando for devidamente salvo na tela de cadastro de pedido. Isso ocorre porque o código (id) do pedido só é gerado após o usuário salvar o pedido.

Implementação

Processo de importação do pedido:

No servidor do cliente há um Client, chamado Neogrid Client, que tem a função de processar os pedidos e enviar os seus dados pro micro serviço. Dentro deste diretório de instalação há uma pasta onde os pedidos são inseridos no formato TXT. O client realiza uma varredura no diretório, dentro do tempo previamente configurado pelo usuário no processo de instalação. Pode-se visualizar a estrutura da pasta do client na imagem abaixo:

Neogrid Client.jpg

Formatação do arquivo TXT:

Os arquivos TXT que serão inseridos para importação devem possuir a seguinte formatação:

- A primeira linha define os dados referente ao cabeçalho do pedido. Esta linha contém informações a respeito do cliente, tipo de pedido, vendedor, condição de pagamento dentre as várias outras informações definidas no cabeçalho do pedido.

- As demais linhas representam um ou mais itens, onde cada linha é referente a um único item e um pedido pode ter vários itens.

O primeiro dígito de cada linha especifica se aquela linha se trata de um pedido ou de um item, se o primeiro dígito for 1, aquela linha é referente a um pedido, se for 2 é referente a um item. Segue na imagem abaixo um exemplo de arquivo TXT corretamente formatado:

Neogrid FormatoTXT.jpg

Com os pedidos nessa pasta, o serviço irá realizar uma varredura nessa pasta num período (em milisegundos) pré-determinado pelo usuário no momento da instalação do Neogrid, automaticamente, e, quando surgirem arquivos novos, o serviço irá processá-los.

É nessa pasta também que irão ser listados os pedidos. Quando o client lê um novo pedido e processa-o, esse arquivo TXT deve ser movido para outro diretório chamado 'lidos'. Isso deve ocorrer para que o serviço não precise varrer o arquivo novamente, ou seja, para que o serviço não precise decidir se aquele arquivo já foi lido ou não.

Persistência dos dados:

Quando o client processa um arquivo, os dados do pedido serão enviados para o microservice da GeoSales. Ao perceber que um novo pedido foi recebido, o microservice, por sua vez, recebe os dados do pedido e persiste na base de dados.

Esses dados são salvos nas seguintes tabelas:

- PEDIDO_AUTO: dados do pedido;

- ITEM_AUTO: dados dos itens;

- LOG_PEDIDO_AUTO: dados do log do serviço. Quando ocorre algum problema referente aos dados do pedido (por exemplo: cliente não existe na base, produto não possui referência válida, mais de um cliente para um mesmo CNPJ e etc), o cliente deve corrigir esses dados diretamente no banco e subir o pedido novamente, para isso, é necessário criar um novo arquivo que atualize as informações. Essa situação é de responsabilidade exclusiva do cliente.

Confirmação da importação do pedido:

Após a importação dos pedidos, o usuário deve acessar a tela de pedido auto, no portal GeoSales, e verificar se os pedidos foram importados corretamente.

É importante salientar que os pedidos processados pelo microservice do Neogrid só poderão ser visualizados na tela de pedido auto pelos vendedores que tem vínculo com o cliente do pedido. Caso o usuário não tenha nenhum vínculo com o cliente, o pedido não estará disponível na tela de pedido auto para este vendedor.

Na tela de pedido auto, o vendedor pode visualizar os pedidos associados aos seus clientes. É possível abrir o pedido no botão lateral, redirecionando este pedido para a tela de cadastro de pedidos padrão do GeoSales, onde os dados vão ser carregados. A partir daí, é possível que o vendedor edite e salve as informações.

Essa tela pode ser visualizada na imagem abaixo:

Neogrid Tela PedidoAuto.jpg

É importante salientar que na tela de pedido só poderão ser alteradas as informações referentes aos itens do pedido. As informações a respeito do cabeçalho do pedido não poderão ser alteradas, caso se trate de um pedido automático.

Após realizar as edições necessárias, o usuário pode salvar o pedido normalmente. Depois de salvo é possível visualizar o pedido no relatório de pedidos, e realizar todas as ações possíveis como se o pedido fosse um pedido normal, cadastrado manualmente.

Pode ser que o pedido, ao ser salvo, fique pendente por algum motivo, como qualquer outro pedido.

Relatório de log do Neogrid no portal:

Nesta tela é possível filtrar o log por data (período) e gerar um PDF ou um excel onde irá constar os erros que aconteceram com os dados dos pedidos automáticos. É importante salientar que esse log só apresenta erro de dados de pedido. A tela em questão pode ser visualizada na imagem abaixo:

Neogrid Relatorio log tela.png

Modelo do relatório de log:

Neogrid Relatorio log.png

Regras de Negócio

[RN1] – A formatação do arquivo TXT que vai ser processado pelo microservice é de responsabilidade exclusiva do usuário.

[RN2] – Os problemas referentes aos dados do pedido devem ser corrigidos pelo cliente, diretamente no banco, e os pedidos com problemas devem ser inseridos novamente para processamento. Essa situação é de responsabilidade exclusiva do cliente.

[RN3] – Os pedidos processados pelo microservice do Neogrid só poderão ser visualizados na tela de pedido auto pelos vendedores que tem vínculo com o cliente do pedido.

Aprovação

Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado.

Setor Aprovado Por Data Assinatura
Gerente TI
Gerente Projeto
Gerente Comercial