|
|
|
|
@ -96,7 +96,6 @@ class UaderMapuchePersona extends Model
|
|
|
|
|
return self::buscarPersona("telefono", $telefono); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 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). |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* 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). |
|
|
|
|
* 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 $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. |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* @throws \InvalidArgumentException Si el tipo de filtro no es soportado. |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
public static function buscarPersona(string $tipoFiltro, string $valor) |
|
|
|
|
{ |
|
|
|
|
$declaracionesJuradas = self::join( |
|
|
|
|
@ -142,11 +140,16 @@ class UaderMapuchePersona extends Model
|
|
|
|
|
// Aplicar la lógica de búsqueda según el tipo de filtro |
|
|
|
|
switch ($tipoFiltro) { |
|
|
|
|
case "dni": |
|
|
|
|
$declaracionesJuradas->where("uader_mapuche_persona.nro_docum", $valor); |
|
|
|
|
$declaracionesJuradas->where( |
|
|
|
|
"uader_mapuche_persona.nro_docum", |
|
|
|
|
$valor |
|
|
|
|
); |
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
case "telefono": |
|
|
|
|
$declaracionesJuradas->whereRaw("'549'||REGEXP_REPLACE(telefono_celular, '-|-15','','g') = '$valor'"); |
|
|
|
|
$declaracionesJuradas->whereRaw( |
|
|
|
|
"'549'||REGEXP_REPLACE(telefono_celular, '-|-15','','g') = '$valor'" |
|
|
|
|
); |
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
default: |
|
|
|
|
@ -154,13 +157,15 @@ class UaderMapuchePersona extends Model
|
|
|
|
|
"Filtro de búsqueda no soportado: $tipoFiltro" |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ultimaDeclaracionJurada = $declaracionesJuradas->first(); |
|
|
|
|
if (empty($ultimaDeclaracionJurada)) { |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return self::where('id_dj_persona', $ultimaDeclaracionJurada->id_dj)->first(); |
|
|
|
|
|
|
|
|
|
return self::where( |
|
|
|
|
"id_dj_persona", |
|
|
|
|
$ultimaDeclaracionJurada->id_dj |
|
|
|
|
)->first(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|