Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

erro variavel e validação

Boa tarde. Na minha classe ValidadorPacienteAtivo estou tendo os dois erros abaixo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

segue o código

package com.github.paulopcrp.healthcare.api.domain.consulta.validacoes;

import com.github.paulopcrp.healthcare.api.domain.ValidacaoException; import com.github.paulopcrp.healthcare.api.domain.consulta.DadosAgendamentoConsulta; import com.github.paulopcrp.healthcare.api.domain.paciente.PacienteRepository;

public class ValidadorPacienteAtivo {

private PacienteRepository repository;

public void validar(DadosAgendamentoConsulta dados) {
    var pacienteEstaAtivo = repository.findAtivoById(dados.idPaciente());
    if (!pacienteEstaAtivo) {
        throw new ValidacaoException("Consulta não pode ser agendada com paciente inativo!");
    }
}

}

5 respostas

A variável pacienteEstaAtivo não está recebendo nenhum valor em dados.idPaciente() ou seja void, porém a condição if está esperando um valor verdadeiro ou falso true ou false que é do tipo boolean, esse é um erro de lógica pois a variavel pacienteEstaAtivo não está recebendo nada.

Oi!

O problema deve ser no repository. Verifica se o método findAtivoById está devolvendo boolean.

Esta devolvendo Long

import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository;

public interface PacienteRepository extends JpaRepository<Paciente, Long> { Page findAllByAtivoTrue(Pageable paginacao);

void findAtivoById(Long idPaciente);

}

solução!

Na verdade está como void o retorno. Altere para Boolean

Agora foi!!

Obrigado!