UC00120 - Transferência de caixa
Conteúdo |
Objetivo
- Manter movimento de transferência 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 Transferência de caixa. Este nome será utilizado para criar a página no Wiki.
- A rotina de movimento de caixa avulso não poderá alterar/excluir movimentos gerados em função de uma transferência. Fazer devidos ajustes na rotina em questão.
- Nas telas de pesquisa e de manutenção da transferência de caixa a opção de alteração não deverá ser visível. O usuário poderá somente incluir e excluir transferências.
- Adicionar no grid da rotina de movimento de caixa uma coluna que exibe o histórico das movimentações.
Resultado esperado
- Transferir dinheiro de uma conta ou subcaixa para outro(a), gerando os devidos movimentos de débito e crédito nas contas/subcaixas de origem e destino.
Diagrama de classes
Layouts sugeridos
Fluxo de eventos
Fluxos principais
Fluxo 1: Usuário acessa Menu -> Movimentos -> Tesouraria -> Transferência de caixa.
- Sistema exibe a tela de pesquisa da rotina em questão conforme RN01.
Fluxo 2: Usuário aciona o botão [Adicionar transferência de caixa].
- Sistema exibe a tela de manutenção da rotina conforme RN02.
Fluxo 3: Usuário informa os dados da transferência e aciona o botão [Salvar].
- Sistema realiza os movimentos referentes à transferência conforme regra de negócio RN03.
Fluxos alternativos
Fluxo 1: Usuário exclui (pela tela de pesquisa ou pela tela de manutenção) uma determinada transferência.
- Sistema emite ao usuário a seguinte mensagem de confirmação: A exclusão da transferência irá desfazer os movimentos de saída e entrada nos subcaixas de origem e destino. Deseja continuar?
- Caso usuário clique em [Sim], o sistema exclui a transferência e seus respectivos movimentos de caixa.
- Caso usuário clique em [Não], a exclusão é abortada.
Fluxo 2: Usuário faz uma transferência informando filial e subcaixa idênticos na origem e destino, mas com contas caixa diferentes.
- Sistema realiza a transferência normalmente.
Fluxos de exceção
Fluxo 1: Na rotina de movimento de caixa usuário tenta alterar ou excluir um movimento gerado em função de uma transferência, seja ele de entrada ou saída.
- Sistema aborta a operação e emite a seguinte mensagem de alerta: Este movimento foi gerado a partir de uma transferência de caixa e portanto sua alteração/exclusão não é permitida.
Fluxo 3: Ao realizar uma transferência o usuário informa como origem e destino filial, subcaixa e conta caixa idênticos.
- Sistema não permite que o usuário salve a transferência e emite a seguinte mensagem de alerta: A filial, o subcaixa e a conta caixa de origem e destino não podem ser iguais.
Fluxo 4: Ao realizar uma transferência o usuário informa um valor maior que o saldo atual do subcaixa informado na origem.
- Sistema aborta a operação e emite ao usuário a seguinte mensagem de alerta: O subcaixa informado na origem não possui saldo suficiente para gerar a saída com o valor informado na transferência.
Fluxo 5: Usuário tenta excluir uma transferência cujo subcaixa informado no destino não possui saldo suficiente para o movimento de entrada (gerado pela transferência em questão) a ser excluído.
- Sistema aborta a operação e emite a seguinte mensagem de alerta: O subcaixa de destino não possui saldo suficiente para o estorno do valor de entrada gerado na transferência.
Regras de negócio
RN01 - Tela de pesquisa
Exibirá os movimentos de transferência de caixa já realizados em um grid com as seguintes colunas:
- Nº DOCUMENTO: Exibe o número do documento de transferência gerado automaticamente pelo sistema.
- ORIGEM: Exibe a filial, o subcaixa e a conta caixa informados como origem na transferência.
- DESTINO: Exibe a filial, o subcaixa e a conta caixa informados como destino na transferência.
- DATA/HORA: Exibe a data e hora em que a transferência foi realizada.
- VALOR: Exibe o valor da transferência.
- USUÁRIO: Exibe o usuário que realizou a transferência.
- HISTÓRICO: Exibe o histórico/observação informado na transferência.
Um pouco acima do grid estará disponível a aba de consulta, que permitirá ao usuário filtrar transferências já realizadas com os seguintes filtros:
- Nº Documento: Consulta por uma determinada transferência cujo número é igual ao informado. Caso este filtro seja utilizado, os demais filtros serão desconsiderados na consulta.
- Origem/Destino: Campos onde o usuário poderá informar filial/subcaixa/conta caixa de origem e destino para que sejam consideradas na consulta todas as transferências cuja origem e destino correspondem aos dados informados neste filtro. Os campos de filial de origem e destino deverão listar somente filiais cujo usuário logado tem acesso. Os campos de subcaixa de origem e destino deverão listar somente subcaixas que pertencem às filiais cujo usuário possui acesso e que estejam vinculados ao mesmo. Usuários que possuem acesso total ao sistema poderão visualizar todos os subcaixas e filiais.
- Período: Campos onde o usuário poderá informar uma data inicial e final para consultar todas as transferências realizadas no período informado. A hora da transferência não será considerada na filtragem.
- Valores entre: Campos onde o usuário poderá informar um valor inicial e final para consultar todas as transferências cujo valor está dentro do mínimo e máximo informados neste filtro.
- Usuário: Neste campo serão listados todos os usuários cadastrados no sistema e que realizaram pelo menos uma transferência. A partir do momento que um usuário é selecionado, serão consideradas na consulta somente transferências realizadas pelo mesmo.
RN02 - Tela de manutenção
Permitirá ao usuário realizar movimentos de transferência de caixa com os seguintes campos e funcionalidades:
- Data do movimento: Preenchido automaticamente com a data de login do usuário permitindo sua alteração caso necessário.
- Nº Documento: Campo somente leitura onde será exibido (somente transferências já gravadas) o número de transferência gerado automaticamente pelo sistema.
- Valor: Campo onde deverá ser informado o valor da transferência.
- Histórico: Campo que permitirá ao usuário selecionar um histórico de caixa já cadastrado no sistema ou informar um novo histórico. O usuário poderá também selecionar um histórico de caixa já cadastrado e altera-lo.
- Origem: Campos onde deverão ser informados filial, subcaixa e conta caixa de onde o dinheiro deverá sair. Aqui só poderão ser informadas contas caixa de débito.
- Destino: Campos onde deverão ser informados filial, subcaixa e conta caixa onde o dinheiro deverá entrar. Aqui só poderão ser informadas contas caixa de crédito.
- Botão [Salvar]: Valida os dados informados na tela e realiza o movimento de transferência conforme regra de negócio RN03.
- Botão [Limpar]: Limpa todos os campos da tela voltando-os a seu estado inicial.
- Botão [Cancelar]: Aborta a operação e retora para a tela de pesquisa sem mensagem de confirmação.
O campo Filial deverá listar somente filiais cujo usuário logado possui acesso e o campo Subcaixa deverá listar somente subcaixas vinculados à filial selecionada e ao usuário logado.
Caso usuário logado tenha acesso total ao sistema, ele poderá visualizar/selecionar todas as filiais e subcaixas tanto na origem quanto no destino.
RN03 - Transferência de caixa
O movimento de transferência de caixa originará outros dois movimentos de caixa, um de saída na filial/subcaixa/conta caixa de origem e outro de entrada na filial/subcaixa/conta caixa de destino. Segue abaixo as principais características dos movimentos de débito e crédito a serem gerados:
Saída
- Lançamento avulso: Esta propriedade deverá ser gravada como false.
- Documento de origem: Nesta propriedade deverá ser informado o número da transferência de caixa.
- Filial/Subcaixa/Conta caixa: Filial, subcaixa e conta caixa informados na origem da transferência.
- Data do movimento: Será a data informada na transferência.
- Histórico: Receberá o seguinte texto: Saída referente a transferência de caixa Nº XXXX, realizada pelo usuário YYYY em ZZ/ZZ/ZZZZ as ZZ:ZZ horas. Onde X corresponde ao número da transferência, Y corresponde ao usuário que a realizou e Z corresponde a data e hora da mesma.
Entrada
- Lançamento avulso: Esta propriedade deverá ser gravada como false.
- Documento de origem: Nesta propriedade deverá ser informado o número da transferência de caixa.
- Filial/Subcaixa/Conta caixa: Filial, subcaixa e conta caixa informados no destino da transferência.
- Data do movimento: Será a data informada na transferência.
- Histórico: Receberá o seguinte texto: Entrada referente a transferência de caixa Nº XXXX, realizada pelo usuário YYYY em ZZ/ZZ/ZZZZ as ZZ:ZZ horas. Onde X corresponde ao número da transferência, Y corresponde ao usuário que a realizou e Z corresponde a data e hora da mesma.
Quadro de dados
Tela de pesquisa
| NOME | OBRIGATÓRIO | TIPO DE ENTRADA | VALORES POSSÍVEIS | TAMANHO | VALOR PADRÃO | OBSERVAÇÃO |
| Data do movimento | Sim | Input | Data | Na tela exibirá a data, mas no banco será gravada a data e a hora. | ||
| Nº Documento | Sim | Input | Alfanuméricos | 15 | Vazio | |
| Valor | Sim | Input | Numérico | |||
| Histórico | Sim | Input/Combo | Alfanuméricos/Históricos cadastrados | 60 | Vazio | |
| Filial | Sim | Combobox | Filiais cadastradas | Vazio | ||
| Subcaixa | Sim | Combobox | Subcaixas cadastrados | Vazio | ||
| Conta caixa | Sim | Input | Contas caixa cadastradas | Vazio |
