init commit
All checks were successful
build-api-image / build (push) Successful in 51s

This commit is contained in:
Antonio Lopes dos Santos
2026-08-04 16:52:02 -03:00
commit afec302c3e
11594 changed files with 1636728 additions and 0 deletions

View File

@@ -0,0 +1,101 @@
<?php
namespace App\Models\Cadastro\Grupo;
use App\Models\Almoxarifado\ParametrizacaoControleEstoqueGrupo;
use App\Models\Almoxarifado\ParametrizacaoPortalDivulgacaoGrupo;
use App\Models\Almoxarifado\ParametrizacaoDispensacaoMateriais;
use App\Models\Cadastro\Material\Material;
use App\Models\Cadastro\Subgrupo\Subgrupo;
use App\Models\ExameImagem\Agendamento\Agendamento;
use App\Models\Model;
use App\Models\Regulacao\Tipo as RegulacaoTipo;
use Illuminate\Database\Eloquent\SoftDeletes;
class Grupo extends Model
{
use SoftDeletes;
protected $table = 'cadastro_grupo';
protected $fillable = [
'nome',
'grupo_tipo_id',
'impressao_mapa_producao',
'regulacao_tipo_id',
];
protected $casts = [
'impressao_mapa_producao' => 'boolean',
];
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',
];
protected $appends = [
'is_regulado',
];
public function grupoTipo()
{
return $this->belongsTo(GrupoTipo::class);
}
public function regulacaoTipo()
{
return $this->belongsTo(RegulacaoTipo::class);
}
public function agendamentosExameImagem()
{
return $this->hasMany(Agendamento::class);
}
public function subgrupos()
{
return $this->hasMany(Subgrupo::class);
}
public function materiais()
{
return $this->hasMany(Material::class);
}
public function almoxarifadoParametrizacoesControleEstoqueGrupo()
{
return $this->hasMany(ParametrizacaoControleEstoqueGrupo::class);
}
public function almoxarifadoParametrizacoesPortalDivulgacaoGrupo()
{
return $this->hasMany(ParametrizacaoPortalDivulgacaoGrupo::class);
}
public function getIsReguladoAttribute()
{
return !is_null($this->regulacao_tipo_id);
}
public function almoxarifadoParametrizacoesDispensarMateriais()
{
return $this->hasMany(ParametrizacaoDispensacaoMateriais::class);
}
public function getIsAllowedToDeleteAttribute()
{
return $this->hasNoOne([
'subgrupos',
'materiais',
'almoxarifadoParametrizacoesControleEstoqueGrupo',
]);
}
}

View File

@@ -0,0 +1,20 @@
<?php
namespace App\Models\Cadastro\Grupo;
use App\Models\Model;
class GrupoTipo extends Model
{
protected $table = 'cadastro_grupo_tipo';
protected $fillable = [
'id',
'nome'
];
protected $hidden = [
'created_at',
'deleted_at',
];
}