Mudanças entre as edições de "Casos de uso - NeoGrid"
(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 == | ||
− | + | 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== | == 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:
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:
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:
É 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:
Modelo do relatório de log:
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 |