This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Impressao\ProntoAtendimento\AtendimentoMedico;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Cadastro\SujeitoAtencao\Lotacao;
|
||||
use App\Models\ProntoAtendimento\Atendimento\Medico\AtendimentoMedico;
|
||||
use App\Utils\Exports\Pdf;
|
||||
use App\Utils\Exports\Template;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class OrientacoesController extends Controller
|
||||
{
|
||||
private const TITLE = 'Orientações ao paciente';
|
||||
private const TEMPLATE = 'pronto-atendimento.atendimento-medico.orientacoes-medicas';
|
||||
|
||||
public static function getTemplate($atendimentoId = null)
|
||||
{
|
||||
if ($atendimentoId) {
|
||||
|
||||
$atendimentoMedico = AtendimentoMedico::orderByDesc('created_at')
|
||||
->where('atendimento_id', $atendimentoId)
|
||||
->whereNotNull('orientacoes')
|
||||
->firstOrFail();
|
||||
|
||||
$data = [
|
||||
'orientacoes' => $atendimentoMedico->orientacoes,
|
||||
'dataHora' => $atendimentoMedico->updated_at->format('d/m/Y H:i:s'),
|
||||
'profissional' => [
|
||||
'nome' => $atendimentoMedico->updatedLotacao->usuario->cidadao->nome,
|
||||
'cbo' => $atendimentoMedico->updatedLotacao->ocupacao->nome,
|
||||
]
|
||||
];
|
||||
}
|
||||
else {
|
||||
|
||||
$lotacao = Lotacao::findOrFail(auth()->payload()->get('lotacao_id'));
|
||||
|
||||
$data = [
|
||||
'orientacoes' => request()->orientacoes,
|
||||
'dataHora' => Carbon::now()->format('d/m/Y H:i:s'),
|
||||
'profissional' => [
|
||||
'nome' => $lotacao->usuario->cidadao->nome,
|
||||
'cbo' => $lotacao->ocupacao->nome,
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
return Template::make(self::TITLE, self::TEMPLATE)->withData($data)->getHtml();
|
||||
}
|
||||
|
||||
public function __invoke($atendimentoId = null)
|
||||
{
|
||||
return (new Pdf)->stream(self::getTemplate($atendimentoId), 'orientacoes');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user