This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\ProntoAtendimento\Atendimento;
|
||||
|
||||
use App\Enums\ProntoAtendimento\Raat\CausaAcidente as CausaAcidenteEnum;
|
||||
use App\Enums\ProntoAtendimento\Raat\Diagnostico as DiagnosticoEnum;
|
||||
use App\Enums\ProntoAtendimento\Raat\ParteCorpoAtingida as ParteCorpoAtingidaEnum;
|
||||
use App\Enums\ProntoAtendimento\Raat\RegimeTrabalho as RegimeTrabalhoEnum;
|
||||
use App\Models\ProntoAtendimento\Atendimento\RaatParecerMedico;
|
||||
use App\Models\ProntoAtendimento\Raat\Agente;
|
||||
use App\Models\ProntoAtendimento\Raat\CausaAcidente;
|
||||
use App\Models\ProntoAtendimento\Raat\ClassificacaoInicial;
|
||||
use App\Models\ProntoAtendimento\Raat\Diagnostico;
|
||||
use App\Models\ProntoAtendimento\Raat\ParteCorpoAtingida;
|
||||
use App\Models\ProntoAtendimento\Raat\RegimeTrabalho;
|
||||
use App\Models\ProntoAtendimento\Raat\TipoAcidente;
|
||||
|
||||
class RaatService
|
||||
{
|
||||
public static function get($atendimentoMedico)
|
||||
{
|
||||
return [
|
||||
'identificacao' => self::getRaatIdentificacao($atendimentoMedico->atendimento->faa->raat),
|
||||
'parecer_medico' => self::getParecerMedico($atendimentoMedico->raatParecerMedico),
|
||||
];
|
||||
}
|
||||
|
||||
public static function getOptionsParecerMedico()
|
||||
{
|
||||
return [
|
||||
'agente' => Agente::all(),
|
||||
'causa_acidente' => CausaAcidente::all(),
|
||||
'classificacao_inicial' => ClassificacaoInicial::all(),
|
||||
'diagnostico' => Diagnostico::all(),
|
||||
'parte_corpo_atingida' => ParteCorpoAtingida::all(),
|
||||
'regime_trabalho' => RegimeTrabalho::all(),
|
||||
'tipo_acidente' => TipoAcidente::all(),
|
||||
];
|
||||
}
|
||||
|
||||
private static function getRaatIdentificacao($raat)
|
||||
{
|
||||
if (is_null($raat)) {
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
$hiddenFields = [];
|
||||
|
||||
if ($raat->regime_trabalho_id !== RegimeTrabalhoEnum::OUTRO) {
|
||||
|
||||
$hiddenFields[] ='regime_trabalho_outro';
|
||||
}
|
||||
|
||||
return $raat->makeHidden($hiddenFields);
|
||||
}
|
||||
|
||||
private static function getParecerMedico($parecerMedico)
|
||||
{
|
||||
if (is_null($parecerMedico)) {
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
$hiddenFields = [];
|
||||
|
||||
if (!$parecerMedico->partesCorpoAtingidas->contains('id', ParteCorpoAtingidaEnum::OUTROS)) {
|
||||
|
||||
$hiddenFields[] = 'parte_corpo_atingida_outras';
|
||||
}
|
||||
|
||||
if (!$parecerMedico->diagnosticos->contains('id', DiagnosticoEnum::OUTROS)) {
|
||||
|
||||
$hiddenFields[] = 'diagnostico_outros';
|
||||
}
|
||||
|
||||
return $parecerMedico
|
||||
->with('causasAcidente', 'diagnosticos', 'partesCorpoAtingidas')
|
||||
->get()
|
||||
->makeHidden($hiddenFields);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user