UC00066 - Abertura de caixa

De Wiki Java - Interno
Edição feita às 23h07min de 25 de maio de 2014 por Daniel (disc | contribs)

Ir para: navegação, pesquisa

Conteúdo

Objetivo

  • Manter abertura de caixa
  • Gerar movimento de abertura de caixa.

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 Abertura de caixa. Este nome será utilizado para criar a página no Wiki.
  • Gerar log/auditoria para as alterações realizadas na rotina.

Resultado esperado

Diagrama de classes

Layouts sugeridos

Fluxo de eventos

Fluxos principais

Fluxo 1: Usuário acessa a rotina Menu > Movimentos > Tesouraria> Controle de caixa/checkouts > Abertura de caixa.

  • O controle de acesso do sistema verifica se o usuário pode acessar arotina e quais funcionalidades estarão disponíveis para o mesmo.
  • Sistema exibe a tela inicial da rotina de abertura de caixa conforme regra de negócio RN03.


Fluxo 2: Usuário aciona o botão [Adicionar abertura de caixa].

  • Sistema exibe tela de manutenção da rotina conforme RN01.


Fluxo 3: Usuário preenche os dados referentes à abertura de caixa e aciona o botão [Salvar].

  • Se de acordo com a regra de negócio RN04, os dados da abertura são salvos.

Fluxos alternativos

Fluxo 1: Usuário acessa a rotina em questão e entra em modo de alteração em uma abertura de caixa.

  • Se o usuário para qual o caixa em questão foi aberto ainda não realizou nenhuma movimentação de venda, o sistema permitirá que as alterações sejam gravadas normalmente.
  • Se qualquer tipo de movimentação foi realizada no caixa, o sistema não permitirá sua alteração e emitirá ao usuário a seguinte mensagem de alerta: Este caixa já foi movimentado e portanto não será permitido alterar seus dados de abertura..


Fluxo 2: Usuário acessa a rotina em questão e entra tenta excluir uma determinada abertura de caixa.

  • Sistema verifica se o usuário que está tentando excluir possui permissão para excluir.
  • Se o usuário possuir permissão para excluir, será verificado se o caixa em questão já foi movimentado após a sua abertura. Se não houve movimentação a exclusão ocorrerá normalmente mediante a uma mensagem de confirmação. Se houve movimentação no caixa, o sistema não permitirá a sua exclusão e emitirá ao usuário a seguinte mensagem: Este caixa já foi movimentado e portanto não será permitido excluir o registro de sua abertura.
  • Se o usuário não possuir permissão de exclusão esta funcionalidade não será visível/accessível para o mesmo.


Fluxo 3: Usuário faz a abertura do caixa com o parâmetro Imprimir recibo ativado na tela.

  • Sistema envia recibo para impressora imediatamente após a gravação dos dados sem opção de seleção de formato.

Fluxos de exceção

Fluxo 1: Usuário informa na abertura de um determinado caixa o mesmo subcaixa do configurado como subcaixa da tesouraria nos parâmetros da rotina em questão.

  • O sistema deverá abortar a abertura do caixa e emitir ao usuário a seguinte mensagem de alerta: O subcaixa XXXXX esta sendo utilizado nos parâmetros da rotina em questão como subcaixa de tesouraria e portanto não será possível utiliza-lo na abertura de caixa.

1. Usuário acessa a rotina em questão e tenta fazer aabertura de um caixa para determinado usuário.

a. Assim que o usuário for informado, o sistema verifica se para o mesmoexiste algum caixa em aberto. Se sim, a abertura de um novo caixa não serápermitida e a seguinte mensagem de alerta será exibida: O usuário informado possui um ou mais caixaspendentes de fechamento. Faça o fechamento do(s) caixa(s) em aberto e tentenovamente.


b. Assim que o usuário for informado, será verificado se nos parâmetros doPDV o sistema está configurado para gerar caixa para as vendas do usuário. Sesim, para o usuário/operador em questão deverá ser informado um subcaixa.


Neste caso, assim que o usuário forinformado será verificado se o mesmo é um operador de caixa em seu cadastro ese ele está vinculado a mais de um subcaixa no cadastro de subcaixa. Se sim, osistema não permitirá a abertura de caixa para este usuário e exibirá aseguinte mensagem: Não serápossível abrir um caixa para este usuário/operador pois o mesmo vinculado amais de um subcaixa.


