public function updateConductoresEnTurno(Request $request, $ruta_id) { $noty = new NotificacionController(); $data = $request->json()->all(); $turnos_actuales = []; $ruta = Ruta::find($ruta_id); foreach ($data['turnos'] as $turno) { $turnos_actuales[$turno['conductor_id']] = ['turno' => $turno['turno']]; } if ($ruta->toUpdateTurnos()->sync($turnos_actuales)) { $ruta = $ruta->destino->ciudad; foreach ($data['turnos'] as $turno) { if ($request['accion'] == 'agregar') { $mensaje = "Has sido agregado a la ruta hacia {$ruta->nombre} en el turno " . $turno['turno']; $noty->enviarNotificacionConductores($mensaje, $turno['conductor_id'], 'Actualizacion turno', $ruta_id); } if ($request['accion'] == 'quitar') { $mensaje = "Has sido removido de los turnos de la ruta hacia {$ruta->nombre}"; $noty->enviarNotificacionConductores($mensaje, $turno['conductor_id'], 'Actualizacion turno', $ruta_id); } if ($request['accion'] == 'default') { $mensaje = "Estas en el turno " . $turno['turno'] . " en la ruta hacia {$ruta->nombre}"; $noty->enviarNotificacionConductores($mensaje, $turno['conductor_id'], 'Actualizacion turno', $ruta_id); } } return response()->json(['mensaje' => 'turnos modifcados'], 201); } else { return response()->json(['mensajError' => 'error al actualizar lso turnos'], 400); } }
public function updateConductoresEnTurno(Request $request, $ruta_id) { $data = $request->json()->all(); $turnos_actuales = []; foreach ($data['turnos'] as $turno) { $turnos_actuales[$turno['conductor_id']] = ['turno' => $turno['turno']]; } $ruta = Ruta::find($ruta_id); if ($ruta->toUpdateTurnos()->sync($turnos_actuales)) { return response()->json(['mensaje' => 'turnos modifcados'], 201); } else { return response()->json(['mensajError' => 'error al actualizar lso turnos'], 400); } }
public function getSolicitudesDeRuta($ruta_id) { $ruta = Ruta::find($ruta_id); return array('solicitud_nuevos_pasajeros' => $ruta->solicitudes()->where(['tipo' => 'pasajero', 'estado' => 'p'])->get()->load('datos_pasajeros'), 'solicitud_pasajeros' => $ruta->solicitudes()->where(['tipo' => 'vehiculo', 'estado' => 'p'])->get()->load('datos_pasajeros'), 'solicitud_paquetes' => $ruta->solicitudes()->where(['tipo' => 'paquete', 'estado' => 'p'])->get()->load('detalles'), 'solicitud_giros' => $ruta->solicitudes()->where(['tipo' => 'giro', 'estado' => 'p'])->get()->load('detalles')); }
public function getSolicitudGiro($solicitud_id) { $i = 0; $solicitud = Solicitud::find($solicitud_id)->load('detalles'); $solicitud['ruta'] = Ruta::find($solicitud->ruta_id); $solicitud['ruta']['destino'] = Central::find($solicitud['ruta']->id_central_destino)->ciudad; $solicitud['conductores'] = Ruta::find($solicitud->ruta_id)->turnos->load('conductor'); foreach ($solicitud['conductores'] as $cupos) { list($total) = DB::table('vehiculos')->select(DB::raw('( (cupos) - (select count(conductor_id) from pasajeros where conductor_id =' . $cupos->conductor_id . ' and estado = "Asignado") ) as total'))->where('conductor_id', $cupos->conductor_id)->get('total'); $solicitud['conductores'][$i]['cupos'] = $total->total; $i++; } return JsonResponse::create($solicitud); }
public function getRutas($id) { $centrales = Empresa::find($id)->centrales; $rutas = []; foreach ($centrales as $central) { foreach ($central->rutas as $ruta) { $trayectoria = Ruta::find($ruta->id); $rutas[] = ['id' => $ruta->id, 'origen' => $central->load('ciudad'), 'destino' => $ruta->destino->load('ciudad'), 'trayectoria' => $trayectoria->trayectoria]; } } return $rutas; }