UC00097 - Abertura de Cotação

De Wiki Java - Interno
(Diferença entre revisões)
Ir para: navegação, pesquisa
(Fluxos Alternativos)
(Fluxos Alternativos)
 
(3 edições intermediárias de um usuário não apresentadas)
Linha 1: Linha 1:
 
= Objetivo =
 
= Objetivo =
*Manter
+
*Enviar e receber cotações de fornecedores.
  
 
= Atores =
 
= Atores =
Linha 15: Linha 15:
 
= Diagrama de classes =
 
= Diagrama de classes =
  
 +
[[File:Compras.png|400px]]
  
 
= Fluxo de eventos =
 
= Fluxo de eventos =
Linha 26: Linha 27:
 
'''Fluxo 2:''' Usuário preenche os campos e clica em salvar. Sistema valida os campos conforme regra de negócio [[#RN02 - Validação dos campos da cotação | RN02]].
 
'''Fluxo 2:''' Usuário preenche os campos e clica em salvar. Sistema valida os campos conforme regra de negócio [[#RN02 - Validação dos campos da cotação | RN02]].
  
Com a cotação validada e salva, usuário tem a opção de enviar uma URL para o representante do fornecedor digitar os preços, conforme '''Fluxo 1''', dos fluxos alternativos. Esta URL é gerada clicando no botão "E-mail".
+
Com a cotação validada e salva, usuário tem a opção de enviar uma URL para o representante do fornecedor digitar os preços, conforme '''Fluxo 3''', dos fluxos alternativos. Esta URL é gerada clicando no botão "E-mail".
  
  
 
== Fluxos Alternativos ==
 
== Fluxos Alternativos ==
  
'''Fluxo 1''' Sistema localiza os fornecedores dos produtos que estão sendo cotados, e em seguida procura um contato do tipo "Representante". O sistema prepara uma tela inicial, a ser usada para enviar uma URL para estes representante, onde os mesmos deverão informar os seus preços.
+
 
 +
'''Fluxo 1''': Importação de cotação padrão.
 +
 
 +
Usuário clica no botão "Importa Cotação Padrão". Sistema abre uma janela popup e solicita, em um combobox, as cotações padrões, exibindo na lista a descrição da cotação padrão. Em seguida importa o comprador e os itens para a cotação que esta sendo aberta, mas, permite alterar a vontade.
 +
 
 +
 
 +
'''Fluxo 2''': Importação de produtos no estoque mínimo
 +
 
 +
 
 +
'''Fluxo 3''' Sistema localiza os fornecedores dos produtos que estão sendo cotados, e em seguida procura um contato do tipo "Representante". O sistema prepara uma tela inicial, a ser usada para enviar uma URL para estes representante, onde os mesmos deverão informar os seus preços.
  
 
Esta tela deve ter as seguintes colunas:
 
Esta tela deve ter as seguintes colunas:
 
* Selecionado: com opção de marcar ou desmarcar todos.
 
* Selecionado: com opção de marcar ou desmarcar todos.
 
* Fornecedor (código e nome)
 
* Fornecedor (código e nome)
* Representante (contato do tipo representante)
+
* Representante (contato do tipo representante comercial)
 
* E-mail
 
* E-mail
 
* Celular
 
* Celular
* Produtos: um link onde o usuário poderá ver os itens selecionados para cotação, para um determinado fornecedor. Os campos deverão ser
+
* Produtos: um link onde o usuário poderá ver os itens selecionados para cotação, para um determinado fornecedor. Os campos que serão exibidos: código do produto, referência, descrição.
  
  
 
O usuário poderá desativar (com um checkbox) o envio da URL para o SMS ou E-mail (um é obrigatório, para quem esta marcado para receber a cotação).
 
O usuário poderá desativar (com um checkbox) o envio da URL para o SMS ou E-mail (um é obrigatório, para quem esta marcado para receber a cotação).
  
Ao clicar em enviar o sistema deverá um link com as seguintes nomenclatura:
+
Ao clicar em enviar o sistema deverá:
 +
 
 +
*# gerar um link com as seguintes nomenclatura:
 +
 
 
wwwwwwww/nnnnnnn/cotacao/99999999999999999999999999999999, onde:
 
wwwwwwww/nnnnnnn/cotacao/99999999999999999999999999999999, onde:
  
Linha 54: Linha 67:
 
Para acessar esta página, usar um usuário e senha especiais. A página gerada, com layout responsivo, que roda em qualquer browse, deverá conter o seguinte layout:
 
Para acessar esta página, usar um usuário e senha especiais. A página gerada, com layout responsivo, que roda em qualquer browse, deverá conter o seguinte layout:
  
* Nome do fornecedor: fonte um pouco destacada.
+
No corpo da mensagem, deverá aparecer:
 +
* Cidade da empresa, e data
 +
* Empresa destinatária e o contato (representante)
 +
* Os dizeres, "Favor nos enviar preços e condições de pagamento para os seguintes produtos"
 +
* A relação dos produtos
 +
* Ao final o nome da empresa compradora, endereço, comprador e o seu celular.
 +
* o referido link
 +
 
 +
'''Observação:''' fazer de forma que posso trocar o template da página e aparecer os dados da empresa, de forma mais personalizada.
 +
 
 +
 
 +
Ao clicar no link, aparecer a página com os seguintes campos:
 +
 
 +
(em um grid)
 
* Código do produto
 
* Código do produto
 
* Referência do produto
 
* Referência do produto
 
* Descrição
 
* Descrição
 
* Grade
 
* Grade
* Unidade
+
* Unidade (usada ao abrir a cotação)
 
* Quantidade
 
* Quantidade
 
* Preço
 
* Preço
  
Apenas o preço é editável. O vendedor poderá clicar no link quantas vezes quiser, até a data da validade da cotação, e até quando a mesma ainda estiver aberta.
+
Logo após o grid.
 +
* Condições de pagamento: campo texto, com 60 posições, obrigatório
 +
* Valor frete:
 +
* Prazo de entrega (dias): campo onde o fornecedor deverá, obrigatoriamente, informar o prazo de entrega dos itens da cotação(em dias). O campo deverá aceitar somente números com no máximo 3 dígitos.
 +
 
 +
Apenas o preço é editável. O vendedor poderá clicar no link quantas vezes quiser, até a data da validade da cotação.
  
 
'''Observação:''' avisar ao usuário, através de um label, que só enviado pedido de preços para fornecedores que possuem um contato do tipo representante.
 
'''Observação:''' avisar ao usuário, através de um label, que só enviado pedido de preços para fornecedores que possuem um contato do tipo representante.
Linha 77: Linha 108:
 
* Filial: trazer a filial logada como default, permitindo alterar.
 
* Filial: trazer a filial logada como default, permitindo alterar.
 
* Data da cotação: trazer a data do sistema, e não permitir alterar.
 
* Data da cotação: trazer a data do sistema, e não permitir alterar.
 +
* Validade: data em que será permitido receber preços.
 
* Comprador:
 
* Comprador:
* Observação: campo estilo memo.
+
* Observação para o fornecedor: campo estilo memo. Lembrar com um texto simples, que o que for escrito aqui será enviado ao fornecedor.
  
  
Linha 95: Linha 127:
 
* Filial: deve ser uma filial existente e ativa.
 
* Filial: deve ser uma filial existente e ativa.
 
* Data da cotação: diferente de vazio.
 
* Data da cotação: diferente de vazio.
 +
* Validade: diferente de vazio e pelo menos um dia a mais da data da cotação.
 
* Comprador: existente e ativo.
 
* Comprador: existente e ativo.
 
* Observação: não há validação para este campo, podendo inclusive ser vazio.
 
* Observação: não há validação para este campo, podendo inclusive ser vazio.

Edição atual tal como às 16h38min de 20 de agosto de 2014

Conteúdo

[editar] Objetivo

  • Enviar e receber cotações de fornecedores.

[editar] Atores

  • Usuário

[editar] Pré-requisitos

  • Considerar documento Padrões de desenvolvimento.
  • No projeto da rotina, em confsrc > META-INF > messages > view.properties definir o nome como Cotação de Compras. Este nome será utilizado para criar a página no Wiki.

[editar] Resultado esperado

  • Criar uma cotação de compras, e enviar aos possíveis fornecedores uma mensagem (e-mail ou SMS) com uma URL para digitação dos preços.


[editar] Diagrama de classes

Compras.png

[editar] Fluxo de eventos

[editar] Fluxos principais

Fluxo 1: Usuário acessa a rotina Menu -> Movimentos -> Compras -> Cotação de Compras.

  • Sistema exibe a tela inicial da rotina em questão, conforme regra de negócio RN01.


Fluxo 2: Usuário preenche os campos e clica em salvar. Sistema valida os campos conforme regra de negócio RN02.

Com a cotação validada e salva, usuário tem a opção de enviar uma URL para o representante do fornecedor digitar os preços, conforme Fluxo 3, dos fluxos alternativos. Esta URL é gerada clicando no botão "E-mail".


[editar] Fluxos Alternativos

Fluxo 1: Importação de cotação padrão.

Usuário clica no botão "Importa Cotação Padrão". Sistema abre uma janela popup e solicita, em um combobox, as cotações padrões, exibindo na lista a descrição da cotação padrão. Em seguida importa o comprador e os itens para a cotação que esta sendo aberta, mas, permite alterar a vontade.


Fluxo 2: Importação de produtos no estoque mínimo


Fluxo 3 Sistema localiza os fornecedores dos produtos que estão sendo cotados, e em seguida procura um contato do tipo "Representante". O sistema prepara uma tela inicial, a ser usada para enviar uma URL para estes representante, onde os mesmos deverão informar os seus preços.

Esta tela deve ter as seguintes colunas:

  • Selecionado: com opção de marcar ou desmarcar todos.
  • Fornecedor (código e nome)
  • Representante (contato do tipo representante comercial)
  • E-mail
  • Celular
  • Produtos: um link onde o usuário poderá ver os itens selecionados para cotação, para um determinado fornecedor. Os campos que serão exibidos: código do produto, referência, descrição.


O usuário poderá desativar (com um checkbox) o envio da URL para o SMS ou E-mail (um é obrigatório, para quem esta marcado para receber a cotação).

Ao clicar em enviar o sistema deverá:

    1. gerar um link com as seguintes nomenclatura:

wwwwwwww/nnnnnnn/cotacao/99999999999999999999999999999999, onde:

  • wwwwwwww/nnnnnn é a URL do nosso cliente. Exemplo: resulthweb.com/treinamento
  • cotacao: padrão da rotina, a ser inserido na URL
  • 99999999999999999999999999999999: número randômico, com 32 bytes.


Para acessar esta página, usar um usuário e senha especiais. A página gerada, com layout responsivo, que roda em qualquer browse, deverá conter o seguinte layout:

No corpo da mensagem, deverá aparecer:

  • Cidade da empresa, e data
  • Empresa destinatária e o contato (representante)
  • Os dizeres, "Favor nos enviar preços e condições de pagamento para os seguintes produtos"
  • A relação dos produtos
  • Ao final o nome da empresa compradora, endereço, comprador e o seu celular.
  • o referido link

Observação: fazer de forma que posso trocar o template da página e aparecer os dados da empresa, de forma mais personalizada.


Ao clicar no link, aparecer a página com os seguintes campos:

(em um grid)

  • Código do produto
  • Referência do produto
  • Descrição
  • Grade
  • Unidade (usada ao abrir a cotação)
  • Quantidade
  • Preço

Logo após o grid.

  • Condições de pagamento: campo texto, com 60 posições, obrigatório
  • Valor frete:
  • Prazo de entrega (dias): campo onde o fornecedor deverá, obrigatoriamente, informar o prazo de entrega dos itens da cotação(em dias). O campo deverá aceitar somente números com no máximo 3 dígitos.

Apenas o preço é editável. O vendedor poderá clicar no link quantas vezes quiser, até a data da validade da cotação.

Observação: avisar ao usuário, através de um label, que só enviado pedido de preços para fornecedores que possuem um contato do tipo representante.

[editar] Regras de negócio

[editar] RN01 - Tela de abertura de cotação

Usuário deverá informar os seguintes campos, afim de abrir uma cotação:


Cabeçalho:

  • Código da cotação: número inteiro e sequencial, gerado pelo sistema. Não é passível de alteração, e é gerado ao final.
  • Filial: trazer a filial logada como default, permitindo alterar.
  • Data da cotação: trazer a data do sistema, e não permitir alterar.
  • Validade: data em que será permitido receber preços.
  • Comprador:
  • Observação para o fornecedor: campo estilo memo. Lembrar com um texto simples, que o que for escrito aqui será enviado ao fornecedor.


Itens:

  • Código do item: ao informar o item exibir a descrição do produto e a referência.
  • Grade: caso o produto a possua.
  • Unidade: trazer as unidades de entrada + unidade padrão do item.
  • Quantidade: com duas decimais.


[editar] RN02 - Validação dos campos da cotação

As seguintes validações devem ser feitas:

  • Código da cotação: maior que zero. Este campo é gerado automaticamente, ao final da transação.
  • Filial: deve ser uma filial existente e ativa.
  • Data da cotação: diferente de vazio.
  • Validade: diferente de vazio e pelo menos um dia a mais da data da cotação.
  • Comprador: existente e ativo.
  • Observação: não há validação para este campo, podendo inclusive ser vazio.


Itens:

  • Código do item: só não pode ser serviço, podendo ser produto acabado para revenda, matéria-prima, itens de consumo etc.
  • Grade: se o item possuir grade, campo obrigatório e vinculado ao produto em questão.
  • Unidade: diferente de vazio.
  • Quantidade: com duas decimais, e maior que zero.


[editar] Layouts sugeridos

Ferramentas pessoais
Espaços nominais

Variantes
Visualizações
Ações
Navegação
Ferramentas