This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Impressao\ProntoAtendimento\Aih;
|
||||
|
||||
use App\Enums\Cadastro\SujeitoAtencao\PreferenciaNome;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\ProntoAtendimento\Aih\Internacao;
|
||||
use App\Utils\Exports\Pdf;
|
||||
use App\Utils\Exports\Template;
|
||||
use App\Utils\MaskUtil;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class TermoResponsabilidadeController extends Controller
|
||||
{
|
||||
private const TITLE = 'TERMO DE RESPONSABILIDADE PARA PROCEDIMENTO MÉDICO';
|
||||
private const TEMPLATE = 'pronto-atendimento.aih.termo-responsabilidade';
|
||||
|
||||
public static function getTemplate($id)
|
||||
{
|
||||
$internacao = Internacao::findOrFail($id);
|
||||
|
||||
$data = [
|
||||
'paciente' => [
|
||||
'nome' => $internacao->paciente->cidadao->nome,
|
||||
'nome_social' => $internacao->paciente->cidadao->nome_social,
|
||||
'prefere_nome_social' => $internacao->paciente->cidadao
|
||||
->preferencia_nome_id === PreferenciaNome::NOME_SOCIAL,
|
||||
'data_nascimento' => $internacao->paciente->cidadao->data_nascimento
|
||||
? $internacao->paciente->cidadao->data_nascimento->format('d/m/Y')
|
||||
: '',
|
||||
'idade' => $internacao->paciente->cidadao->data_nascimento
|
||||
? "{$internacao->paciente->cidadao->idade['anos']} ano(s) "
|
||||
. "{$internacao->paciente->cidadao->idade['meses']} mês(s) "
|
||||
. "{$internacao->paciente->cidadao->idade['dias']} dia(s) "
|
||||
: '',
|
||||
'cns' => MaskUtil::getCnsMasked($internacao->paciente->cidadao->cns),
|
||||
'rg' => $internacao->paciente->cidadao->carteiraIdentidade->numero ?? '',
|
||||
'cpf' => MaskUtil::getCpfMasked($internacao->paciente->cidadao->cpf),
|
||||
'nome_mae' => $internacao->paciente->cidadao->nome_mae,
|
||||
'endereco' => $internacao->paciente->cidadao->domicilio
|
||||
? "{$internacao->paciente->cidadao->domicilio->endereco->completo}, "
|
||||
. MaskUtil::getCepMasked($internacao->paciente->cidadao->domicilio->endereco->logradouro->cep)
|
||||
: '',
|
||||
],
|
||||
'internacao' => [
|
||||
'unidade' => $internacao->unidadeInternacao->nome_fantasia
|
||||
],
|
||||
'horaAtual' => Carbon::now()->format('H:i')
|
||||
];
|
||||
|
||||
return Template::make(self::TITLE, self::TEMPLATE)->withData($data)->getHtml();
|
||||
}
|
||||
|
||||
public function __invoke($id)
|
||||
{
|
||||
return (new Pdf)->stream(self::getTemplate($id), self::TITLE);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user