47 lines
1.8 KiB
PHP
47 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Impressao\Ambulatorio;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Cadastro\Especialidade;
|
|
use App\Models\Cadastro\Estabelecimento\Infraestrutura;
|
|
use App\Models\Cadastro\Estabelecimento\Unidade;
|
|
use App\Models\Cadastro\SujeitoAtencao\Usuario;
|
|
use App\Services\Ambulatorio\RelatorioEstatisticoStatusService;
|
|
use App\Utils\Exports\Pdf1;
|
|
|
|
class RelatorioEstatisticoStatusController extends Controller
|
|
{
|
|
private const TITLE = 'RELATÓRIO ESTATÍSTICO POR STATUS';
|
|
private const TEMPLATE = 'ambulatorio.relatorio-estatistico-status';
|
|
|
|
public function __invoke()
|
|
{
|
|
$itens = RelatorioEstatisticoStatusService::index();
|
|
$unidade = Unidade::find(request()->unidade_id);
|
|
$infraestrutura = Infraestrutura::find(request()->infraestrutura_id);
|
|
$especialidade = Especialidade::find(request()->especialidade_id);
|
|
$usuario = Usuario::find(request()->usuario_id);
|
|
$origem = request()->origem === 'agendamento'
|
|
? 'Agendamento'
|
|
: (request()->origem === 'demanda-espontanea' ? 'Demanda espontânea' : null);
|
|
|
|
$data = [
|
|
'periodo' => [
|
|
'inicio' => request()->periodo['start'],
|
|
'fim' => request()->periodo['end'],
|
|
],
|
|
'unidade' => $unidade->nome_fantasia ?? 'Todas',
|
|
'infraestrutura' => $infraestrutura->nome ?? 'Todas',
|
|
'especialidade' => $especialidade->nome ?? 'Todas',
|
|
'usuario' => $usuario->nome ?? 'Todos',
|
|
'origem' => $origem ?? 'Todas',
|
|
'onlyAgendamentos' => request()->origem === 'agendamento',
|
|
'onlyDemandasEspontaneas' => request()->origem === 'demanda-espontanea',
|
|
'data' => $itens,
|
|
];
|
|
|
|
return Pdf1::generate(self::TITLE, self::TEMPLATE, $data);
|
|
}
|
|
}
|