87 lines
1.9 KiB
PHP
87 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Models\Ambulatorio;
|
|
|
|
use App\Models\Cadastro\Especialidade;
|
|
use App\Models\Cadastro\SujeitoAtencao\Lotacao;
|
|
use App\Models\Model;
|
|
|
|
class Jornada extends Model
|
|
{
|
|
protected $table = 'ambulatorio_jornada';
|
|
|
|
protected $casts = [
|
|
'data' => 'datetime:d/m/Y',
|
|
'inicio' => 'datetime:H:i',
|
|
'fim' => 'datetime:H:i',
|
|
'permite_agendamento_somente_supervisor' => 'boolean',
|
|
];
|
|
|
|
protected $fillable = [
|
|
'tipo_id',
|
|
'lotacao_id',
|
|
'especialidade_id',
|
|
'data',
|
|
'inicio',
|
|
'fim',
|
|
'quantidade_consulta',
|
|
'tempo_consulta',
|
|
'quantidade_retorno',
|
|
'tempo_retorno',
|
|
'quantidade_consulta_conectasus_cidadao',
|
|
'tempo_consulta_conectasus_cidadao',
|
|
'quantidade_retorno_conectasus_cidadao',
|
|
'tempo_retorno_conectasus_cidadao',
|
|
'situacao_id',
|
|
'permite_agendamento_somente_supervisor',
|
|
];
|
|
|
|
protected $hidden = [
|
|
'created_at',
|
|
'created_lotacao_id',
|
|
'created_centro_custo_id',
|
|
'updated_at',
|
|
'updated_lotacao_id',
|
|
'updated_centro_custo_id',
|
|
];
|
|
|
|
protected $appends = [
|
|
'dia_semana',
|
|
];
|
|
|
|
public function tipo()
|
|
{
|
|
return $this->belongsTo(JornadaTipo::class);
|
|
}
|
|
|
|
public function lotacao()
|
|
{
|
|
return $this->belongsTo(Lotacao::class);
|
|
}
|
|
|
|
public function especialidade()
|
|
{
|
|
return $this->belongsTo(Especialidade::class);
|
|
}
|
|
|
|
public function situacao()
|
|
{
|
|
return $this->belongsTo(JornadaSituacao::class);
|
|
}
|
|
|
|
public function agendamentos()
|
|
{
|
|
return $this->hasMany(Agendamento::class);
|
|
}
|
|
|
|
public function demandasEspontaneas()
|
|
{
|
|
return $this->hasMany(DemandaEspontanea::class);
|
|
}
|
|
|
|
public function getDiaSemanaAttribute()
|
|
{
|
|
return $this->data->dayOfWeek + 1;
|
|
}
|
|
}
|