UC00069 - Produtos similares e agregados

De Wiki Java - Interno
Ir para: navegação, pesquisa

Conteúdo

[editar] Objetivo

  • Manter produtos similares e agregados

[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 Similares. Este nome será utilizado para criar a página no Wiki.
  • No projeto da rotina, em confsrc > META-INF > messages > view.properties definir o nome como Agregados. Este nome será utilizado para criar a página no Wiki.
  • Tratar rotinas que utilizarão produtos agregados (PDV por exemplo) para considerar as listas de agregados criadas nesta rotina.
  • Tratar rotinas que pesquisam produtos para considerar/exibir produtos similares.

[editar] Resultado esperado

  • Informar ao usuário tem telas de pesquisa ou movimentações produtos que sejam similares ou agregados uns com os outros.

[editar] Diagrama de classes

Produto.png

[editar] Fluxo de eventos

[editar] Fluxos principais

Fluxo 1: Usuário acessa a rotina Menu > Cadastros > Faturamento > Item > Agregados e similares.


Fluxo 2: Usuário acessa a rotina e faz o relacionamento dos produtos que são agregados e similares acionando o botão <Salvar> em seguida.

  • Se de acordo com a regra de negócio RN04 sistema grava o relacionamento conforme regra de negócio RN05.

[editar] Fluxos alternativos

Fluxo 1: Usuário acessa a rotina em questão e na aba Agregados informa na sessão de origem (à esquerda) um produto, ou grupo/subgrupo que já possuem itens agregados.

  • Sistema procede conforme regra de negócio RN06.


Fluxo 2: Usuário acessa a rotina em questão e na aba Similares informa um item que já existe em uma lista de similares previamente salva.

  • Sistema procede conforme regra de negócio RN06.


Fluxo 3: Em qualquer rotina do sistema que utilize a tela de pesquisa de itens, em relação a produtos similares o sistema deverá proceder conforme caso de uso UC00071 - Tela de pesquisa.


Fluxo 4: Usuário acessa a rotina e aciona o botão <Imprimir> tendo ou não tendo informado dados nas abas.

  • Sistema procede conforme regra de negócio RN07.


Fluxo 5: Na rotina de similares, após informar um item que já pertence a uma lista e os demais itens da mesma serem carregados automaticamente usuário aciona o botão <Excluir> na parte inferior da tela.

  • Sistema exclui permanentemente a lista que foi carregada em tela diante mensagem de confirmação.
  • Caso usuário tenha excluído um determinado que pertencia à lista, ou tenha adicionado um novo produto na mesma, ao acionar o botão <Excluir> estas ações não serão consideradas e a exclusão da lista inteira (que está salva) ocorrerá normalmente.


Fluxo 6: Na rotina de agregados, ao ter listada em tela uma relação de produtos agregados (origem e destino), usuário aciona o botão <Excluir> na parte inferior da tela.

  • Sistema exclui permanentemente a lista de agregados diante mensagem de confirmação. Caso usuário tenha personalizado a lista em questão, na exclusão estas alterações serão desconsideradas.


Fluxo 7: Na rotina de agregados ou de similares, usuário aciona o botão <Limpar>.

  • Sistema descarta quaisquer dados já informados em tela e volta a rotina a seu estado inicial.

[editar] Fluxos de exceções

Fluxo 1: Enquanto relacionando itens agregados e similares, usuário tenta inserir nas listas de agregados ou na lista de similares um mesmo item mais de uma vez.

  • Sistema procede conforme regra de negócio RN04.


Fluxo 2: Na aba de agregados ou de similares, usuário aciona o botão <Adicionar> sem informar nenhum item.

  • Sistema procede conforme regra de negócio RN04.


Fluxo 3: Na rotina em questão, usuário aciona o botão <Salvar> sem que nenhum item esteja inserido na lista de agregados ou de similares.

  • Sistema aborta a operação e emite a seguinte mensagem: Não há itens para serem relacionados como agregados ou similares..


Fluxo 4: Na rotina de agregados usuário filtra um determinado grupo/subgrupo de produtos para adicionar no grid, porém dentre os produtos do grupo/subgrupo, um ou mais itens já foram relacionados em um ou mais grupos de agregados já salvos.

  • Quando botão <Adicionar> for acionado o sistema não fará a inclusão dos itens no grid e emitirá ao usuário a seguinte mensagem de alerta: O(s) produto(s) X, Y e Z pertencentes ao grupo/subgrupo utilizados na filtragem já estão relacionados a um grupo de agregados, e portanto não poderão ser adicionados no grid.. Onde X, Y e Z equivalem aos códigos dos produtos que se encaixam na situação em questão.

[editar] Regras de negócio

[editar] RN01 - Tela inicial

A tela inicial desta rotina será basicamente a tela de cadastro, não haverá o grid que listará as movimentações já realizadas. A consulta de movimentações já realizadas se dará conforme descrito mais abaixo.

[editar] RN02 - Agregados e similares (aba Agregados)

Esta aba terá duas sessões, a de produtos de origem (à esquerda) e a de produtos de destino (à direita). Na sessão de produtos de origem poderão ser informados um ou mais produtos que terão como agregados um ou mais produtos informados na sessão de produtos de destino.

  1. Produto: Campo onde o usuário deverá informar um produto já cadastrado.
  2. Grupo: Campo onde o usuário poderá informar um grupo de produtos já cadastrado.
  3. Subgrupo: Campo onde o usuário poderá informar um subgrupo de produtos. Por padrão este campo ficará desabilitado até que no campo Grupo seja informado um grupo que possua subgrupo(s), fazendo com que o campo em questão seja habilitado e preenchido com os subgrupos relacionados ao grupo selecionado.
  4. Adicionar: Quando acionado este botão incluirá no grid logo abaixo o produto informado, ou os produtos referentes ao grupo/subgrupo informados nos campos anteriores.
  5. Grid: Neste grid serão listados os produtos já adicionados com as informações CÓDIGO, DESCRIÇÃO e REFERÊNCIA. A última coluna do grid possibilitará ao usuário excluir produtos indesejados no relacionamento.


A sessão de produtos de destino ficará desabilitada até que pelo menos um produto seja inserido no grid da sessão de produtos de origem.

[editar] RN03 - Agregados e similares (aba Similares)

  1. Produto: Campo onde poderá ser informado um produto a ser adicionado na lista de similares.
  2. Adicionar: Botão que incluirá o produto informado no grid/lista de produtos similares.
  3. Grid: Neste grid serão exibidos todos os produtos adicionados que serão similares entre si com CÓDIGO, DESCRIÇÃO e REFERÊNCIA. A última coluna do grid permitirá ao usuário excluir produtos indesejados da lista.

[editar] RN04 - Validações e procedimentos gerais

[editar] Agregados

  1. Tanto na sessão de produtos de origem quanto na sessão de produtos de destino, não será permitido adicionar um item já listado no grid. Caso usuário tente adicionar no grid um item que já esteja listado o sistema deverá abortar a operação, voltar o foco para o campo Produto e exibir a mensagem de alerta Produto já adicionado.
  2. Também para ambas as sessões, assim que um produto for informado o sistema preencherá automaticamente os campos Grupo e Subgrupo com o grupo e subgrupo amarrados ao produto e os desabilitará até que o campo Produto seja limpo.
  3. Em ambas as sessões, quando o botão <Adicionar> for acionado pelo menos um produto, um grupo, ou um grupo e subgrupo devem ter sido informados. Caso contrário o sistema posicionará o foco no campo Produto e emitirá ao usuário a seguinte mensagem de alerta Produto ou grupo/subgrupo não informados.
  4. O botão <Adicionar> de ambas as sessões validará também se o usuário está tentando incluir no grid de uma determinada sessão um produto ou grupo/subgrupo já adicionado em outra sessão. Caso isto ocorra a operação será abortada, o foco será posicionado no campo Produto e a seguinte mensagem de alerta será exibida ao usuário: Produto ou grupo/subgrupo já adicionado no grid ao lado.
  5. Será permitido adicionar na lista de origem de um grupo de agregados um produto que já exista na lista de destino de outro grupo de agregados. Para este caso, o sistema deverá simplesmente adicionar o item em questão e não executar nenhuma outra ação.
  6. Será permitido adicionar na lista de destino de um grupo de agregados um produto que já exista na lista de origem de outro grupo de agregados. Para este caso, o sistema deverá simplesmente adicionar o item em questão e não executar nenhuma outra ação.
  7. Não será permitido adicionar na lista de origem de um grupo de agregados um produto que já pertença à lista de origem de outro grupo de agregados. Neste caso o sistema deverá abortar a inclusão do item e exibir ao usuário a seguinte mensagem de alerta Produto já relacionado na lista de origem de outro grupo de agregados. Um mesmo produto não pode pertencer a mais de uma lista de origem no mesmo ou em diferentes grupos de agregados.

[editar] Similares

  1. Para todo produto informado no campo Produto, quando acionado o botão <Adicionar> o mesmo será incluso no grid/lista de similares logo abaixo. Caso usuário informe um produto que já exista em uma lista de similares, quando o botão <Adicionar> for acionado serão automaticamente listados no grid todos os produtos da lista já existente incluindo o que foi informado pelo usuário.
  2. O sistema não permitirá que um mesmo item seja inserido na lista mais de uma vez, exibindo ao usuário, quando esta situação ocorrer, a seguinte mensagem Item já inserido no grid..

[editar] RN05 - Relacionamento

Os itens agregados deverão ser gravados em duas listas, a de origem e a de destino. Exemplo:

    Em uma lista de origem são relacionados todos os produtos do grupo Parafusos.
    Na lista de destino são relacionados como agregados da lista de origem todos 
    os produtos dos grupos Porcas e Arruelas.

Os itens que são similares deverão ser gravados em outra lista, fazendo com que todos os itens pertencentes a lista em questão sejam similares entre si.

[editar] RN06 - Itens agregados ou similares que já possuem relacionamento

[editar] Agregados

Independente se o usuário informar um único produto ou um grupo/subgrupo na sessão de itens de origem, quando o botão <Adicionar> for acionado serão listados no grid de origem o produto ou os produtos do grupo/subgrupo informado juntamente com os demais produtos que pertencem à mesma lista de origem. Também serão carregados automaticamente no grid da sessão de itens de destino todos os produtos da respectiva lista de destino.


Caso usuário tenha informado um grupo e/ou subgrupo cujos itens já possuem itens agregados e caso nem todos os itens do grupo/subgrupo em questão tenham feito parte do relacionamento que fora salvo, proceder conforme fluxo de exceção 4.


  • Produtos que já estão salvos em uma lista de origem/destino: Estes terão o fundo de sua linha no grid colorido na cor verde claro.
  • Produtos que pertencem ao grupo/subgrupo, mas que não estão salvos na lista de origem/destino: Estes terão o fundo de sua linha no grid colorido na cor atual que é padrão do sistema.

[editar] Similares

  1. Caso usuário informe um produto que está contido em uma lista de similares já existente, serão carregados automaticamente no grid da tela todos os itens pertencentes à lista em questão. Neste caso, por já estarem salvos, os itens similares terão o fundo de sua linha no grid colorido na cor verde claro.
  2. Caso usuário informe novos itens em uma lista já existente carregada no grid, estes não terão o fundo da linha colorido.
  3. Caso usuário tente informar em uma determinada lista (somente já existente), um produto que pertence a uma lista já gravada, o sistema não deverá permitir esta ação e emitir ao usuário a seguinte mensagem: Atenção! Este produto já faz parte de uma outra lista de similares, e portanto não poderá ser utilizado em uma nova lista. Sugestão: Exclua o produto em questão da lista a qual ele pertence e tente novamente.

[editar] RN07 - Impressão

Sempre que o botão <Imprimir> for acionado ele emitirá uma lista de itens agregados e similares de acordo com o modelo do layout sugerido e também de acordo com os Padrões de desenvolvimento.


Se o botão em questão for acionado sem que nenhum item esteja informado na lista de agregados ou de similares, serão impressos todos os relacionamentos existentes. Caso estejam listados em tela um determinado relacionamento para agregados e/ou similares, então na impressão serão listados somente os registros da tela.

[editar] Layout sugerido

Ferramentas pessoais
Espaços nominais

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