@ -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);
}