35 lines
1.2 KiB
PHP
35 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Services\Sigtap;
|
|
|
|
use App\Models\Sigtap\Competencia;
|
|
use App\Services\Service;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class ServicoService extends Service
|
|
{
|
|
public static function autocomplete()
|
|
{
|
|
$servicos = DB::table('sigtap.servico');
|
|
|
|
if (request()->query('procedimento_id')) {
|
|
$servicos->whereExists(function($query) {
|
|
$query->select(DB::raw(1))
|
|
->from('sigtap.classificacao')
|
|
->join('sigtap.procedimento_classificacao', 'procedimento_classificacao.classificacao_id', 'classificacao.id')
|
|
->whereColumn('classificacao.servico_id', 'servico.id')
|
|
->where('procedimento_classificacao.procedimento_id', request()->query('procedimento_id'));
|
|
});
|
|
} else {
|
|
if (request()->query('competencia_id')) {
|
|
$servicos->where('competencia_id', request()->query('competencia_id'));
|
|
} else {
|
|
$competencia = Competencia::orderByDesc('valor')->first();
|
|
$servicos->where('competencia_id', $competencia->id);
|
|
}
|
|
}
|
|
|
|
return $servicos;
|
|
}
|
|
}
|