113 lines
2.7 KiB
PHP
113 lines
2.7 KiB
PHP
<?php
|
|
|
|
namespace App\Models\Manutencao;
|
|
|
|
use App\Models\Cadastro\Estabelecimento\Infraestrutura;
|
|
use App\Models\Cadastro\Grupo\Grupo;
|
|
use App\Models\Cadastro\ServicoManutencao;
|
|
use App\Models\Cadastro\Subgrupo\Subgrupo;
|
|
use App\Models\Cadastro\SujeitoAtencao\Usuario;
|
|
use App\Models\Manutencao\GerenciamentoMensagem;
|
|
use App\Models\Manutencao\SolicitacaoCausaProvavel;
|
|
use App\Models\Manutencao\SolicitacaoItensAlmoxarifado;
|
|
use App\Models\Manutencao\SolicitacaoResposta;
|
|
use App\Models\Manutencao\SolicitacaoStatusHistorico;
|
|
use App\Models\Manutencao\Status as SolicitacaoStatus;
|
|
use App\Models\Model;
|
|
|
|
class Solicitacao extends Model
|
|
{
|
|
protected $table = 'manutencao_solicitacao';
|
|
|
|
protected $fillable = [
|
|
'status_id',
|
|
'usuario_solicitante_id',
|
|
'infraestrutura_solicitante_id',
|
|
'grupo_id',
|
|
'subgrupo_id',
|
|
'servico_id',
|
|
'assunto',
|
|
'detalhe',
|
|
'codigo',
|
|
'pendente_finalizacao',
|
|
'data_agendamento',
|
|
'os_prestador',
|
|
'prestador_id',
|
|
'usuario_atendente_id',
|
|
'infraestrutura_atendente_id',
|
|
'custo',
|
|
'infraestrtura_finalizador_id',
|
|
'usuario_finalizador_id',
|
|
];
|
|
|
|
protected $casts = [
|
|
'pendente_finalizacao' => 'boolean',
|
|
'data_agendamento' => 'datetime:d/m/Y',
|
|
];
|
|
|
|
protected $hidden = [
|
|
'created_at',
|
|
'created_lotacao_id',
|
|
'created_centro_custo_id',
|
|
'updated_at',
|
|
'updated_lotacao_id',
|
|
'updated_centro_custo_id',
|
|
];
|
|
|
|
public function messagem()
|
|
{
|
|
|
|
return $this->hasMany(GerenciamentoMensagem::class);
|
|
}
|
|
|
|
public function causaProvavel()
|
|
{
|
|
return $this->hasMany(SolicitacaoCausaProvavel::class);
|
|
}
|
|
|
|
public function solicitacaoHistorico()
|
|
{
|
|
return $this->hasMany(SolicitacaoStatusHistorico::class);
|
|
}
|
|
|
|
public function resposta()
|
|
{
|
|
return $this->hasMany(SolicitacaoResposta::class);
|
|
}
|
|
|
|
public function infraestruturaSolicitante()
|
|
{
|
|
return $this->belongsTo(Infraestrutura::class);
|
|
}
|
|
|
|
public function grupo()
|
|
{
|
|
return $this->belongsTo(Grupo::class);
|
|
}
|
|
|
|
public function subgrupo()
|
|
{
|
|
return $this->belongsTo(Subgrupo::class);
|
|
}
|
|
|
|
public function servico()
|
|
{
|
|
return $this->belongsTo(ServicoManutencao::class);
|
|
}
|
|
|
|
public function status()
|
|
{
|
|
return $this->belongsTo(SolicitacaoStatus::class);
|
|
}
|
|
|
|
public function usuarioSolicitante()
|
|
{
|
|
return $this->belongsTo(Usuario::class);
|
|
}
|
|
|
|
public function itensAlmoxarifado()
|
|
{
|
|
return $this->hasMany(SolicitacaoItensAlmoxarifado::class);
|
|
}
|
|
}
|