You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
140 lines
4.9 KiB
140 lines
4.9 KiB
<?php |
|
|
|
namespace App\Http\Controllers; |
|
|
|
use App\Models\UaderMapuchePersona; |
|
use App\Models\UaderDjPersona; |
|
use Illuminate\Http\Request; |
|
|
|
class ApiPersonaController extends Controller |
|
{ |
|
/** |
|
* Display a listing of the resource. |
|
*/ |
|
public function index() |
|
{ |
|
return json_encode(['reply' => 'hola']); |
|
} |
|
|
|
|
|
public function store(Request $request) |
|
{ |
|
$input = $request->input(); |
|
|
|
$persona = UaderMapuchePersona::BuscarPersonaPorTelefono($input['cel']); |
|
|
|
if (!empty($persona)) { |
|
|
|
$funciones = array(); |
|
|
|
$declaracion_jurada = UaderDjPersona::find($persona->id_dj_persona); |
|
$designaciones = $declaracion_jurada->CargosGrupo()->where('estado', 'A')->get(); |
|
|
|
foreach ($designaciones as $designacion) { |
|
|
|
$horarios = array(); |
|
#dd( $designaciones); |
|
|
|
foreach ($designacion->GrupoHorario as $grupo_horario) { |
|
|
|
foreach ($grupo_horario->Horarios as $horario){ |
|
|
|
if ($horario->dia_semanal == date('w') && $horario->tipo_horario != 2){ # dia del horario es el mismo que el dia actual y que no sea horario de disposicion |
|
|
|
$horarios[$horario->dia_semanal][] = [ |
|
'tipo' => $horario->tipo_horario, |
|
'hora_entra' => $horario->hora_entra, |
|
'hora_sale' => $horario->hora_sale |
|
]; |
|
} |
|
} |
|
} |
|
|
|
# si bien las designaciones son distintas los datos requeridos en esta ruta son pocos y solo necesitamos las designaciones (funciones) con datos diferentes |
|
$nueva_funcion = ['funcion' => $designacion->id_funcion, 'ua' => intval($designacion->Sede->ua_guarani), 'horarios' => $horarios]; |
|
if(!in_array($nueva_funcion, $funciones)){ |
|
$funciones[] = $nueva_funcion; |
|
} |
|
} |
|
|
|
$datos = array( |
|
'id' => $declaracion_jurada->id_persona, |
|
'dni' => $persona->nro_docum, |
|
'apellido' => ucwords(strtolower(trim($persona->desc_appat))), |
|
'nombres' => ucwords(strtolower(trim($persona->desc_nombr))), |
|
'telefono' => '549'.preg_replace('([^0-9])', '', trim($persona->telefono_celular)), |
|
'email' => strtolower(trim($persona->correo_electronico)), |
|
'funciones' => $funciones, |
|
); |
|
|
|
return response()->json($datos); |
|
|
|
} else { |
|
return response()->json(array(), 404); |
|
} |
|
} |
|
|
|
public function buscar($dni) |
|
{ |
|
$persona = UaderMapuchePersona::buscarPersonaPorDni($dni); |
|
if (!empty($persona)) { |
|
$dj = UaderDjPersona::find($persona->id_dj_persona); |
|
$datos = array( |
|
'id' => $dj->id_persona, |
|
'dni' => $persona->nro_docum, |
|
'apellido' => ucwords(strtolower(trim($persona->desc_appat))), |
|
'nombres' => ucwords(strtolower(trim($persona->desc_nombr))), |
|
'telefono' => '549'.preg_replace('([^0-9])', '', trim($persona->telefono_celular)), |
|
'email' => strtolower(trim($persona->correo_electronico)), |
|
'domicilio' => array( |
|
'calle' => strtolower(trim($persona->calle)), |
|
'numero' => strtolower(trim($persona->numero)), |
|
'piso' => strtolower(trim($persona->piso)), |
|
'dpto_oficina' => strtolower(trim($persona->dpto_oficina)), |
|
'calles_entre' => strtolower(trim($persona->calles_entre)), |
|
'domicilio_referencia' => strtolower(trim($persona->domicilio_referencia)), |
|
'zona_paraje' => strtolower(trim($persona->zona_paraje)), |
|
'casa_nro' => strtolower(trim($persona->casa_nro)), |
|
'casa_manzana' => strtolower(trim($persona->casa_manzana)), |
|
'localidad' => ucfirst(strtolower(trim($persona->Localidad->desc_localidad))), |
|
'provincia' => trim($persona->Provincia->descripcion_pcia), |
|
) |
|
); |
|
return response()->json($datos); |
|
} else { |
|
return response()->json(array(), 404); |
|
} |
|
} |
|
|
|
/** |
|
* Display the specified resource. |
|
*/ |
|
public function show(UaderDjPersona $uaderDjPersona) |
|
{ |
|
// |
|
} |
|
|
|
/** |
|
* Show the form for editing the specified resource. |
|
*/ |
|
public function edit(UaderDjPersona $uaderDjPersona) |
|
{ |
|
// |
|
} |
|
|
|
/** |
|
* Update the specified resource in storage. |
|
*/ |
|
public function update(Request $request, UaderDjPersona $uaderDjPersona) |
|
{ |
|
// |
|
} |
|
|
|
/** |
|
* Remove the specified resource from storage. |
|
*/ |
|
public function destroy(UaderDjPersona $uaderDjPersona) |
|
{ |
|
// |
|
} |
|
}
|
|
|