UC00002 - Lançamento de propostas
Conteúdo |
Objetivo
- Manter lançamento de propostas.
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 Lançamento de propostas. Este nome será utilizado para criar a página no Wiki.
- Ter desenvolvido os casos de uso UC00001 - Cadastro de status de propostas e UC00003 - Cadastro de projetos.
Sistema
- ResulthWEB Representações
Resultado esperado
- Lançar no sistema propostas de clientes.
Diagrama de classes
Layouts sugeridos
Fluxo de eventos
Fluxos principais
Fluxo 1: Usuário acessa Menu > Cadastros > Faturamento > Cliente > Lançamento de propostas.
- Sistema exibe ao usuário a tela inicial da rotina conforme regra de negócio RN01.
Fluxo 2: Usuário aciona o botão [Adicionar proposta].
- Sistema exibe ao usuário a tela de manutenção da rotina conforme regra de negócio RN02.
Fluxo 3: Usuário informa os dados da proposta e aciona o botão [Salvar].
- Sistema salva proposta no banco de dados e emite uma mensagem confirmando a gravação ao usuário.
Fluxos alternativos
Fluxo 1: Usuário acessa a rotina e utiliza a aba de consulta para filtrar as propostas desejadas.
- Sistema procede na filtragem conforme determina a regra de negócio RN01.
- Caso nenhum resultado seja encontrada para os filtros utilizados, o sistema emite ao usuário uma mensagem com esta informação.
Fluxo 2: Em modo de inclusão/alteração usuário seleciona um anexo para proposta e faz upload do mesmo.
- Uma vez que o anexo será vinculado à proposta somente quando o botão [Salvar] for acionado, o campo Anexar proposta permanecerá habilitado e permitirá ao usuário selecionar outro arquivo se ele desejar (substituirá o anexo anteior).
Fluxo 3: Usuário acessa uma proposta já gravada em modo de consulta.
- Sistema exibe logo à direita do campo Anexar proposta dois botões conforme regra de negócio RN02, um para fazer download da proposta em anexo e outro para remove-la. Enquanto em modo de consulta o botão para remover o anexo deverá permanecer desabilitado.
- Caso usuário entre em modo de alteração e remova o anexo da proposta o campo Anexar proposta será habilitado novamente conforme regra de negócio RN02.
Fluxo 4: Em modo de inclusão ou alteração usuário seleciona para uma determinada proposta no campo Status um status que possui marcado em seu cadastro o parâmetro Finaliza proposta marcado acionando o botão [Salvar] em seguida.
- Antes de realizar a gravação sistema emite ao usuário a seguinte mensagem de confirmação: O status selecionado definirá esta proposta como finalizada, o que impedirá que a mesma seja alterada ou excluída futuramente. Deseja prosseguir?
Fluxos de exceção
Fluxo 1: Pela tela de pesquisa ou pela tela de manutenção o usuário tenta alterar ou excluir uma proposta que esteja com um status que a define como finalizada.
- Sistema aborta a operação e emite ao usuário a seguinte mensagem de alerta: O status atual desta proposta a define como finalizada e portanto não é permitido altera-la ou excluí-la.
Fluxo 2: Em modo de alteração ou inclusão usuário aciona o botão [Salvar] sem que todos os campos obrigatórios tenham sido preenchidos.
- Sistema aborta a operação e emite ao usuário a seguinte mensagem de alerta: O campo X é de preenchimento obrigatório. Onde X corresponde ao nome do(s) campo(s) obrigatório(s) não preenchido(s).
Regras de negócio
RN01 - Tela de pesquisa
Exibida assim que a rotina for acessada, listará as propostas já cadastradas em um grid com as seguintes colunas:
- Nº PROPOSTA: Número atribuído à proposta no momento de seu cadastro.
- DATA: Data em que a proposta foi lançada no sistema.
- VENDEDOR: Vendedor vinculado à proposta.
- CLIENTE: Código + descrição do cliente para quem a proposta foi lançada.
- VALOR: Valor total da proposta.
- PROJETO: Projeto vinculado à proposta.
- PROJETO EXTERNO: Nome do projeto externo informado na proposta.
- STATUS: Exibe o status atual da proposta.
No canto superior direito estará disponível a aba de consulta, que permitirá ao usuário filtrar propostas já lançadas com os seguintes filtros:
- Nº Proposta: Campo onde o usuário poderá informar um número de uma determinada proposta para consulta. Caso este filtro seja utilizado, os demais filtros serão desconsiderados na consulta.
- Período: Campos onde o usuário poderá informar uma data inicial e uma data final para filtrar propostas lançadas neste período. Por padrão, quando a aba de consulta for exibida estes campos serão automaticamente preenchidos com o primeiro e último dia do mês corrente.
- Vendedor: Campo onde o usuário poderá selecionar um vendedor para filtrar as propostas vinculadas ao mesmo.
- Cliente: Campo onde o usuário poderá informar um cliente para filtrar todas as propostas vinculadas ao mesmo.
- Valor: Campos onde o usuário poderá informar uma faixa de valor (inicial e final) para filtrar propostas cujos valores estão compreendidos na faixa informada.
- Projeto: Campo onde o usuário poderá selecionar um dentre os projetos cadastrados e ativos para filtrar as propostas vinculadas ao mesmo.
- Status: Campo onde o usuário poderá selecionar um dentre os status cadastrados e ativos para filtrar as propostas vinculadas ao mesmo.
No canto superior esquerdo da tela estará disponível o botão [Adicionar proposta] que direcionará o usuário para tela de manutenção.
RN02 - Tela de manutenção
Permitirá ao usuário lançar novas propostas no sistema com os seguintes campos e funcionalidades:
- Nº Proposta: Campo somente leitura que exibirá o número atribuído à proposta após a mesma ser gravada. Este número será gerado automaticamente pelo sistema.
- Data: Campo somente leitura que é preenchido automaticamente com a data na qual o usuário logou no sistema.
- Vendedor: Campo onde serão listados os vendedores cadastrados no sistema para que o usuário selecione um vendedor a ser vinculado à proposta.
- Cliente: Campo onde o usuário deverá informar, obrigatoriamente, o cliente da proposta. O cliente poderá ser informado através de seu código, pelo nome ou através de uma pesquisa.
- Valor: Campo onde o usuário deverá informar o valor total da proposta.
- Projeto: Campo onde serão listados os projetos cadastrados no sistema para que o usuário selecione, obrigatoriamente, um projeto a ser vinculado à proposta.
- Projeto externo: Campo onde o usuário deverá informar, obrigatoriamente, o nome do projeto externo para a proposta em questão.
- Status: Campo onde deverá ser definido, obrigatoriamente, o status inicial da proposta. As opções exibidas neste combobox serão todos os status de proposta cadastrados e ativos.
- Anexar proposta: Campo que permitirá ao usuário selecionar em seu computador, obrigatoriamente, um arquivo para upload que será vinculado à proposta em questão quando a mesma for salva. Somente serão aceitos arquivos cuja extensão é doc ou pdf. Uma vez que uma proposta foi salva com anexo este campo será desabilitado quando a mesma for consultada ou alterada.
- Anexo: Quando em modo de consulta ou alteração será exibido o nome+extensão do arquivo anexado à proposta. Logo à direita do nome do arquivo serão exibidos dois ícones que quando acionados terão as seguintes funcionalidades:
- Download: Permite que o arquivo em anexo na proposta seja baixado/aberto pelo navegador.
- Remover: Removerá o arquivo em anexo à proposta diante mensagem de confirmação. Uma vez que o anexo for removido, o campo Anexar proposta será habilitado novamente.
Para registros buscados de outros cadastros que possuem o atributo ativo/inativo, deverão ser considerados somente os que estiverem ativos
Quadro de dados
| NOME | OBRIGATÓRIO | TIPO DE ENTRADA | VALORES POSSÍVEIS | TAMANHO | VALOR PADRÃO | OBSERVAÇÃO |
| Vendedor | Sim | Combobox | Vendedores cadastrados e ativos | Vazio | ||
| Cliente | Sim | Input | Clientes cadastrados, ativos e desbloqueados | Vazio | ||
| Valor | Não | Input | Numéricos | 0,00 | ||
| Projeto | Sim | Combobox | Projetos cadastrados e ativos | Vazio | ||
| Projeto externo | Sim | Input | Alfanuméricos | 60 | Vazio | |
| Status | Sim | Combobox | Status cadastrados e ativos | Vazio | ||
| Anexo | Sim | Input/Upload | Arquivos de extensão doc ou pdf | Vazio |