153 lines
4.1 KiB
PHP
153 lines
4.1 KiB
PHP
<?php
|
|
|
|
namespace App\Models\Cadastro\Estabelecimento;
|
|
|
|
use App\Models\Almoxarifado\Entrada;
|
|
use App\Models\Almoxarifado\ParametrizacaoControleEstoqueGrupo;
|
|
use App\Models\Almoxarifado\ParametrizacaoPortalDivulgacaoGrupo;
|
|
use App\Models\Almoxarifado\ParametrizacaoDispensacaoUnidade;
|
|
use App\Models\Almoxarifado\ParametrizacaoEstoque;
|
|
use App\Models\Almoxarifado\Requisicao;
|
|
use App\Models\Almoxarifado\RequisicaoPermissao;
|
|
use App\Models\Almoxarifado\Saida;
|
|
use App\Models\Almoxarifado\SaidaRequisicao;
|
|
use App\Models\Almoxarifado\SaidaTransferencia;
|
|
use App\Models\Farmacia\AltoCusto\Processo;
|
|
use App\Models\Farmacia\ReceitaItemEntrega;
|
|
use App\Models\Model;
|
|
use App\Models\PainelSenha\Status;
|
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
|
|
|
class CentroCusto extends Model
|
|
{
|
|
use SoftDeletes;
|
|
|
|
protected $table = 'cadastro_centro_custo';
|
|
|
|
protected $fillable = [
|
|
'infraestrutura_id',
|
|
'setor_id'
|
|
];
|
|
|
|
protected $hidden = [
|
|
'created_at',
|
|
'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',
|
|
];
|
|
|
|
public function infraestrutura()
|
|
{
|
|
return $this->belongsTo(Infraestrutura::class);
|
|
}
|
|
|
|
public function setor()
|
|
{
|
|
return $this->belongsTo(Setor::class);
|
|
}
|
|
|
|
public function salas()
|
|
{
|
|
return $this->hasMany(Sala::class);
|
|
}
|
|
|
|
public function status()
|
|
{
|
|
return $this->hasMany(Status::class);
|
|
}
|
|
|
|
public function almoxarifadoEntradas()
|
|
{
|
|
return $this->hasMany(Entrada::class);
|
|
}
|
|
|
|
public function almoxarifadoSaidas()
|
|
{
|
|
return $this->hasMany(Saida::class);
|
|
}
|
|
|
|
public function almoxarifadoParametrizacoesControleEstoqueGrupo()
|
|
{
|
|
return $this->hasMany(ParametrizacaoControleEstoqueGrupo::class);
|
|
}
|
|
|
|
public function almoxarifadoParametrizacoesPortalDivulgacaoGrupo()
|
|
{
|
|
return $this->hasMany(ParametrizacaoPortalDivulgacaoGrupo::class);
|
|
}
|
|
|
|
public function almoxarifadoParametrizacaoDispensacaoUnidades()
|
|
{
|
|
return $this->hasOne(ParametrizacaoDispensacaoUnidade::class);
|
|
}
|
|
|
|
public function almoxarifadoParametrizacoesEstoque()
|
|
{
|
|
return $this->hasMany(ParametrizacaoEstoque::class);
|
|
}
|
|
|
|
public function almoxarifadoRequisicaoPermissoesRequisitante()
|
|
{
|
|
return $this->hasMany(RequisicaoPermissao::class, 'centro_custo_requisitante_id');
|
|
}
|
|
|
|
public function almoxarifadoRequisicaoPermissoesAlmoxarifado()
|
|
{
|
|
return $this->hasMany(RequisicaoPermissao::class, 'created_centro_custo_id');
|
|
}
|
|
|
|
public function almoxarifadoRequisicoes()
|
|
{
|
|
return $this->hasMany(Requisicao::class);
|
|
}
|
|
|
|
public function almoxarifadoRequisicoesRequisitante()
|
|
{
|
|
return $this->hasMany(Requisicao::class, 'created_centro_custo_id');
|
|
}
|
|
|
|
public function almoxarifadoSaidaRequisicoes()
|
|
{
|
|
return $this->hasMany(SaidaRequisicao::class);
|
|
}
|
|
|
|
public function almoxarifadoSaidaTransferencias()
|
|
{
|
|
return $this->hasMany(SaidaTransferencia::class);
|
|
}
|
|
|
|
public function farmaciaReceitaEntregas()
|
|
{
|
|
return $this->hasMany(ReceitaItemEntrega::class, 'created_centro_custo_id');
|
|
}
|
|
|
|
public function farmaciaAltoCustoProcessos()
|
|
{
|
|
return $this->hasMany(Processo::class, 'created_centro_custo_id');
|
|
}
|
|
|
|
public function getIsAllowedToDeleteAttribute()
|
|
{
|
|
return $this->hasNoOne([
|
|
'salas',
|
|
'plantoes',
|
|
'almoxarifadoEntradas',
|
|
'almoxarifadoSaidas',
|
|
'almoxarifadoParametrizacoesControleEstoqueGrupo',
|
|
'almoxarifadoRequisicaoPermissoesRequisitante',
|
|
'almoxarifadoRequisicaoPermissoesAlmoxarifado',
|
|
'almoxarifadoRequisicoes',
|
|
'almoxarifadoRequisicoesRequisitante',
|
|
'almoxarifadoSaidaRequisicoes',
|
|
'almoxarifadoSaidaTransferencias',
|
|
'farmaciaReceitaEntregas',
|
|
'farmaciaAltoCustoProcessos',
|
|
]);
|
|
}
|
|
}
|