39 lines
1.4 KiB
PHP
39 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Impressao\Regulacao;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Regulacao\SolicitacaoTentativaContato;
|
|
use App\Utils\Exports\Pdf1;
|
|
use Carbon\Carbon;
|
|
|
|
class TentativaContatoSolicitacaoController extends Controller
|
|
{
|
|
private const TITLE = 'TENTATIVA DE CONTATO';
|
|
private const TEMPLATE = 'regulacao.tentativa-contato-solicitacao';
|
|
|
|
public function __invoke($solicitacaoId)
|
|
{
|
|
$tentativasContato = SolicitacaoTentativaContato::where('solicitacao_id', $solicitacaoId)->get();
|
|
$paciente = $tentativasContato->first()->solicitacao->paciente;
|
|
|
|
$data = [
|
|
'paciente' => [
|
|
'nome' => $paciente->cidadao->nome,
|
|
'prontuario' => $paciente->prontuario,
|
|
'idade' => $paciente->cidadao->idadeFormatada,
|
|
'data_nascimento' => $paciente->cidadao->data_nascimento
|
|
? (new Carbon($paciente->cidadao->data_nascimento))->format('d/m/Y')
|
|
: null,
|
|
],
|
|
'tentativasContato' => $tentativasContato->map(fn ($tentativaContato) => [
|
|
'data' => $tentativaContato->data->format('d/m/Y'),
|
|
'usuario_nome' => $tentativaContato->usuario->cidadao->nome,
|
|
'detalhes' => $tentativaContato->detalhes,
|
|
])
|
|
];
|
|
|
|
return Pdf1::generate(self::TITLE, self::TEMPLATE, $data);
|
|
}
|
|
}
|