UC00097 - Abertura de Cotação
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 1, dos fluxos alternativos. Esta URL é gerada clicando no botão "E-mail".
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.
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)
- 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
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: 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:
- Referência do produto
- Descrição
- Grade
- Unidade
- Quantidade
- Preço
Apenas o preço é editável.
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.
- Comprador:
- Observação: campo estilo memo.
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.
- 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.