Browse Source

horarios por funcion

main
jirho 2 years ago
parent
commit
27c186d75c
  1. 47
      app/Http/Controllers/ApiPersonaController.php

47
app/Http/Controllers/ApiPersonaController.php

@ -20,34 +20,55 @@ class ApiPersonaController extends Controller
public function store(Request $request) public function store(Request $request)
{ {
$input = $request->input(); $input = $request->input();
$persona = UaderMapuchePersona::BuscarPersonaPorTelefono($input['cel']); $persona = UaderMapuchePersona::BuscarPersonaPorTelefono($input['cel']);
if (!empty($persona)) { if (!empty($persona)) {
$funciones = array(); $funciones = array();
$uas = array();
$horarios = array(); $declaracion_jurada = UaderDjPersona::find($persona->id_dj_persona);
$dj = UaderDjPersona::find($persona->id_dj_persona); $designaciones = $declaracion_jurada->CargosGrupo()->where('estado', 'A')->get();
$designaciones = $dj->CargosGrupo()->where('estado', 'A')->get();
foreach ($designaciones as $designacion) { foreach ($designaciones as $designacion) {
$funciones[] = ['funcion' => $designacion->id_funcion, 'ua' => intval($designacion->Sede->ua_guarani)];
$grupo_horarios = $designacion->GrupoHorario; $horarios = array();
foreach ($grupo_horarios as $gh) { #dd( $designaciones);
$horarios_dias = $gh->Horarios;
foreach ($horarios_dias as $hd) foreach ($designacion->GrupoHorario as $grupo_horario) {
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)]; 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( $datos = array(
'id' => $dj->id_persona, 'id' => $declaracion_jurada->id_persona,
'dni' => $persona->nro_docum, 'dni' => $persona->nro_docum,
'apellido' => ucwords(strtolower(trim($persona->desc_appat))), 'apellido' => ucwords(strtolower(trim($persona->desc_appat))),
'nombres' => ucwords(strtolower(trim($persona->desc_nombr))), 'nombres' => ucwords(strtolower(trim($persona->desc_nombr))),
'telefono' => '549'.preg_replace('([^0-9])', '', trim($persona->telefono_celular)), 'telefono' => '549'.preg_replace('([^0-9])', '', trim($persona->telefono_celular)),
'email' => strtolower(trim($persona->correo_electronico)), 'email' => strtolower(trim($persona->correo_electronico)),
'funciones' => $funciones, 'funciones' => $funciones,
'horarios' => $horarios,
); );
return response()->json($datos); return response()->json($datos);
} else { } else {
return response()->json(array(), 404); return response()->json(array(), 404);
} }

Loading…
Cancel
Save