This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\ProntoAtendimento;
|
||||
|
||||
use App\Models\ProntoAtendimento\Atendimento\Cat;
|
||||
|
||||
class AcidenteTrabalhoService
|
||||
{
|
||||
public static function getAcidenteTrabalho($faa)
|
||||
{
|
||||
$parecerMedico = [];
|
||||
|
||||
if(!$faa->raat) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$parecerMedico = $faa->raat && $faa->raat->pareceresMedico ? $faa->raat->pareceresMedico()->orderByDesc('created_at')->first() : [];
|
||||
|
||||
$cat = null;
|
||||
|
||||
if($faa->raat->id){
|
||||
$cat = Cat::where('raat_id', $faa->raat->id)->first();
|
||||
}
|
||||
|
||||
return [
|
||||
'id' => $faa->raat->id ?? null,
|
||||
'tipo_formulario_acidente_trabalho' => $faa->raat->tipo_formulario_acidente_trabalho,
|
||||
'empresa_nome' => $faa->raat->empresa_nome ?? null,
|
||||
'empresa_ramo_atividade' => $faa->raat->empresa_ramo_atividade ?? null,
|
||||
'empresa_endereco' => $faa->raat->empresa_endereco ?? null,
|
||||
'empresa_telefone' => $faa->raat->empresa_telefone ?? null,
|
||||
'empresa_ocupacao_paciente' => $cat ? $cat->empresa_ocupacao_paciente : null,
|
||||
'acidente_data' => $faa->raat->acidente_data ?? null,
|
||||
'acidente_hora' => $faa->raat->acidente_hora ?? null,
|
||||
'acidente_tipo_id' => $faa->raat->acidente_tipo_id ?? null,
|
||||
'acidente_local' => $faa->raat->acidente_local ?? null,
|
||||
'acidente_descricao' => $faa->raat->acidente_descricao ?? null,
|
||||
'regime_trabalho_id' => $faa->raat->regime_trabalho_id ?? null,
|
||||
'regime_trabalho_outro' => $faa->raat->regime_trabalho_outro ?? null,
|
||||
'parecer_medico' => [
|
||||
'agenteId' => $parecerMedico ? $parecerMedico->agente_id : null,
|
||||
'partes_corpo_atingidas' => $parecerMedico ? $parecerMedico->partesCorpoAtingidas->pluck('id') : [],
|
||||
'parte_corpo_atingida_outras' => $parecerMedico ? $parecerMedico->parte_corpo_atingida_outras : null,
|
||||
'causas_acidente' => $parecerMedico ? $parecerMedico->causasAcidente->pluck('id') : [],
|
||||
'causa_acidente_outras' => $parecerMedico ? $parecerMedico->causa_acidente_outras : null,
|
||||
'diagnosticos' => $parecerMedico ? $parecerMedico->diagnosticos->pluck('id') : [],
|
||||
'diagnostico_outros' => $parecerMedico ? $parecerMedico->diagnostico_outros : null,
|
||||
'observacao' => $parecerMedico ? $parecerMedico->observacao : null,
|
||||
'classificacao_inicial_id' => $parecerMedico ? $parecerMedico->classificacao_inicial_id : null,
|
||||
'afastado' => $parecerMedico ? $parecerMedico->afastado : null,
|
||||
'lotacao' => [
|
||||
'profissional' => [
|
||||
'id' => $parecerMedico->createdLotacao->usuario->id ?? null,
|
||||
],
|
||||
],
|
||||
'cid' => [
|
||||
'codigo' => $parecerMedico->atendimentoMedico->cid->cid->codigo ?? null,
|
||||
'nome' => $parecerMedico->atendimentoMedico->cid->cid->nome ?? null,
|
||||
],
|
||||
'paciente_sofreu_acidente_trabalho' => $cat ? $cat->paciente_sofreu_acidente_trabalho : '',
|
||||
'paciente_portador_doenca_ocupacional' =>$cat ? $cat->paciente_portador_doenca_ocupacional : '',
|
||||
'paciente_precisa_internacao' => $cat ? $cat->paciente_precisa_internacao : '',
|
||||
'dias_afastamento' => $cat ? $cat->dias_afastamento : '',
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user