Assim que o usuário forinformado, será verificado se no cadastro do mesmo ele está marcado comooperador de caixa. Se não, o caixa não será aberto e a seguinte mensagem seráexibida: Não será possível abrir caixa para o usuárioinformado, pois o mesmo não está marcado como operador de caixa em seu cadastro

Regras de negócio

RN01 - Tela de manutenção

Descrição dos campos e funcionalidades da rotina:

  1. Data: Neste campo deverá ser informada a data em que será feita a abertura de caixa. A informação da data é obrigatória e a mesma não poderá ser menor que a data de movimento (data utilizada no login).
  2. Valor suprimento: Neste campo deverá ser informado o valor com qual será aberto o caixa. Esta informação é obrigatória e somente serão aceitos valores maiores ou iguais a zero.
  3. Usuário: Neste campo deverá ser informado o usuário para qual o caixa será aberto. Esta informação é obrigatória. Ao digitar o nome do usuário o sistema fará uma pesquisa dinâmica dentre os usuários cadastrados a exemplo de como ocorre nos campos de descrição de clientes, produtos e etc.
  4. Subcaixa: Caso o PDV esteja configurado para utilizar fechamento de caixa e também gerar movimento de caixa para cada venda do usuário, a informação de um subcaixa será obrigatória na abertura de caixa, caso contrário este campo ficará desabilitado.
  5. Turno: Este campo permitirá que um ou mais turnos sejam atribuídos à abertura de caixa do usuário. O sistema permitirá que sejam marcados 4 turnos conforme segue abaixo:
    • 1º turno
    • 2º turno
    • 3º turno
    • 4º turno
  6. Imprimir recibo: Com este parâmetro ativado, após a gravação dos dados o sistema enviará a impressão do recibo diretamente para impressora.

RN02 - Parâmetros

Ao acessar este botão o usuário poderá definir de que forma serão gerados os movimentos de suprimento de caixa conforme segue abaixo.

  1. Subcaixa da tesouraria: Neste campo deverá ser informado o subcaixa da tesouraria que será utilizado ao para o movimento de débito ou crédito nas contas mais abaixo.
  2. Conta caixa para débito de suprimento: Neste campo deverá ser informada uma conta caixa de débito para receber um lançamento de débito no valor em que cada caixa foi aberto.
  3. Conta caixa para crédito de suprimento: Neste campo deverá ser informada uma conta caixa de crédito para receber um lançamento de crédito no valor em que cada caixa foi aberto. Ao gerar o crédito para esta conta será utilizado o subcaixa do usuário.

RN03 - Tela de pesquisa

Na tela inicial da rotina em questão deverá ser utilizado o grid que utiliza o mecanismo de pesquisa lucene. As colunas a serem exibidas no grid serão:

  1. DATA DA ABERTURA: Data em que foram realizadas as aberturas de caixa.
  2. VALOR SUPRIMENTO: Valor inicial atribuído para o caixa no momento de sua abertura.
  3. USUÁRIO: Nome do usuário para qual o caixa foi aberto.
  4. SUBCAIXA: Nome do subcaixa utilizado na abertura do caixa.
  5. TURNOS: Turnos marcados na abertura do caixa.
  6. STATUS: Informará se o caixa está aberto ou fechado.

RN04 - Regras gerais

Integração com o PDV

Quando o PDV estiver configurado para utilizar fechamento de caixa e também gerar movimento de caixa para cada venda do usuário, se nos parâmetros da rotina de abertura de caixa não estiverem definidas as contas de débito e crédito juntamente com o subcaixa da tesouraria, antes de realizar a abertura de um caixa o sistema deverá alertar ao usuário que é necessário acessar os parâmetros e fazer as devidas configurações.

A abertura de caixa só poderá ser gravada se:

  1. A data informada for maior ou igual à data demovimento.
  2. Se o valor informado para abertura for maior ou igual a zero.
  3. Se foi informado um usuário que em seu cadastro esteja marcado como operador de caixa e/ou esteja vinculado ao subcaixa (quando utilizado).
  4. Se foi informado um subcaixa
  5. Se pelo menos um turno foi selecionado.
Ferramentas pessoais
Espaços nominais

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