UC00082 - Consulta Curva ABC Dinâmica

De Wiki Java - Interno
(Diferença entre revisões)
Ir para: navegação, pesquisa
Linha 39: Linha 39:
 
#'''Considerar apenas os XX produtos mais importantes:''' Componente estilo spinBotton.
 
#'''Considerar apenas os XX produtos mais importantes:''' Componente estilo spinBotton.
 
#'''Ordenar por Maior venda ou Maior Markup:''' Componente estilo radioGroup.
 
#'''Ordenar por Maior venda ou Maior Markup:''' Componente estilo radioGroup.
 +
#'''Totalizar por:''' Componente combobox com as seguintes opções:
 +
#* Produto
 +
#* Grupo
 +
#* Família
 +
#* Marca
 +
#* Fabricante
 +
#* Fornecedor
 +
#* Vendedor
 +
#* Cliente
 +
#* Segmento de Mercado
 +
#* Classificação
 +
#* Cidade
 +
#* Estado
 +
#* Rota
 +
#* Tabela do Cliente
  
  
Linha 51: Linha 66:
 
#'''Fabricante:''' Componente estilo combobox
 
#'''Fabricante:''' Componente estilo combobox
 
#'''Principal Fornecedor:''' Componente de pesquisa padrão para "pessoas"
 
#'''Principal Fornecedor:''' Componente de pesquisa padrão para "pessoas"
 +
  
  
Linha 69: Linha 85:
 
== RN02 - Filtragem dos Dados da Curva ABC ==
 
== RN02 - Filtragem dos Dados da Curva ABC ==
  
* O sistema deverá ler os pedidos presentes na classe DoctoPedidoDevolucao,que são vendas efetivas (isto deve ser observado pela operação de saída, campo "Considerar em Vendas") e diminuir as entradas de trocas+devolução. Estas entradas são provenientes da classe de pedidos/devoluções e de uma nf de entrada (documento fiscal de entrada). Em ambos casos as operações são de entrada (entrada normal ou entrada via documento próprio). Em qualquer situação, só deduzir as vendas se na operação for uma "devolução de vendas".
+
* O sistema deverá ler os pedidos presentes na classe DoctoPedidoDevolucao (classe principal), que são vendas efetivas (isto deve ser observado pela operação de saída, campo "Considerar em Vendas") e diminuir as entradas de trocas+devolução. Estas entradas são provenientes da classe de pedidos/devoluções e de uma nf de entrada (documento fiscal de entrada). Em ambos casos as operações são de entrada (entrada normal ou entrada via documento próprio). Em qualquer situação, só deduzir as vendas se na operação for uma "devolução de vendas".
 +
 
 +
* Filiais: filtrar contra DoctoPedidoDevolucao.Filial.
 +
 
 +
* Período: observar se o usuário optou por data de pedido ou data de faturamento. A data de faturamento esta gravada no encerramento do pedido (EncerramentoPedido).
 +
 
 +
* Vendedor: se informado validar contra o vendedor da classe principal da venda (DoctoPedidoDevolucao.Vendedor).
 +
 
 +
* Apenas Pedidos Faturados ???: se marcado apenas para pedidos que tiveram encerramento.
 +
 
 +
* Filtragem de produtos: se informado algum filtro de produto, validá-los contra os itens do pedido. O fornecedor a ser validado, caso informado, refere-se apenas ao principal. Ou seja: não considerar fornecedores secundários.
 +
 
 +
* Filtragem de clientes: se informado um código de cliente especifico, considerar só as vendas e devolução do mesmo. Os demais filtros são todos referentes atributos presentes no cadastro do cliente,
 +
 
 +
 
 +
== RN03 - Tela exibição dos dados ==
 +
 
 +
Após realizar a filtragem, o sistema deverá exibir um grid com as as seguintes colunas
 +
 
 +
* #: - Número sequencial do registro. Dependerá da ordem solicitada. O usuário poderá pedir uma ordenação por maior venda ou maior markup (venda - custo).
 +
* Descrição: refere-se ao campo que o usuário escolheu para totalizar os dados. Exemplo: se ele quer uma curva ABC por segmento de mercado, nesta coluna, aparecerá a descrição do segmento de mercado.
 +
* Venda: soma liquida das vendas, deduzindo os descontos, adicionado os acréscimos e abatido as trocas e devoluções. Totalizado no campo escolhido pelo usuário.

Edição das 12h25min de 25 de setembro de 2013

Conteúdo

Objetivo

  • Fazer o ranking de vendas, no estilo curva ABC, através de um atributo dinâmico, a ser escolhido pelo usuário. Este ranking poderá ser impresso, gerado excell ou gráfico.

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 Consulta de Curva ABC Dinâmica. Este nome será utilizado para criar a página no Wiki.


Resultado esperado

  • Gerar a curva ABC, cujo campo totalizador seja dinâmico, em seus vários formatos.


Fluxo de eventos

Fluxos principais

Fluxo 1: Usuário acessa a rotina no menu Consulta -> Faturamento -> Curva ABC de Vendas Dinâmica.

  • Sistema exibe os campos de filtragem conforme RN01.


