This commit is contained in:
118
api/app/Models/Regulacao/Parametrizacao.php
Normal file
118
api/app/Models/Regulacao/Parametrizacao.php
Normal file
@@ -0,0 +1,118 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Regulacao;
|
||||
|
||||
use App\Models\Cadastro\Especialidade;
|
||||
use App\Models\Cadastro\Estabelecimento\Infraestrutura;
|
||||
use App\Models\Cadastro\Grupo\Grupo;
|
||||
use App\Models\Intranet\Estado;
|
||||
use App\Models\Model;
|
||||
use App\Models\Parametrizacao\ProcedimentoCirurgico;
|
||||
|
||||
class Parametrizacao extends Model
|
||||
{
|
||||
protected $table = 'regulacao_parametrizacao';
|
||||
|
||||
protected $casts = [
|
||||
'numero_solicitacao_automatico' => 'boolean',
|
||||
'solicitacao_automatica_ambulatorio' => 'boolean',
|
||||
'permite_agendar_fora_ordem_posicao' => 'boolean',
|
||||
'exibe_protocolo_cross' => 'boolean',
|
||||
'obriga_protocolo_cross' => 'boolean',
|
||||
'obriga_data_desejada' => 'boolean',
|
||||
'encerra_solicitacao_automaticamente_ao_encerrar_protocolo_oci' => 'boolean',
|
||||
'solicitacao_retroativa' => 'boolean',
|
||||
'exames_nao_regulados' => 'boolean',
|
||||
'sempre_alterar_unidade_solicitante' => 'boolean',
|
||||
'exibe_assinatura_relatorio_solicitacao' => 'boolean',
|
||||
];
|
||||
|
||||
protected $fillable = [
|
||||
'numero_solicitacao_automatico',
|
||||
'solicitacao_automatica_ambulatorio',
|
||||
'permite_agendar_fora_ordem_posicao',
|
||||
'opcao_retirada_protocolo_agendamento_id',
|
||||
'mensagem_protocolo_solicitacao',
|
||||
'mensagem_comprovante_agendamento',
|
||||
'exibe_protocolo_cross',
|
||||
'obriga_protocolo_cross',
|
||||
'usuario_registro_estado_id',
|
||||
'obriga_data_desejada',
|
||||
'encerra_solicitacao_automaticamente_ao_encerrar_protocolo_oci',
|
||||
'solicitacao_retroativa',
|
||||
'exames_nao_regulados',
|
||||
'sempre_alterar_unidade_solicitante',
|
||||
'exibe_assinatura_relatorio_solicitacao',
|
||||
];
|
||||
|
||||
protected $hidden = [
|
||||
'created_at',
|
||||
'created_lotacao_id',
|
||||
'created_centro_custo_id',
|
||||
'updated_at',
|
||||
'updated_lotacao_id',
|
||||
'updated_centro_custo_id',
|
||||
];
|
||||
|
||||
public function opcaoRetiradaProtocoloAgendamento()
|
||||
{
|
||||
return $this->belongsTo(ParametrizacaoOpcaoRetiradaProtocoloAgendamento::class);
|
||||
}
|
||||
|
||||
public function usuarioRegistroEstado()
|
||||
{
|
||||
return $this->belongsTo(Estado::class);
|
||||
}
|
||||
|
||||
public function dataDesejadaGruposExames()
|
||||
{
|
||||
return $this->belongsToMany(
|
||||
Grupo::class,
|
||||
'regulacao_parametrizacao_data_desejada_grupo_exame',
|
||||
'parametrizacao_id',
|
||||
'grupo_id'
|
||||
)
|
||||
->using(ParametrizacaoDataDesejadaGrupoExame::class)
|
||||
->as('dataDesejadaGrupoExame')
|
||||
->withTimestamps();
|
||||
}
|
||||
|
||||
public function dataDesejadaProcedimentosCirurgicos()
|
||||
{
|
||||
return $this->belongsToMany(
|
||||
ProcedimentoCirurgico::class,
|
||||
'regulacao_parametrizacao_data_desejada_procedimento_cirurgico',
|
||||
'parametrizacao_id',
|
||||
'procedimento_cirurgico_id'
|
||||
)
|
||||
->using(ParametrizacaoDataDesejadaProcedimentoCirurgico::class)
|
||||
->as('dataDesejadaProcedimentoCirurgico')
|
||||
->withTimestamps();
|
||||
}
|
||||
|
||||
public function dataDesejadaEspecialidades()
|
||||
{
|
||||
return $this->belongsToMany(
|
||||
Especialidade::class,
|
||||
'regulacao_parametrizacao_data_desejada_especialidade',
|
||||
'parametrizacao_id',
|
||||
'especialidade_id'
|
||||
)
|
||||
->using(ParametrizacaoDataDesejadaEspecialidade::class)
|
||||
->as('dataDesejadaEspecialidade')
|
||||
->withTimestamps();
|
||||
}
|
||||
|
||||
public function dataDesejadaInfraestruturas()
|
||||
{
|
||||
return $this->belongsToMany(
|
||||
Infraestrutura::class,
|
||||
'regulacao_parametrizacao_data_desejada_infraestrutura',
|
||||
'parametrizacao_id',
|
||||
'infraestrutura_id'
|
||||
)
|
||||
->using(ParametrizacaoDataDesejadaInfraestrutura::class)
|
||||
->as('dataDesejadaInfraestrutura')
|
||||
->withTimestamps();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user