110 lines
2.3 KiB
PHP
110 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace App\Models\ExameImagem\Jornada;
|
|
|
|
|
|
use App\Models\Cadastro\Estabelecimento\Infraestrutura;
|
|
use App\Models\Cadastro\Estabelecimento\Unidade;
|
|
use App\Models\Cadastro\Grupo\Grupo;
|
|
use App\Models\Cadastro\SujeitoAtencao\Paciente;
|
|
use App\Models\Cadastro\SujeitoAtencao\Usuario;
|
|
use App\Models\ExameImagem\Parametrizacao;
|
|
use App\Models\ExameImagem\Parametrizacao\ControleJornada\TipoControleJornada;
|
|
use App\Models\Model;
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
|
|
class Jornada extends Model
|
|
{
|
|
use HasFactory;
|
|
|
|
protected $table = 'exame_imagem_jornada';
|
|
|
|
protected $fillable = [
|
|
'unidade_id',
|
|
'infraestrutura_id',
|
|
'controle_jornada_id',
|
|
'semana_id',
|
|
'exame_id',
|
|
'usuario_id',
|
|
'status_id',
|
|
'tipo_id',
|
|
'prestador_id',
|
|
'vagas',
|
|
'vagas_app',
|
|
'data',
|
|
'hora_inicial',
|
|
'hora_fim',
|
|
'tempo_atendimento',
|
|
'supervisor_id',
|
|
];
|
|
|
|
protected $casts = [
|
|
'data' => 'datetime:d/m/Y',
|
|
];
|
|
|
|
protected $hidden = [
|
|
'created_lotacao_id',
|
|
'created_centro_custo_id',
|
|
'updated_at',
|
|
'updated_lotacao_id',
|
|
'updated_centro_custo_id',
|
|
'deleted_at',
|
|
'deleted_lotacao_id',
|
|
'deleted_centro_custo_id',
|
|
];
|
|
|
|
protected $appends = [
|
|
'dia_semana',
|
|
];
|
|
|
|
public function unidade()
|
|
{
|
|
return $this->belongsTo(Unidade::class);
|
|
}
|
|
|
|
public function grupo()
|
|
{
|
|
return $this->belongsTo(Grupo::class, 'exame_id');
|
|
}
|
|
|
|
public function infraestrutura()
|
|
{
|
|
return $this->belongsTo(Infraestrutura::class);
|
|
}
|
|
|
|
public function usuario()
|
|
{
|
|
return $this->belongsTo(Usuario::class);
|
|
}
|
|
|
|
public function paciente()
|
|
{
|
|
return $this->belongsTo(Paciente::class);
|
|
}
|
|
|
|
public function status()
|
|
{
|
|
return $this->belongsTo(StatusJornada::class);
|
|
}
|
|
|
|
public function tipo()
|
|
{
|
|
return $this->belongsTo(TipoJornada::class);
|
|
}
|
|
|
|
public function controle()
|
|
{
|
|
return $this->belongsTo(TipoControleJornada::class);
|
|
}
|
|
|
|
public function prestador()
|
|
{
|
|
return $this->belongsTo(Parametrizacao::class);
|
|
}
|
|
|
|
public function getDiaSemanaAttribute()
|
|
{
|
|
return $this->data->dayOfWeek + 1;
|
|
}
|
|
}
|