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,219 @@
<?php
namespace App\Models\AtencaoBasica\CadastroDomiciliar;
use App\Models\AtencaoBasica\AtendimentoIndividual\EscalaCoelho;
use App\Models\AtencaoBasica\CadastroDomiciliar\Abastecimento;
use App\Models\AtencaoBasica\CadastroDomiciliar\Animal;
use App\Models\AtencaoBasica\CadastroDomiciliar\CadastroDomiciliarAnimal;
use App\Models\AtencaoBasica\CadastroDomiciliar\CadastroDomiciliarLazer;
use App\Models\AtencaoBasica\CadastroDomiciliar\DestinoLixo;
use App\Models\AtencaoBasica\CadastroDomiciliar\DomicilioTipo;
use App\Models\AtencaoBasica\CadastroDomiciliar\DomicilioTipoAcesso;
use App\Models\AtencaoBasica\CadastroDomiciliar\FormaEscoamento;
use App\Models\AtencaoBasica\CadastroDomiciliar\HigieneResidencial;
use App\Models\AtencaoBasica\CadastroDomiciliar\ImovelTipo;
use App\Models\AtencaoBasica\CadastroDomiciliar\MaterialPredominante;
use App\Models\AtencaoBasica\CadastroDomiciliar\SituacaoDomicilio;
use App\Models\AtencaoBasica\CadastroDomiciliar\SituacaoRural;
use App\Models\AtencaoBasica\CadastroDomiciliar\Tratamento;
use App\Models\AtencaoBasica\Parametrizacao\Equipe;
use App\Models\AtencaoBasica\Parametrizacao\Microarea;
use App\Models\Cadastro\Localizacao\Domicilio;
use App\Models\Cadastro\Localizacao\Zona;
use App\Models\Cadastro\SujeitoAtencao\Usuario;
use App\Models\Model;
use App\Models\Sigtap\Ocupacao;
class CadastroDomiciliar extends Model
{
protected $table = 'atencao_basica_cadastro_domiciliar';
protected $casts = [
'instituicao_outros_profissionais' => 'boolean',
'possui_animais' => 'boolean',
'bolsa_familia' => 'boolean',
'vale_gas' => 'boolean',
'bolsa_escola' => 'boolean',
'recusa_cadastro' => 'boolean',
'fora_area' => 'boolean',
'energia_eletrica' => 'boolean',
'bpc' => 'boolean',
];
protected $fillable = [
'id',
'domicilio_id',
'microarea_id',
'exportacao_id',
'fora_area',
'instituicao_nome',
'instituicao_outros_profissionais',
'instituicao_nome_responsavel_tecnico',
'instituicao_cns_responsavel_tecnico',
'instituicao_cargo_responsavel_tecnico',
'instituicao_telefone_responsavel_tecnico',
'imovel_tipo_id',
'situacao_domicilio_id',
'domicilio_tipo_id',
'quantidade_comodos',
'situacao_rural_id',
'domicilio_zona_id',
'domicilio_tipo_acesso_id',
'material_predominante_id',
'abastecimento_id',
'tratamento_id',
'destino_lixo_id',
'forma_escoamento_id',
'possui_animais',
'quantidade_animais',
'energia_eletrica',
'usuario_id',
'equipe_id',
'usuario_ocupacao_id',
'data_usuario_responsavel',
'higiene_residencial_id',
'bolsa_familia',
'vale_gas',
'bolsa_escola',
'bpc',
'recusa_cadastro',
'escala_coelho_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 usuarioExportacao()
{
return $this->belongsTo(Usuario::class);
}
public function domicilio()
{
return $this->belongsTo(Domicilio::class);
}
public function microarea()
{
return $this->belongsTo(Microarea::class);
}
public function imovelTipo()
{
return $this->belongsTo(ImovelTipo::class);
}
public function situacaoDomicilio()
{
return $this->belongsTo(SituacaoDomicilio::class);
}
public function domicilioTipo()
{
return $this->belongsTo(DomicilioTipo::class);
}
public function situacaoRural()
{
return $this->belongsTo(SituacaoRural::class);
}
public function domicilioZona()
{
return $this->belongsTo(Zona::class);
}
public function domicilioTipoAcesso()
{
return $this->belongsTo(DomicilioTipoAcesso::class);
}
public function materialPredominante()
{
return $this->belongsTo(MaterialPredominante::class);
}
public function abastecimento()
{
return $this->belongsTo(Abastecimento::class);
}
public function tratamento()
{
return $this->belongsTo(Tratamento::class);
}
public function destinoLixo()
{
return $this->belongsTo(DestinoLixo::class);
}
public function formaEscoamento()
{
return $this->belongsTo(FormaEscoamento::class);
}
public function usuario()
{
return $this->belongsTo(Usuario::class);
}
public function equipe()
{
return $this->belongsTo(Equipe::class);
}
public function ocupacao()
{
return $this->belongsTo(Ocupacao::class, 'usuario_ocupacao_id');
}
public function higieneResidencial()
{
return $this->belongsTo(HigieneResidencial::class);
}
public function escalaCoelho()
{
return $this->belongsTo(EscalaCoelho::class);
}
public function lazer()
{
return $this->belongsToMany(Lazer::class, 'atencao_basica_cadastro_domiciliar_lazer')
->using(CadastroDomiciliarLazer::class)
->as('CadastroDomiciliarLazer')
->withPivot(
'created_lotacao_id',
'created_centro_custo_id',
'cadastro_domiciliar_id',
'lazer_id',
)
->select('atencao_basica_cadastro_lazer.id')
->withTimestamps();
}
public function animal()
{
return $this->belongsToMany(Animal::class, 'atencao_basica_cadastro_domiciliar_animal')
->using(CadastroDomiciliarAnimal::class)
->as('CadastroDomiciliarAnimal')
->withPivot(
'created_lotacao_id',
'created_centro_custo_id',
'cadastro_domiciliar_id',
'animal_id',
)
->select('atencao_basica_cadastro_animal.id')
->withTimestamps();
}
}