Files
rkm-conectasus-ci-sandbox/api/app/Models/Manutencao/Solicitacao.php
Antonio Lopes dos Santos afec302c3e
All checks were successful
build-api-image / build (push) Successful in 51s
init commit
2026-08-04 16:52:02 -03:00

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);
}
}