se terminaron los modelos, faltan controlarlos con la IA

This commit is contained in:
Lucho
2026-03-16 15:14:17 -03:00
parent a311dedf89
commit 7b7d81d5d0
52 changed files with 882 additions and 25 deletions
+2 -2
View File
@@ -7,7 +7,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
class AccionLog extends Model
{
use hasFactory;
use HasFactory;
protected $table = 'accioneslogs';
protected $fillable = [
@@ -18,7 +18,7 @@ protected $fillable = [
public function logSeguridad()
{
return $this->hasMany(LogSeguridad::class, 'accion_id');
return $this->hasMany(LogSeguridad::class, 'accion_id', 'id');
}
}
+28
View File
@@ -0,0 +1,28 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Administrador extends Model
{
use HasFactory;
protected $table = 'administradores';
protected $fillable = [
'persona_id',
'dni',
'correo',
'credencialprofesional_id',
];
public function credencial()
{
return $this->belongsTo(CredencialProfesional::class, 'credencialprofesional_id','id');
}
public function persona()
{
return $this->belongsTo(Persona::class, 'persona_id','id');
}
}
+43
View File
@@ -0,0 +1,43 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Agenda extends Model
{
use HasFactory;
protected $table = 'agendas';
protected $fillable = [
'estado',
'duracionturno',
'profesional_id',
];
public function profesional()
{
return $this->belongsTo(Profesional::class, 'profesional_id','id');
}
public function diaDeAtencion()
{
return $this->hasMany(DiaDeAtencion::class, 'agenda_id','id');
}
public function turno()
{
return $this->hasMany(Turno::class, 'agenda_id','id');
}
public function feriado()
{
return $this->hasMany(Feriado::class, 'agenda_id','id');
}
public function modoVacaciones()
{
return $this->hasMany(ModoVacaciones::class, 'agenda_id', 'id');
}
}
+29
View File
@@ -0,0 +1,29 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Baja extends Model
{
use HasFactory;
protected $table = 'bajas';
protected $fillable = [
'motivo',
];
//tiene una
public function cliente()
{
return $this->hasOne(Cliente::class, 'baja_id', 'id');
}
public function profesional()
{
return $this->hasOne(Profesional::class, 'baja_id', 'id');
}
}
+57
View File
@@ -0,0 +1,57 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Cliente extends Model
{
use HasFactory;
protected $table = 'clientes';
protected $fillable = [
'dni',
'correo',
'persona_id',
'baja_id',
'credencialcliente_id',
];
public function persona()
{
return $this->belongsTo(Persona::class, 'persona_id','id');
}
public function baja()
{
return $this->belongsTo(Baja::class, 'baja_id','id');
}
public function credencialCliente()
{
return $this->belongsTo(CredencialCliente::class, 'credencialcliente_id','id');
}
public function documentosCliente()
{
return $this->hasMany(DocumentacionCliente::class, 'cliente_id','id');
}
public function turnos()
{
return $this->hasMany(Turno::class, 'cliente_id','id');
}
public function profesionales()
{
return $this->belongsToMany(Profesional::class, 'profesional_cliente','cliente_id', 'profesional_id')
->withPivot('estadorelacion')
->withTimestamps();
}
public function formularios()
{
return $this->hasMany(Formulario::class, 'cliente_id','id');
}
}
+21
View File
@@ -0,0 +1,21 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class ContenidoWeb extends Model
{
use HasFactory;
protected $table = 'contenidoswebs';
protected $fillable = [
'quienessomos',
];
public function ubicaciones()
{
return $this->hasMany(Ubicacion::class, 'contenidoweb_id', 'id');
}
}
+26
View File
@@ -0,0 +1,26 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class CredencialCliente extends Model
{
use HasFactory;
protected $table = 'credencialesclientes';
protected $fillable = [
'contra',
'correo',
'token',
'fecha_hora',
];
//tiene un
public function cliente()
{
return $this->hasOne(Cliente::class, 'credencialcliente_id', 'id');
}
}
+31
View File
@@ -0,0 +1,31 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class CredencialProfesional extends Model
{
use HasFactory;
protected $table = 'credencialesprofesionales';
protected $fillable = [
'usuario',
'contra',
'rol',
'token',
'fecha_hora',
];
public function profesional()
{
return $this->hasOne(Profesional::class, 'credencialprofesional_id', 'id');
}
public function administrador()
{
return $this->hasOne(Administrador::class, 'credencialprofesional_id', 'id');
}
}
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Dia extends Model
{
use HasFactory;
protected $table = 'dias';
protected $fillable = [
'descripcion',
];
public function diaDeAtencion()
{
return $this->hasMany(DiaDeAtencion::class, 'dia_id', 'id');
}
}
+40
View File
@@ -0,0 +1,40 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class DiaDeAtencion extends Model
{
use HasFactory;
protected $table = 'diasdeatenciones';
protected $fillable = [
'descripcion',
'agenda_id',
'dia_id',
];
public function agenda()
{
return $this->belongsTo(Agenda::class, 'agenda_id', 'id');
}
public function dias()
{
return $this->belongsTo(Dia::class, 'dia_id', 'id');
}
public function horariosRecesos()
{
return $this->hasMany(HorarioReceso::class, 'diadeatencion_id', 'id');
}
public function horariosAtenciones()
{
return $this->hasMany(HorarioAtencion::class, 'diadeatencion_id', 'id');
}
}
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class DiaPreferencia extends Model
{
use HasFactory;
protected $table = 'diaspreferencias';
protected $fillable = [
'descripcion',
'formulario_id',
];
public function formulario()
{
return $this->belongsToMany(Formulario::class, 'formulario_diapreferencia','diapreferencia_id','formulario_id');
}
}
+31
View File
@@ -0,0 +1,31 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class DocumentacionCliente extends Model
{
use HasFactory;
protected $table = 'documentacionesclientes';
protected $fillable=[
'nombre',
'mime_type',
'tamanio_bytes',
'extension',
'cliente_id',
'profesional_id',
];
public function cliente()
{
return $this->belongsTo(Cliente::class, 'cliente_id','id');
}
public function profesional()
{
return $this->belongsTo(Cliente::class, 'profesional_id','id');
}
}
+22
View File
@@ -0,0 +1,22 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class EstadoProfesional extends Model
{
use HasFactory;
protected $table = 'estadosprofesionales';
protected $fillable = [
'descripcion',
];
public function profesional()
{
return $this->hasMany(Profesional::class, 'estadoprofesional_id', 'id');
}
}
+21
View File
@@ -0,0 +1,21 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class EstadoTurno extends Model
{
use HasFactory;
protected $table = 'estadosturnos';
protected $fillable = [
'descripcion',
];
public function turno()
{
return $this->hasMany(Turno::class, 'estadoturno_id', 'id');
}
}
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Feriado extends Model
{
use HasFactory;
protected $table = 'feriados';
protected $fillable = [
'fecha',
'descripcion',
'agenda_id',
];
public function agenda()
{
return $this->belongTo(Agenda::class, 'agenda_id', 'id');
}
}
+63
View File
@@ -0,0 +1,63 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Formulario extends Model
{
use HasFactory;
protected $table = 'formularios';
protected $fillable = [
'descripcion',
'nombrecompleto',
'correo',
'celular',
'estado',
'profesion_id',
'servicio_id',
'modalidad_id',
'profesional_id',
'cliente_id',
'fechaenvio',
'horariopreferido_id',
'diapreferido_id',
];
public function modalidad()
{
return $this->belongTo(Modalidad::class, 'modalidad_id', 'id');
}
public function profesion()
{
return $this->belongTo(Profesion::class, 'profesion_id', 'id');
}
public function servicio()
{
return $this->belongTo(Servicio::class, 'modalidad_id', 'id');
}
public function cliente()
{
return $this->belongTo(Cliente::class, 'cliente_id', 'id');
}
public function profesional()
{
return $this->belongToMany(Profesional::class, 'profesional_formulario', 'formulario_id', 'profesional_id')
->withPivot('estadoformulario')
->withTimesTamps();
}
public function diapreferido()
{
return $this->belongToMany(DiaPreferencia::class, 'formulario_diapreferido', 'formulario_id', 'diapreferido_id');
}
public function horariopreferido()
{
return $this->belongToMany(HorarioPreferencia::class, 'formulario_horariopreferido', 'formulario_id', 'horariopreferido_id');
}
}
+31
View File
@@ -0,0 +1,31 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Foto extends Model
{
use HasFactory;
protected $table = 'fotos';
protected $fillable = [
'extension',
'tamanio_bytes',
'nombre',
'mime_type',
'ruta',
];
public function persona()
{
return $this->hasMany(Persona::class, 'foto_id', 'id');
}
public function servicio()
{
return $this->hasMany(Servicio::class, 'foto_id', 'id');
}
}
+24
View File
@@ -0,0 +1,24 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class HorarioDeAtencion extends Model
{
use HasFactory;
protected $table = 'horarioatenciones';
protected $fillable = [
'horariocomienzo',
'horariofin',
'diadeatencion_id',
];
public function diaatencion()
{
return $this->belongTo(DiaDeAtencion::class, 'diadeatencion_id', 'id');
}
}
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class HorarioPreferencia extends Model
{
use HasFactory;
protected $table = '';
protected $fillable = [
'descripcion',
'formulario_id',
];
public function formulario()
{
return $this->belongToMany(Formulario::class, 'formulario_horariopreferencia', 'horariopreferencia_id', 'formulario_id');
}
}
+24
View File
@@ -0,0 +1,24 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class HorarioReceso extends Model
{
use HasFactory;
protected $table = 'horariosrecesos';
protected $fillable = [
'comienzo',
'fin',
'diadeatencion_id',
];
public function diaDeAtencion()
{
return $this->belongTo(DiaDeAtencion::class, 'diadeatencion_id', 'id');
}
}
+3 -3
View File
@@ -7,7 +7,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
class LogSeguridad extends Model
{
use hasFactory;
use HasFactory;
protected $table = 'logsseguridades';
@@ -24,11 +24,11 @@ class LogSeguridad extends Model
public function accion()
{
return $this->belongsTo(AccionLog::class, 'accion_id');
return $this->belongsTo(AccionLog::class, 'accion_id', 'id');
}
public function responsable()
{
return $this->belongsTo(Persona::class);
return $this->belongsTo(Persona::class, 'persona_id', 'id');
}
}
+22
View File
@@ -0,0 +1,22 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Modalidad extends Model
{
use HasFactory;
protected $table = 'modalidades';
protected $fillable = [
'descripcion',
];
public function formularios()
{
return $this->hasMany(Formulario::class, 'modalidad_id', 'id');
}
}
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class ModoVacaciones extends Model
{
use HasFactory;
protected $table = 'modovacaciones';
protected $fillable = [
'inicio',
'fin',
'descripcion',
'agenda_id',
];
public function agenda()
{
return $this->belongTo(Agenda::class, 'agenda_id', 'id');
}
}
+4 -3
View File
@@ -18,11 +18,12 @@ class Persona extends Model
'cuil',
'fechanac',
'foto_id',
'telefono_id'
];
public function Foto()
{
return $this->belongsTo(Foto::class, 'foto_id');
return $this->belongsTo(Foto::class, 'foto_id', 'id');
}
public function profesionales()
@@ -32,11 +33,11 @@ class Persona extends Model
public function cliente()
{
return $this->hasOne(Cliente::class, 'persona_id');
return $this->hasOne(Cliente::class, 'persona_id', 'id');
}
public function telefonos()
{
return $this->belongsToMany(Telefono::class, 'personas_telefonos', 'persona_id', 'telefono_id');
return $this->belongsToMany(Telefono::class, 'persona_telefono', 'persona_id', 'telefono_id');
}
}
+1 -1
View File
@@ -18,6 +18,6 @@ class Profesion extends Model
public function profesionales()
{
return $this->hasMany(Profesional::class, 'profesion_id');
return $this->hasMany(Profesional::class, 'profesion_id', 'id');
}
}
+7 -5
View File
@@ -9,6 +9,8 @@ class Profesional extends Model
{
use HasFactory;
protected $table = 'profesionales';
protected $fillable = [
'matricula',
'correo',
@@ -24,17 +26,17 @@ class Profesional extends Model
public function profesion()
{
return $this->belongsTo(Profesion::class, 'profesion_id');
return $this->belongsTo(Profesion::class, 'profesion_id', 'id');
}
public function credencialProfesional()
{
return $this->belongsTo(CredencialeProfesionale::class, 'credencialprofesional_id');
return $this->belongsTo(CredencialeProfesionale::class, 'credencialprofesional_id', 'id');
}
public function estadoProfesional()
{
return $this->belongsTo(EstadoProfesional::class, 'estadoprofesional_id');
return $this->belongsTo(EstadoProfesional::class, 'estadoprofesional_id', 'id');
}
public function persona()
@@ -71,7 +73,7 @@ class Profesional extends Model
public function formularios()
{
return $this->belongsToMany(Formulario::class, 'profesionales_formularios')
return $this->belongsToMany(Formulario::class, 'profesional_formulario', 'profesional_id', 'formulario_id')
->withPivot('estadoformulario')
->withTimestamps();
}
@@ -83,7 +85,7 @@ class Profesional extends Model
public function clientes()
{
return $this->belongsToMany(Cliente::class, 'profesionales_cliente')
return $this->belongsToMany(Cliente::class, 'profesionales_cliente', 'profesional_id', 'cliente_id')
->withPivot('estadorelacion')
->withTimestamps();
}
+12 -5
View File
@@ -9,6 +9,8 @@ class Servicio extends Model
{
use HasFactory;
protected $table = 'servicios';
protected $fillable = [
'titulo',
'estado',
@@ -19,24 +21,29 @@ class Servicio extends Model
//pertenece a
public function contenido()
public function contenidoWeb()
{
return $this->belongsTo(Contenido::class, 'contenido_id');
return $this->belongsTo(ContenidoWeb::class, 'contenidoweb_id', 'id');
}
public function profesion()
{
return $this->belongsTo(Profesion::class, 'profesion_id');
return $this->belongsTo(Profesion::class, 'profesion_id', 'id');
}
public function foto()
{
return $this->belongsTo(Foto::class, 'foto_id');
return $this->belongsTo(Foto::class, 'foto_id', 'id');
}
// Tiene un
public function formulario()
{
return $this->hasOne(Formulario::class, 'servicio_id');
return $this->hasOne(Formulario::class, 'servicio_id', 'id');
}
public function turno()
{
return $this->hasOne(Turno::class, 'servicio_id', 'id');
}
//Tablas intermedias
+21
View File
@@ -0,0 +1,21 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Telefono extends Model
{
use HasFactory;
protected $table = 'telefonos';
protected $fillable = [
'telefono',
];
public function persona()
{
return $this->belongToMany(Persona::class, 'persona_telefono', 'telefono_id', 'persona_id');
}
}
+48
View File
@@ -0,0 +1,48 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Turno extends Model
{
use HasFactory;
protected $table = 'turnos';
protected $fillable = [
'inicio',
'correo',
'nombrecompleto',
'descripcion',
'cliente_id',
'estadoturno_id',
'agenda_id',
'profesional_id',
'servicio_id',
];
public function estadoTurno()
{
return $this->belongsTo(EstadoTurno::class, 'estadoturno_id', 'id');
}
public function cliente()
{
return $this->belongsTo(Cliente::class, 'cliente_id', 'id');
}
public function agenda()
{
return $this->belongsTo(Agenda::class, 'agenda_id', 'id');
}
public function profesional()
{
return $this->belongTo(Profesional::class, 'profesional_id', 'id');
}
public function servicio()
{
return $this->belongTo(Servicio::class, 'servicio_id', 'id');
}
}
+21
View File
@@ -0,0 +1,21 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Ubicacion extends Model
{
use HasFactory;
protected $table = 'ubicaciones';
protected $fillable = [
'link',
];
public function contenidoweb()
{
return $this->belongsTo(ContenidoWeb::class, 'contenido_id','id');
}
}