46 lines
1.6 KiB
PHP
46 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Impressao\Regulacao;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Regulacao\Solicitacao;
|
|
use App\Services\Regulacao\FilaService;
|
|
use App\Utils\Exports\Pdf1;
|
|
use Carbon\Carbon;
|
|
|
|
class HistoricoMovimentacaoSolicitacaoController extends Controller
|
|
{
|
|
private const TITLE = 'HISTÓRICO DE MOVIMENTAÇÕES';
|
|
private const TEMPLATE = 'regulacao.historico-movimentacao-solicitacao';
|
|
|
|
public function __invoke($solicitacaoId)
|
|
{
|
|
$solicitacao = Solicitacao::findOrFail($solicitacaoId);
|
|
|
|
$historicoMovimentacoes = FilaService::getHistoricoMovimentacoesSolicitacao($solicitacao->id)['status'];
|
|
|
|
$historicoMovimentacoes->each(function ($movimentacao) {
|
|
|
|
if ($movimentacao->data_agendada) {
|
|
|
|
$movimentacao->data_agendada = (new Carbon($movimentacao->data_agendada))->format('d/m/Y');
|
|
}
|
|
|
|
$movimentacao->data_hora_movimentacao = (new Carbon($movimentacao->data_hora_movimentacao))
|
|
->format('d/m/Y H:i');
|
|
});
|
|
|
|
$data = [
|
|
'paciente' => [
|
|
'nome' => $solicitacao->paciente->cidadao->nome,
|
|
'prontuario' => $solicitacao->paciente->prontuario,
|
|
'data_nascimento' => $solicitacao->paciente->cidadao->data_nascimento
|
|
? (new Carbon($solicitacao->paciente->cidadao->data_nascimento))->format('d/m/Y')
|
|
: null,
|
|
],
|
|
'historicoMovimentacoes' => $historicoMovimentacoes,
|
|
];
|
|
return Pdf1::generate(self::TITLE, self::TEMPLATE, $data);
|
|
}
|
|
}
|