getHoras(user()->idprestador); $segundosMensuales = $horasModel->getSegundosMensuales(user()->idprestador); $segundosTotal = array_reduce($segundosMensuales, function ($carry, $item) { return $carry + $item['segundos']; }, 0); // Consultar encuestas disponibles $encuestaModel = model(EncuestaModel::class); $horasARealizar = model(PrestadorModel::class)->find(user()->idprestador)['horas_servicio']; $porcentajeRealizado = $segundosTotal / ($horasARealizar * 1000); $encuestas = $encuestaModel->getPrestadorEncuestas($porcentajeRealizado); $data = [ 'segundosMensuales' => $segundosMensuales, 'horasTotales' => $segundosTotal / 3600, 'segundosDiarios' => $segundosDiarios, 'encuestas' => $encuestas, ]; return view('Prestador/index', $data); } public function horas() { $data = [ 'horas' => model(HorasModel::class)->getHoras(user()->idprestador), ]; return view('Prestador/table', $data); } public function formulario() { $prestadorModel = new PrestadorSolicitudModel(); // Guardar/actualizar registro if ($this->request->getMethod() === 'post') { $data = $this->request->getPost(); // En caso de que se actualice el registro, se tiene que agregar el id if (user()->rh_prestador_solicitud_id) { $data['id'] = user()->rh_prestador_solicitud_id; } // Validar datos if (!$prestadorModel->save($data)) { return redirect()->back()->withInput()->with('errors', $prestadorModel->errors()); } // Guardar id de prestador_solicitud en el registro del usuario (solo para nuevos registros, no actualizaciones) if (!user()->rh_prestador_solicitud_id) { $userModel = new UserModel(); $userModel->update(user_id(), [ 'rh_prestador_solicitud_id' => $prestadorModel->getInsertID() ]); } return view('Prestador/success'); } $data = [ 'email' => user()->email, 'escuelas' => model(EscuelaModel::class)->getEscuelas(), 'departamentos' => model(DepartamentoModel::class)->getDepartamentos(), 'datos' => user()->rh_prestador_solicitud_id ? $prestadorModel->find(user()->rh_prestador_solicitud_id) : null, ]; return view('Prestador/formulario_inicial', $data); } }