init commit
All checks were successful
build-api-image / build (push) Successful in 51s

This commit is contained in:
Antonio Lopes dos Santos
2026-08-04 16:52:02 -03:00
commit afec302c3e
11594 changed files with 1636728 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
<?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.';
}
}