diff --git a/app/Http/Controllers/ApiPersonaController.php b/app/Http/Controllers/ApiPersonaController.php index 87cbb8c..53c08d0 100644 --- a/app/Http/Controllers/ApiPersonaController.php +++ b/app/Http/Controllers/ApiPersonaController.php @@ -20,34 +20,55 @@ class ApiPersonaController extends Controller public function store(Request $request) { $input = $request->input(); + $persona = UaderMapuchePersona::BuscarPersonaPorTelefono($input['cel']); + if (!empty($persona)) { + $funciones = array(); - $uas = array(); - $horarios = array(); - $dj = UaderDjPersona::find($persona->id_dj_persona); - $designaciones = $dj->CargosGrupo()->where('estado', 'A')->get(); + + $declaracion_jurada = UaderDjPersona::find($persona->id_dj_persona); + $designaciones = $declaracion_jurada->CargosGrupo()->where('estado', 'A')->get(); + foreach ($designaciones as $designacion) { - $funciones[] = ['funcion' => $designacion->id_funcion, 'ua' => intval($designacion->Sede->ua_guarani)]; - $grupo_horarios = $designacion->GrupoHorario; - foreach ($grupo_horarios as $gh) { - $horarios_dias = $gh->Horarios; - foreach ($horarios_dias as $hd) - if ($hd->dia_semanal == date('w')) - $horarios[$hd->dia_semanal] = ['hora_entra' => $hd->hora_entra, 'funcion' => $designacion->id_funcion, 'ua' => intval($designacion->Sede->ua_guarani)]; + + $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' => $dj->id_persona, + '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, - 'horarios' => $horarios, ); + return response()->json($datos); + } else { return response()->json(array(), 404); }