====== Empréstimos e devoluções ====== ===== Resumo ===== A funcionalidade de "Empréstimos e devoluções" permite que o livro seja emprestado e devolvido para alunos e servidores da escola. ===== Descrição ===== 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. === Dados do Empréstimo/devolução === Um empréstimo/devolução de um livro deve possuir os seguintes campos: |< 100% 25% 54% 7% 7% 7%>| ^ 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 | ===== Configurações e preferências do usuário ===== * Data dev. prev.: essa data é calculada com base na data de empréstimo informada, acrescida do valor informado no campo "Prazo devolução (dias)" do módulo Biblioteca nas configurações do sistema. ===== Pontos de verificaçã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; ==== Empréstimo ==== === Dados do locatário === * 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; === Dados do empréstimo === * 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; === Dados da devolução === * O sistema deve exibir todos os campos desabilitados e vazios; ==== Devolução ==== === Dados do locatário === * 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; === Dados do empréstimo === * O sistema deve exibir todos os campos desabilitados e com seus respectivos valores; === Dados da devolução === * 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. ===== Observações ===== Nenhuma informação adicional. ~~DISCUSSION|Sugira mudanças, aponte falhas ou contribua de alguma forma aqui:~~