|
|
|
|
@ -2,39 +2,76 @@
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Controllers; |
|
|
|
|
|
|
|
|
|
use Illuminate\Http\Request; |
|
|
|
|
use Illuminate\Support\Facades\Log; |
|
|
|
|
|
|
|
|
|
use App\Models\UaderMapucheFamiliares; |
|
|
|
|
use App\Models\UaderMapuchePersona; |
|
|
|
|
use Illuminate\Http\Request; |
|
|
|
|
use App\Constants\HttpStatus; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Controlador para manejar la lógica de las rutas para obtener información de los familiares de una persona. |
|
|
|
|
*/ |
|
|
|
|
class ApiFamilliaresController extends Controller |
|
|
|
|
{ |
|
|
|
|
/** |
|
|
|
|
* Display a listing of the resource. |
|
|
|
|
* Función de ruta para obtener los familiares de una persona a partir del DNI o teléfono proporcionado en la solicitud. |
|
|
|
|
* |
|
|
|
|
* @param Request $request La solicitud HTTP que contiene los parámetros 'dni' o 'telefono'. |
|
|
|
|
* @return \Illuminate\Http\JsonResponse Respuesta JSON con los datos de los familiares o un error. |
|
|
|
|
*/ |
|
|
|
|
public function index() |
|
|
|
|
{ |
|
|
|
|
return json_encode(['reply' => 'hola']); |
|
|
|
|
public function getFamiliares(Request $request){ |
|
|
|
|
|
|
|
|
|
if(!$request->has('dni') && !$request->has('telefono')){ |
|
|
|
|
|
|
|
|
|
return response()->json( |
|
|
|
|
['error' => trans('persona.DEBE_INGRESAR_DNI_O_TELEFONO')], |
|
|
|
|
HttpStatus::BAD_REQUEST |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Show the form for creating a new resource. |
|
|
|
|
*/ |
|
|
|
|
public function create() |
|
|
|
|
{ |
|
|
|
|
// |
|
|
|
|
try{ |
|
|
|
|
|
|
|
|
|
if ($request->has('dni') && !empty($request->get('dni')) ) { |
|
|
|
|
$persona = UaderMapuchePersona::buscarPersonaPorDni($request->get('dni')); |
|
|
|
|
if ($persona) { |
|
|
|
|
return self::extraerFamiliaresJson($persona); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ($request->has('telefono') && !empty($request->get('telefono')) ) { |
|
|
|
|
|
|
|
|
|
$persona = UaderMapuchePersona::BuscarPersonaPorTelefono($request->get('telefono')); |
|
|
|
|
if ($persona) { |
|
|
|
|
return self::extraerFamiliaresJson($persona); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return response()->json(['error' => trans('persona.NO_ENCONTRADA')], HttpStatus::NOT_FOUND); |
|
|
|
|
|
|
|
|
|
} catch (\Exception $e) { |
|
|
|
|
|
|
|
|
|
Log::error(trans('persona.LOG_DATOS') . $e->getMessage()); |
|
|
|
|
return response()->json(['error' => trans('persona.ERROR')], HttpStatus::INTERNAL_SERVER_ERROR); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Store a newly created resource in storage. |
|
|
|
|
* Esta funcion es llamada por la función de ruta getFamiliares. |
|
|
|
|
* Extrae la información de los familiares de una persona y la retorna en formato JSON. |
|
|
|
|
* |
|
|
|
|
* @param \App\Models\UaderMapuchePersona $persona La persona de la cual se van a extraer los familiares. |
|
|
|
|
* @return \Illuminate\Http\JsonResponse Respuesta JSON con los datos de los familiares. |
|
|
|
|
*/ |
|
|
|
|
public function store(Request $request) |
|
|
|
|
public function extraerFamiliaresJson($persona) |
|
|
|
|
{ |
|
|
|
|
$input = $request->input(); |
|
|
|
|
$persona = UaderMapuchePersona::BuscarPersonaPorTelefono($input['cel']); |
|
|
|
|
if (!empty($persona)) { |
|
|
|
|
|
|
|
|
|
$familiares = $persona->familiares; |
|
|
|
|
$datos = array(); |
|
|
|
|
|
|
|
|
|
foreach ($familiares as $familiar) { |
|
|
|
|
|
|
|
|
|
$datos[] = array( |
|
|
|
|
'dni' => $familiar->nro_docum, |
|
|
|
|
'apellido' => ucwords(strtolower($familiar['desc_apell'])), |
|
|
|
|
@ -45,52 +82,35 @@ class ApiFamilliaresController extends Controller
|
|
|
|
|
'a_cargo' => $familiar->sino_cargo, |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return response()->json($datos); |
|
|
|
|
} else { |
|
|
|
|
return response()->json(array(), 404); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Display the specified resource. |
|
|
|
|
* Función de ruta para obtener los datos de un familiar específico a partir de su DNI. |
|
|
|
|
* |
|
|
|
|
* @param string $dni El DNI del familiar a buscar. |
|
|
|
|
* @return \Illuminate\Http\JsonResponse Respuesta JSON con los datos del familiar o un código 404 si no se encuentra. |
|
|
|
|
*/ |
|
|
|
|
public function buscar($dni) |
|
|
|
|
public function familiarPorDni($dni) |
|
|
|
|
{ |
|
|
|
|
$persona = UaderMapucheFamiliares::where('nro_docum', $dni)->first(); |
|
|
|
|
if (!empty($persona)) { |
|
|
|
|
$datos = array( |
|
|
|
|
'apellido' => ucwords(strtolower($persona->desc_apell)), |
|
|
|
|
'nombres' => ucwords(strtolower($persona->desc_nombre)), |
|
|
|
|
'parentezco' => $persona->codc_paren, |
|
|
|
|
'fnac' => $persona->fec_nacim, |
|
|
|
|
if ( UaderMapucheFamiliares::where('nro_docum', $dni)->exists() ) { |
|
|
|
|
|
|
|
|
|
$familiar = UaderMapucheFamiliares::where('nro_docum', $dni)->first(); |
|
|
|
|
|
|
|
|
|
return response()->json( |
|
|
|
|
array( |
|
|
|
|
'apellido' => ucwords(strtolower($familiar->desc_apell)), |
|
|
|
|
'nombres' => ucwords(strtolower($familiar->desc_nombre)), |
|
|
|
|
'parentezco' => $familiar->codc_paren, |
|
|
|
|
'fnac' => $familiar->fec_nacim, |
|
|
|
|
) |
|
|
|
|
); |
|
|
|
|
return response()->json($datos); |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
return response()->json(array(), 404); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Show the form for editing the specified resource. |
|
|
|
|
*/ |
|
|
|
|
public function edit(UaderMapucheFamiliares $uaderMapucheFamiliares) |
|
|
|
|
{ |
|
|
|
|
// |
|
|
|
|
return response()->json(array(), 404); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Update the specified resource in storage. |
|
|
|
|
*/ |
|
|
|
|
public function update(Request $request, UaderMapucheFamiliares $uaderMapucheFamiliares) |
|
|
|
|
{ |
|
|
|
|
// |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Remove the specified resource from storage. |
|
|
|
|
*/ |
|
|
|
|
public function destroy(UaderMapucheFamiliares $uaderMapucheFamiliares) |
|
|
|
|
{ |
|
|
|
|
// |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|