Browse Source

Mejora en sintaxis de clase uader_mapuche_persona

main
jirho 1 year ago
parent
commit
e2a9d6472f
  1. 27
      src/app/Models/UaderMapuchePersona.php

27
src/app/Models/UaderMapuchePersona.php

@ -96,7 +96,6 @@ class UaderMapuchePersona extends Model
return self::buscarPersona("telefono", $telefono); return self::buscarPersona("telefono", $telefono);
} }
/** /**
* Busca los datos de una persona y su ultima declaracion juarada por el DNI. * Busca los datos de una persona y su ultima declaracion juarada por el DNI.
* *
@ -114,19 +113,18 @@ class UaderMapuchePersona extends Model
/** /**
* Busca una persona en el sistema según el tipo de filtro especificado (DNI o teléfono). * Busca una persona en el sistema según el tipo de filtro especificado (DNI o teléfono).
* *
* La función realiza una búsqueda en la base de datos para encontrar una persona * La función realiza una búsqueda en la base de datos para encontrar una persona
* que tenga una declaración jurada en estado "C" (cerrado) o "V" (validado). * que tenga una declaración jurada en estado "C" (cerrado) o "V" (validado).
* Se aplica un filtro de búsqueda según el DNI o el teléfono proporcionado. * Se aplica un filtro de búsqueda según el DNI o el teléfono proporcionado.
* *
* @param string $tipoFiltro El tipo de filtro a aplicar, puede ser "dni" o "telefono". * @param string $tipoFiltro El tipo de filtro a aplicar, puede ser "dni" o "telefono".
* @param string $valor El valor del filtro (DNI o teléfono) que se utilizará para la búsqueda. * @param string $valor El valor del filtro (DNI o teléfono) que se utilizará para la búsqueda.
* *
* @return \App\Models\Persona|null Retorna el registro de la persona encontrada o null si no existe. * @return \App\Models\Persona|null Retorna el registro de la persona encontrada o null si no existe.
* *
* @throws \InvalidArgumentException Si el tipo de filtro no es soportado. * @throws \InvalidArgumentException Si el tipo de filtro no es soportado.
*/ */
public static function buscarPersona(string $tipoFiltro, string $valor) public static function buscarPersona(string $tipoFiltro, string $valor)
{ {
$declaracionesJuradas = self::join( $declaracionesJuradas = self::join(
@ -142,11 +140,16 @@ class UaderMapuchePersona extends Model
// Aplicar la lógica de búsqueda según el tipo de filtro // Aplicar la lógica de búsqueda según el tipo de filtro
switch ($tipoFiltro) { switch ($tipoFiltro) {
case "dni": case "dni":
$declaracionesJuradas->where("uader_mapuche_persona.nro_docum", $valor); $declaracionesJuradas->where(
"uader_mapuche_persona.nro_docum",
$valor
);
break; break;
case "telefono": case "telefono":
$declaracionesJuradas->whereRaw("'549'||REGEXP_REPLACE(telefono_celular, '-|-15','','g') = '$valor'"); $declaracionesJuradas->whereRaw(
"'549'||REGEXP_REPLACE(telefono_celular, '-|-15','','g') = '$valor'"
);
break; break;
default: default:
@ -154,13 +157,15 @@ class UaderMapuchePersona extends Model
"Filtro de búsqueda no soportado: $tipoFiltro" "Filtro de búsqueda no soportado: $tipoFiltro"
); );
} }
$ultimaDeclaracionJurada = $declaracionesJuradas->first(); $ultimaDeclaracionJurada = $declaracionesJuradas->first();
if (empty($ultimaDeclaracionJurada)) { if (empty($ultimaDeclaracionJurada)) {
return null; return null;
} }
return self::where('id_dj_persona', $ultimaDeclaracionJurada->id_dj)->first(); return self::where(
"id_dj_persona",
$ultimaDeclaracionJurada->id_dj
)->first();
} }
} }

Loading…
Cancel
Save