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,47 @@
<?php
namespace App\Rules\Sigtap;
use Illuminate\Contracts\Validation\Rule;
use Illuminate\Support\Facades\DB;
class ClassificacaoIsValidForProcedimento implements Rule
{
private $procedimentoId;
public function __construct($procedimentoId)
{
$this->procedimentoId = $procedimentoId;
}
public function passes($attribute, $value)
{
return self::isValid($this->procedimentoId, $value);
}
public static function isValid($procedimentoId, $value)
{
$ids = collect($value)
->flatMap(function ($item) {
return collect($item)->pluck('id');
})
->filter()
->unique()
->values();
return DB::table('sigtap.classificacao')
->whereIn('id', $ids)
->whereExists(function ($query) use ($procedimentoId) {
$query->select(DB::raw(1))
->from('sigtap.procedimento_classificacao')
->whereColumn('sigtap.procedimento_classificacao.classificacao_id', 'sigtap.classificacao.id')
->where('sigtap.procedimento_classificacao.procedimento_id', $procedimentoId);
})
->exists();
}
public function message()
{
return "Classificação inválida para o procedimento informado.";
}
}