Files
Antonio Lopes dos Santos afec302c3e
All checks were successful
build-api-image / build (push) Successful in 51s
init commit
2026-08-04 16:52:02 -03:00

248 lines
9.0 KiB
PHP

<?php
namespace App\Http\Controllers\Impressao\Ambulatorio;
use App\Http\Controllers\Controller;
use App\Http\Controllers\Impressao\Ambulatorio\AtendimentoController;
use App\Http\Controllers\Impressao\Ambulatorio\DeclaracaoComparecimentoController;
use App\Http\Controllers\Impressao\Ambulatorio\ReceitaMedicaComumController;
use App\Http\Controllers\Impressao\Ambulatorio\RequisicaoExameCitopatologicoColoUteroController;
use App\Http\Controllers\Impressao\Ambulatorio\RequisicaoMamografiaController;
use App\Http\Controllers\Impressao\Ambulatorio\ServicoAnaliseDiagnosticoTerapiaSolicitacaoExameController;
use App\Utils\Exports\PhpMerge;
class ImpressaoGeralController extends Controller
{
public function __invoke($atendimentoId)
{
$pdfPaths = [];
collect(request()->all())->each(function ($impressao) use ($atendimentoId, &$pdfPaths) {
$impressao = (array) $impressao;
$identificador = $impressao[0];
$dados = $impressao[1] ?? [];
if ($identificador === 'posConsulta') {
$posConsulta = new PosConsultaController();
$pdfPaths[] = [
'data' => $posConsulta($atendimentoId),
'orientation' => 'P'
];
}
if ($identificador === 'preAtendimento') {
$preAtendimento = new PreAtendimentoController();
$pdfPaths[] = [
'data' => $preAtendimento($atendimentoId),
'orientation' => 'P'
];
}
if ($identificador === 'atendimento') {
$atendimento = new AtendimentoController();
$pdfPaths[] = [
'data' => $atendimento($atendimentoId),
'orientation' => 'P'
];
}
if ($identificador === 'atestado') {
$atestado = new AtestadoController();
$pdfPaths[] = [
'data' => $atestado($atendimentoId),
'orientation' => 'P'
];
}
if ($identificador === 'cartaMedica') {
$cartaMedica = new CartaMedicaController();
$pdfPaths[] = [
'data' => $cartaMedica($atendimentoId),
'orientation' => 'P'
];
}
if ($identificador === 'declaracaoComparecimento') {
$declaracaoComparecimento = new DeclaracaoComparecimentoController();
$pdfPaths[] = [
'data' => $declaracaoComparecimento($atendimentoId),
'orientation' => 'P'
];
}
if ($identificador === 'encaminhamento') {
$encaminhamento = new EncaminhamentoController();
$pdfPaths[] = [
'data' => $encaminhamento($atendimentoId),
'orientation' => 'P'
];
}
if ($identificador === 'encaminhamentoHospitalar') {
$encaminhamento = new EncaminhamentoHospitalarController();
$pdfPaths[] = [
'data' => $encaminhamento($atendimentoId),
'orientation' => 'P'
];
}
if ($identificador === 'orientacao') {
$orientacao = new OrientacaoController();
$pdfPaths[] = [
'data' => $orientacao($atendimentoId),
'orientation' => 'P'
];
}
if ($identificador === 'receitaMedicaComum') {
$receitaMedicaComum = new ReceitaMedicaComumController();
$pdfPaths[] = [
'data' => $receitaMedicaComum($atendimentoId, true, $dados),
'orientation' => 'L'
];
}
if ($identificador === 'receitaMedicaEspecial') {
$receitaMedicaEspecial = new ReceitaMedicaEspecialController();
$pdfPaths[] = [
'data' => $receitaMedicaEspecial($atendimentoId, true, $dados),
'orientation' => 'L'
];
}
if ($identificador === 'receitaMedicaEspecialAmarela') {
$receitaMedicaEspecialAmarela = new ReceitaMedicaEspecialAmarelaController();
$pdfPaths[] = [
'data' => $receitaMedicaEspecialAmarela($atendimentoId, true, $dados),
'orientation' => 'L'
];
}
if ($identificador === 'receitaMedicaEspecialAzul') {
$receitaMedicaEspecialAzul = new ReceitaMedicaEspecialAzulController();
$pdfPaths[] = [
'data' => $receitaMedicaEspecialAzul($atendimentoId, true, $dados),
'orientation' => 'L'
];
}
if ($identificador === 'receitaMedicaNaoPadronizadaComum') {
$receitaMedicaNaoPadronizadaComum = new ReceitaMedicaNaoPadronizadaComumController();
$pdfPaths[] = [
'data' => $receitaMedicaNaoPadronizadaComum($atendimentoId, true, $dados),
'orientation' => 'L'
];
}
if ($identificador === 'receitaMedicaNaoPadronizadaEspecial') {
$receitaMedicaNaoPadronizadaEspecial = new ReceitaMedicaNaoPadronizadaEspecialController();
$pdfPaths[] = [
'data' => $receitaMedicaNaoPadronizadaEspecial($atendimentoId, true, $dados),
'orientation' => 'L'
];
}
if ($identificador === 'servicoAnaliseDiagnosticoTerapiaSolicitacaoExame') {
$servicoAnaliseDiagnosticoTerapiaSolicitacaoExame = new ServicoAnaliseDiagnosticoTerapiaSolicitacaoExameController();
$pdfPaths[] = [
'data' => $servicoAnaliseDiagnosticoTerapiaSolicitacaoExame($atendimentoId, $dados),
'orientation' => 'P'
];
}
if ($identificador === 'laudoMedicamentos') {
$laudoMedicamentos = new LaudoMedicamentosController();
$pdfPaths[] = [
'data' => $laudoMedicamentos($atendimentoId, true, $dados),
'orientation' => 'P'
];
}
if ($identificador === 'requisicaoExameCitopatologicoColoUtero') {
$requisicaoExameCitopatologicoColoUtero = new RequisicaoExameCitopatologicoColoUteroController();
$pdfPaths[] = [
'data' => $requisicaoExameCitopatologicoColoUtero($atendimentoId),
'orientation' => 'P'
];
}
if ($identificador === 'requisicaoExameCitopatologicoMama') {
$requisicaoExameCitopatologicoMama = new RequisicaoExameCitopatologicoMamaController();
$pdfPaths[] = [
'data' => $requisicaoExameCitopatologicoMama($atendimentoId),
'orientation' => 'P'
];
}
if ($identificador === 'requisicaoExameHistopatologicoMamografia') {
$requisicaoExameHistopatologicoMamografia = new RequisicaoExameHistopatologicoMamografiaController();
$pdfPaths[] = [
'data' => $requisicaoExameHistopatologicoMamografia($atendimentoId),
'orientation' => 'P'
];
}
if ($identificador === 'requisicaoMamografia') {
$requisicaoMamografia = new RequisicaoMamografiaController();
$pdfPaths[] = [
'data' => $requisicaoMamografia($atendimentoId),
'orientation' => 'P'
];
}
if ($identificador === 'fichaRequisicaoServicoAuxiliarDiagnoseTerapia') {
$fichaRequisicaoServicoAuxiliarDiagnoseTerapia = new FichaRequisicaoServicoAuxiliarDiagnoseTerapiaController();
$pdfPaths[] = [
'data' => $fichaRequisicaoServicoAuxiliarDiagnoseTerapia($atendimentoId, $dados),
'orientation' => 'P'
];
}
if ($identificador === 'laudoSolicitacaoAutorizacaoProcedimentoAmbulatorial') {
$laudoSolicitacaoAutorizacaoProcedimentoAmbulatorial = new LaudoSolicitacaoAutorizacaoProcedimentoAmbulatorialController();
$pdfPaths[] = [
'data' => $laudoSolicitacaoAutorizacaoProcedimentoAmbulatorial($atendimentoId, $dados),
'orientation' => 'P'
];
}
if ($identificador === 'laudoMChatR') {
$laudoMChatR = new LaudoMChatRController();
$pdfPaths[] = [
'data' => $laudoMChatR($atendimentoId),
'orientation' => 'P'
];
}
});
return PhpMerge::mergePdfDocuments('Impressões', $pdfPaths);
}
}