54 lines
2.2 KiB
PHP
54 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Impressao\AtencaoBasica;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\AtencaoBasica\Parametrizacao\Area;
|
|
use App\Models\AtencaoBasica\Parametrizacao\Microarea;
|
|
use App\Models\AtencaoBasica\VisitaDomiciliar\Desfecho;
|
|
use App\Models\Cadastro\Estabelecimento\Infraestrutura;
|
|
use App\Models\Cadastro\Estabelecimento\Unidade;
|
|
use App\Models\Cadastro\Localizacao\Domicilio;
|
|
use App\Models\Cadastro\SujeitoAtencao\Paciente;
|
|
use App\Models\Cadastro\SujeitoAtencao\Usuario;
|
|
use App\Services\AtencaoBasica\RelatorioVisitaDomiciliarService;
|
|
use App\Utils\Exports\Pdf1;
|
|
|
|
class RelatorioVisitaDomiciliarController extends Controller
|
|
{
|
|
private const TITLE = 'RELATÓRIO DE VISITA DOMICILIAR';
|
|
private const TEMPLATE = 'atencao-basica.relatorio-visita-domiciliar';
|
|
|
|
public function __invoke()
|
|
{
|
|
$unidade = Unidade::find(request()->unidade_id);
|
|
$infraestrutura = Infraestrutura::find(request()->infraestrutura_id);
|
|
$area = Area::find(request()->area_id);
|
|
$midroarea = Microarea::find(request()->microarea_id);
|
|
$usuario = Usuario::find(request()->usuario_id);
|
|
$paciente = Paciente::find(request()->paciente_id);
|
|
$domicilio = Domicilio::find(request()->domicilio_id);
|
|
$desfecho = Desfecho::find(request()->desfecho_id);
|
|
$itens = RelatorioVisitaDomiciliarService::index();
|
|
|
|
$data = [
|
|
'periodo' => [
|
|
'inicio' => request()->periodo['start'],
|
|
'fim' => request()->periodo['end'],
|
|
],
|
|
'unidade' => $unidade->nome_fantasia ?? 'Todas',
|
|
'infraestrutura' => $infraestrutura->nome ?? 'Todas',
|
|
'area' => $area->descricao ?? 'Todas',
|
|
'microarea' => $midroarea->descricao ?? 'Todas',
|
|
'usuario' => $usuario->cidadao->nome ?? 'Todos',
|
|
'paciente' => $paciente->cidadao->nome ?? '-',
|
|
'domicilio' => $domicilio->endereco->completo ?? 'Todos',
|
|
'endereco_numero' => request()->endereco_numero ?? '-',
|
|
'desfecho' => $desfecho->descricao ?? 'Todos',
|
|
'data' => $itens,
|
|
];
|
|
|
|
return Pdf1::generate(self::TITLE, self::TEMPLATE, $data, 'landscape');
|
|
}
|
|
}
|