Fluxo 2: Usuário informa dados para filtragem das vendas.

  • Sistema procede conforme regra de negócio RN02, e em seguida, após clicar em <Pesquisa> o sistema exibe os dados conforme RN03.


Regras de negócio

RN01 - Tela inicial de filtragem

Haverá 3 regiões de filtragem: dados gerais, dados de produtos e dados de clientes. A parte referente dados gerais ficará visível por default. As duas outras regiões de filtragem ficarão ocultas, e serão apertas quando desejadas, em um componente estilo "Collapsible Panel"


Dados Gerais

  1. Filiais: Usar componente padrão do sistema
  2. Período: Usar componente padrão do sistema, para data inicial e final
  3. Tipo Período: Componente estilo radiogroup, onde se indica período de vendas ou período de faturamento. Posicionar à frente da data
  4. Vendedor: Componente estilo combobox, com todos os vendedores do sistema (ativos, inativos e bloqueados)
  5. Considerar para calculo de performance: Componente estilo combobox, com os seguintes preços disponíveis: preço de custo atual, preço de custo do dia da venda, preço médio atual, preço médio do dia da venda. Default "preço de custo atual".
  6. Apenas Pedidos Faturados: Componente checkbox, default marcado
  7. Considerar apenas os XX produtos mais importantes: Componente estilo spinBotton.
  8. Ordenar por Maior venda ou Maior Markup: Componente estilo radioGroup.
  9. Totalizar por: Componente combobox com as seguintes opções:
    • Produto
    • Grupo
    • Família
    • Marca
    • Fabricante
    • Fornecedor
    • Vendedor
    • Cliente
    • Segmento de Mercado
    • Classificação
    • Cidade
    • Estado
    • Rota
    • Tabela do Cliente


Filtragem de Produtos

Criar um link chamado "Filtragem de Produtos", que ao ser clicado abre um panel com as seguintes opções de filtragem:

  1. Grupo: Componente estilo combobox
  2. Subgrupo: Componente estilo combobox. Apenas se grupo for informado. A lista dos subgrupos refere-se ao grupo previamente informado.
  3. Familia: Componente estilo combobox
  4. Marca: Componente estilo combobox
  5. Fabricante: Componente estilo combobox
  6. Principal Fornecedor: Componente de pesquisa padrão para "pessoas"


Filtragem de Clientes

Criar um link chamado "Filtragem de Clientes", que ao ser clicado abre um panel com as seguintes opções de filtragem:

  1. Cliente: Componente de pesquisa padrão para "pessoas"
  2. Segmento: Componente estilo combobox
  3. Classificação do cliente: Componente estilo combobox
  4. Cidade: Componente padrão - edit com busca por aproximação
  5. Estado:
  6. Rota: Componente estilo combobox



RN02 - Filtragem dos Dados da Curva ABC

  • O sistema deverá ler os pedidos presentes na classe DoctoPedidoDevolucao (classe principal), que são vendas efetivas (isto deve ser observado pela operação de saída, campo "Considerar em Vendas") e diminuir as entradas de trocas+devolução. Estas entradas são provenientes da classe de pedidos/devoluções e de uma nf de entrada (documento fiscal de entrada). Em ambos casos as operações são de entrada (entrada normal ou entrada via documento próprio). Em qualquer situação, só deduzir as vendas se na operação for uma "devolução de vendas".
  • Filiais: filtrar contra DoctoPedidoDevolucao.Filial.
  • Período: observar se o usuário optou por data de pedido ou data de faturamento. A data de faturamento esta gravada no encerramento do pedido (EncerramentoPedido).
  • Vendedor: se informado validar contra o vendedor da classe principal da venda (DoctoPedidoDevolucao.Vendedor).
  • Apenas Pedidos Faturados ???: se marcado apenas para pedidos que tiveram encerramento.
  • Filtragem de produtos: se informado algum filtro de produto, validá-los contra os itens do pedido. O fornecedor a ser validado, caso informado, refere-se apenas ao principal. Ou seja: não considerar fornecedores secundários.
  • Filtragem de clientes: se informado um código de cliente especifico, considerar só as vendas e devolução do mesmo. Os demais filtros são todos referentes atributos presentes no cadastro do cliente,


RN03 - Tela exibição dos dados

Após realizar a filtragem, o sistema deverá exibir um grid com as as seguintes colunas

  • #: - Número sequencial do registro. Dependerá da ordem solicitada. O usuário poderá pedir uma ordenação por maior venda ou maior markup (venda - custo).
  • Descrição: refere-se ao campo que o usuário escolheu para totalizar os dados. Exemplo: se ele quer uma curva ABC por segmento de mercado, nesta coluna, aparecerá a descrição do segmento de mercado.
  • Venda: soma liquida das vendas, deduzindo os descontos, adicionado os acréscimos e abatido as trocas e devoluções. Totalizado no campo escolhido pelo usuário.
Ferramentas pessoais
Espaços nominais

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