UC00097 - Abertura de Cotação
(→Fluxos Alternativos) |
|||
| Linha 26: | Linha 26: | ||
'''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 | + | 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 | + | * 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 55: | Linha 67: | ||
* Nome do fornecedor: fonte um pouco destacada. | * Nome do fornecedor: fonte um pouco destacada. | ||
| + | * Data da cotação / Número da cotação. | ||
| + | |||
| + | (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 | + | Apenas o preço é editável. O vendedor poderá clicar no link quantas vezes quiser, até a data da validade da cotação. Os preços |
'''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. | ||
| + | |||
= Regras de negócio = | = Regras de negócio = | ||
| Linha 77: | Linha 93: | ||
* 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 112: | ||
* 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 das 10h40min de 10 de dezembro de 2013
Conteúdo |
Objetivo
- Manter
Atores
- Usuário
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.
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.
Diagrama de classes
Fluxo de eventos
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".
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)
- 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á:
- 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:
- Nome do fornecedor: fonte um pouco destacada.
- Data da cotação / Número da cotação.
(em um grid)
- Código do produto
- Referência do produto
- Descrição
- Grade
- Unidade (usada ao abrir a cotação)
- Quantidade
- 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. Os preços
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.
Regras de negócio
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.
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.