A funcionalidade de “Empréstimos e devoluções” permite que o livro seja emprestado e devolvido para alunos e servidores da escola.
Ao acessar o módulo de Livros e empréstimos, na ferramenta “Emprestar/devolver o livro selecionado” ou no clique do botão direito do mouse na linha selecionada de algum livro da listagem o sistema deve exibir a tela de “Empréstimos e devoluções”, onde o usuário poderá realizar o empréstimo (caso o livro não esteja emprestado) ou a devolução (caso o livro já esteja emprestado) do livro.
Um empréstimo/devolução de um livro deve possuir os seguintes campos:
| Campo | Descrição | Tipo | Tamanho | Obrigatório? |
| Dados do livro |
| Identificação | Código ou valor que identifica o livro na biblioteca da escola. | Texto | - | Sim |
| Título | Título do livro. | Texto | - | Sim |
| Dados do locatário |
| Aluno | Nome do aluno | Texto | - | Sim |
| Servidor | Nome do servidor | Texto | - | Sim |
| Dados do empréstimo |
| Data | Data que foi realizado o empréstimo do livro. | Data | 08 | Sim |
| Hora | Hora que foi realizado o empréstimo do livro. | Hora | 04 | Sim |
| Usuário | Nome do usuário logado que realizou o empréstimo do livro. | Texto | - | Sim |
| Data dev. prev. | Data de devolução prevista do livro. | Data | 08 | Sim |
| Dados da devolução |
| Data | Data que foi realizada a devolução do livro. | Data | 08 | Não |
| Hora | Hora que foi realizada a devolução do livro. | Hora | 04 | Não |
| Usuário | Nome do usuário logado que realizou a devolução do livro. | Texto | - | Não |
| Dias de atraso | Quantidade de dias que o livro ficou com a devolução atrasada. | Inteiro | - | Não |
Ao abrir a tela de “Empréstimos e devoluções”, o sistema deve acionar o botão “Localizar um livro” que deve abrir a tela “Localizar livro”;
Após abrir a tela “Localizar livro”, o título do livro que foi selecionado, deve ser exibido no campo onde são digitados os dados para localização do livro. O texto exibido no campo deve estar todo selecionado, para facilitar a digitação de outro valor ou a leitura do código de barras do livro, e assim ser sobrescrito no campo. Após ser informado o valor, o usuário pode apenas clicar em Ok ou no caso do uso do leitor, o próprio estará fechando a tela de localização e retornando para o empréstimo/devolução;
O sistema deve exibir nos campos “Identificação” e “Título”, os dados do livro que foi localizado. Caso o usuário tenha cancelado ou o código de barras não seja localizado na tela de localização do livro, o sistema deve exibir o valor ”(SELECIONE UM LIVRO CLICANDO NO BOTÃO AO LADO)” nos campos citados;
Se o livro selecionado não estiver emprestado, o sistema deve permitir realizar o empréstimo do livro e exibir a ação “Empréstimo” no canto superior direito na tela;
Se o livro selecionado já estiver emprestado, o sistema deve permitir realizar a devolução do livro e exibir a ação “Devolução” no canto superior direito na tela;
O sistema deve manter o botão “Localizar livro” habilitado para que o usuário possa alterar o livro a qualquer momento;
O sistema deve manter os campos “Identificação” e “Título” como somente de leitura, ou seja, são exibidos habilitados, porém sem permtir editar o valor dos dados;
O sistema deve exibir as opções “Aluno” e “Servidor” habilitadas, para que o usuário possa selecioná-las;
Se o usuário marcar a opção “Aluno”, o sistema deve:
Habilitar o botão “Localizar um aluno”; e o campo do nome do aluno (que deve estar como somente de leitura);
Desabilitar a opção “Servidor”, o botão “Localizar um servidor” e o campo do nome do servidor, assim como desmarcar e limpar os campos, caso o servidor estivesse selecionado e informado;
Se o usuário marcar a opção “Servidor”, o sistema deve:
Habilitar o botão “Localizar um servidor” e o campo do nome do servidor (que deve estar como somente de leitura);
Desabilitar a opção “Aluno”, o botão “Localizar um aluno” e o campo do nome do aluno, assim como desmarcar e limpar os campos, caso o aluno estivesse selecionado e informado;
O sistema deve exibir apenas o campo “Usuário” desabilitado e todos os demais habilitados;
O sistema deve exibir nos campos “Data” e “Hora”, a data e hora atuais; mas pode permitir que o usuário informe outros dados, desde que a data não seja superior à atual;
O sistema deve exibir no campo “Usuário”, o nome do usuário logado no sistema;
O sistema deve exibir no campo “Data dev. prev.”, o valor da data do empréstimo acrescido da quantidade de dias informada no campo “Prazo devolução (dias)”, da guia Biblioteca nas configurações do sistema; mas pode permitir que o usuário informe outra data, desde que não seja anterior à data do empréstimo;
O sistema deve exibir marcada a opção de locatário: “Aluno” ou “Servidor” que foi realizado o empréstimo;
O sistema deve exibir o nome do aluno ou do servidor (no respectivo campo) que realizou o empréstimo;
O sistema deve exibir as opções “Aluno” e “Servidor” habilitadas, para que o usuário possa selecioná-las;
O sistema deve exibir os campos “Usuário” e “Dias de atraso” desabilitados e “Data” e “Hora” habilitados;
O sistema deve exibir nos campos “Data” e “Hora”, a data e hora atuais; mas pode permitir que o usuário informe outros dados, desde que não sejam superiores à data e hora atuais;
O sistema deve exibir no campo “Usuário”, o nome do usuário logado no sistema;
O sistema deve exibir no campo “Dias de atraso”, a quantidade de dias que o livro ficou atrasado.
Nenhuma informação adicional.