Como validar se o funcionário pegou o EPI [RESOLVIDO]

Olá Pessoal! Eu estou desenvolvendo um software onde os funcionários podem pegar um EPI e devolver um EPI como um sistema de locação de filmes ou livros. Meu problema é o seguinte eu preciso validar se o funcionário pegou o EPI para ele poder devolver, porque quando ele devolve o programa sobrescreve a data de devolucao. segue o código do método do botão onde é disparado o evento para a devolução.

> private void jbDevolverActionPerformed(java.awt.event.ActionEvent evt) {                                           
>         try {
>             EpiFuncionarioServicos efs = ServicosFactory.getEPIFUNCIONARIOSERVICOS();
>             EpiServicos es = ServicosFactory.getEPISERVICOS();
>             EpiFuncionario epiFuncEsp = efs.buscarEpiFuncionarioEsp(jtfCodEpi.getText());
>             Epi epiEsp = es.buscarEpiEpecifico(jtfCodEpi.getText());
>             Funcionario funcionarioLinha = uce.getFuncionarioDaLinhaSelecionada();
>             //testa se codEpi esta vazio        
>             if (!jtfCodEpi.getText().isEmpty()) {
>                 //testa se o EPI está cadastrado
>                 if (epiEsp != null) {
>                     //testa se funcionario pegou o EPI
>                     if () {
>                         //testa se funcionario tem digital cadastrada
>                         if (funcionarioLinha.getFinger1() != null) {
>                             //Código desnecessário
>                     } else {
>                         JOptionPane.showMessageDialog(null, "Funcionário não pegou o EPI!");
>                     }
>                 } else {
>                     JOptionPane.showMessageDialog(null, "O EPI não está cadastrado!");
>                 }
>             } else {
>                 JOptionPane.showMessageDialog(null, "Digite o código do EPI!");
>             }//fecha else
>         } catch (NullPointerException ne) {
>             JOptionPane.showMessageDialog(null, "ERRO: " + CisBiox.mensagens(biox.getResultado()));
>             //finaliza o leitor    
>             biox.finalizar();
>             limpaCamposEpi();
>         } catch (SQLException se) {
>             JOptionPane.showMessageDialog(null, se.getMessage());
>         }
>     }

Você pode criar um campo do tipo Boolean e definir que se estiver true, o EPI está disponível (pode ser pego) e quando está false ele está indisponível (já foi pego) e fazer a teste no seu if.

Na verdade quando eu faço esse teste no if qualquer funcionario pode devolver o EPI porque ele está indisponivel

Talvez seja um erro relacionado ao banco ou ao DAO

Ah sim, você quer que o funcionário que pegou o EPI seja o mesmo que devolva.

Ai já depende de como você está persistindo seus dados, se está guardando qual funcionário pegou o EPI basta comparar na hora de realizar a devolução, com um if mesmo.

Sim eu fiz esse teste dataDevolucao != null mas se o funcionario pegou o EPI e devolveu a data não estaria mas nula e ele não poderia mais devolver caso ele pegasse denovo

Eu não estou entendendo o seu real problema, você precisa que o mesmo funcionário que pegou o EPI, seja o que devolva ou qualquer funcionário possa devolver a EPI?

Eu disse pra você criar um campo a mais onde a função dele seria dizer se está disponível ou indisponível (true ou false), apenas isso, com os campos que você já tem você não irá conseguir fazer isso.

Eu queria que o funcionario devolva o EPI que pegou para que outro funcionario possa pegar esse EPI

Certo, então você tem que fazer dois testes, se aquele EPI está indisponível para poder ser devolvido e se o Funcionário que está devolvendo é o mesmo que o pegou.

Pra fazer isso, basta ter campos e salvar na hora que o funcionário pegar o EPI.

É algo muito simples de se fazer.

E como eu testo se o funcionario pegou o EPI?

Quando o funcionário for pegar o EPI, você precisa persistir que foi ele, guardando o CPF ou Matricula (Aquilo que for a primary key dele) e quando algum funcionário solicitar devolver a EPI basta você comparar.

Muito obrigado Rodrigo consegui resolver aqui.