Files
rkm-conectasus-ci-sandbox/api/app/Rules/AtencaoBasica/Exportacao/CondutaEncaminhamentoIsValid.php
Antonio Lopes dos Santos afec302c3e
All checks were successful
build-api-image / build (push) Successful in 51s
init commit
2026-08-04 16:52:02 -03:00

47 lines
1.3 KiB
PHP

<?php
namespace App\Rules\AtencaoBasica\Exportacao;
use App\Enums\AtencaoBasica\AtendimentoOdontologico\CondutaEncaminhamento;
use App\Enums\AtencaoBasica\AtendimentoOdontologico\TipoConsulta;
use Illuminate\Contracts\Validation\Rule;
use Illuminate\Support\Facades\DB;
class CondutaEncaminhamentoIsValid implements Rule
{
public function passes($attribute, $value)
{
return self::isValid($value);
}
public static function isValid($value)
{
$condutasEncaminhamento = DB::table('atencao_basica_atendimento_odontologico_conduta_encaminhamento')
->where('atendimento_odontologico_id', $value->id)
->get();
foreach ($condutasEncaminhamento as $condutaEncaminhamento) {
if ($condutaEncaminhamento->conduta_encaminhamento_id == CondutaEncaminhamento::TRATAMENTO_CONCLUIDO
&& $value->tipo_consulta_id == TipoConsulta::CONSULTA_MANUTENCAO) {
return false;
}
if ($condutaEncaminhamento->conduta_encaminhamento_id == CondutaEncaminhamento::ALTA_EPISODIO
&& $value->tipo_consulta_id != TipoConsulta::CONSULTA_MANUTENCAO) {
return false;
}
}
return true;
}
public function message()
{
return 'Conduta ou encaminhamento inválido.';
}
}