44 lines
1.5 KiB
PHP
44 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\ProntoAtendimento\Parametrizacao\Parametrizacao as ProntoAtendimentoParametrizacao;
|
|
use Illuminate\Http\Response;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class DashboardController extends Controller
|
|
{
|
|
|
|
public function index()
|
|
{
|
|
$assinatura = ProntoAtendimentoParametrizacao::first()->assinatura_eletronica ?? false;
|
|
|
|
if (!$assinatura) {
|
|
$assinatura = self::getAssinaturaAmbulatorio();
|
|
}
|
|
|
|
return response()->json([
|
|
'assinatura_eletronica_ativa' => $assinatura
|
|
], Response::HTTP_OK);
|
|
}
|
|
|
|
public static function getAssinaturaAmbulatorio()
|
|
{
|
|
$lotacaoLogada = self::getCurrentLotacao();
|
|
|
|
return DB::table('ambulatorio_parametrizacao_infraestrutura_assinatura_eletronica AS infraestrutura_assinatura_eletronica')
|
|
->join(
|
|
'ambulatorio_parametrizacao_infraestrutura AS parametrizacao_infraestrutura',
|
|
'parametrizacao_infraestrutura.id',
|
|
'infraestrutura_assinatura_eletronica.parametrizacao_infraestrutura_id'
|
|
)
|
|
->join(
|
|
'ambulatorio_parametrizacao_assinatura_eletronica as assinatura_eletronica',
|
|
'assinatura_eletronica.id',
|
|
'infraestrutura_assinatura_eletronica.parametrizacao_assinatura_eletronica_id'
|
|
)
|
|
->when($lotacaoLogada->infraestrutura_id, fn ($q, $id) => $q->where('parametrizacao_infraestrutura.infraestrutura_id', $id))
|
|
->exists();
|
|
}
|
|
}
|