|
- <?php
-
- namespace App\Controllers;
-
- use App\Models\DepartamentoModel;
- use App\Models\EncuestaModel;
- use App\Models\EscuelaModel;
- use App\Models\HorasModel;
- use App\Models\PrestadorModel;
- use App\Models\PrestadorSolicitudModel;
- use App\Models\UserModel;
- use PHPUnit\Framework\MockObject\Stub\ReturnReference;
-
- class Prestador extends BaseController
- {
-
- public function index()
- {
- $horasModel = model(HorasModel::class);
- $segundosDiarios = model(HorasModel::class)->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;
- }
-
- // Poner status de revisión (0)
- $data['status'] = 0;
-
- // 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);
- }
- }
|