public function generarCuadrante(Request $request)
 {
     $this->validate($request, ['centro' => 'required', 'fecha' => 'required|date']);
     $fecha = date('Y-m-d', strtotime($request->fecha));
     $cuadrante = Cuadrante::whereDate('fecha', '=', $fecha)->where('centro_id', $request->centro)->first();
     $eventos = Event::where('finalDay', '>=', $request->fecha)->where('start_time', '<=', 'fecha')->get();
     $listaIdEmpleados = $eventos->lists('title', 'empleado_id')->toArray();
     // dd($listaIdEmpleados[2]);
     //si no existe ya uno hecho, se crea
     if (!$cuadrante) {
         $cuadrante = new Cuadrante();
         $cuadrante->fecha = $fecha;
         $cuadrante->centro_id = $request->centro;
         $cuadrante->estado = 'Pendiente';
         $cuadrante->save();
         $empleados = User::where('empresa_id', $request->centro)->orWhere('restaurante_id', $request->centro)->get();
         // dd($empleados);
         foreach ($empleados as $empleado) {
             $linea = new LineaCuadrante();
             $linea->cuadrante_id = $cuadrante->id;
             $linea->empleado_id = $empleado->id;
             $linea->email = $empleado->email;
             if (array_key_exists($empleado->id, $listaIdEmpleados)) {
                 $tipo = $listaIdEmpleados[$empleado->id];
                 $evento = Event::where('empleado_id', $empleado->id)->first();
                 // dd($listaIdEmpleados[$empleado->id]);
                 if ($tipo == 'Baja') {
                     $linea->tipo = 'Baja';
                     $linea->estado = 'Bloqueado';
                     $linea->fecha_inicio = $evento->start_time;
                     $linea->fecha_fin = $evento->finalDay;
                 }
                 if ($tipo == 'Vacaciones') {
                     $linea->tipo = 'Vacaciones';
                     $linea->estado = 'Bloqueado';
                     $linea->fecha_inicio = $evento->start_time;
                     $linea->fecha_fin = $evento->finalDay;
                 }
                 if ($tipo == 'Falta') {
                     $linea->tipo = 'Falta';
                     $linea->estado = 'Bloqueado';
                     $linea->fecha_inicio = $evento->start_time;
                     $linea->fecha_fin = $evento->finalDay;
                 }
             } else {
                 $linea->entrada = $empleado->entrada;
                 $linea->salida = $empleado->salida;
                 if ($empleado->turno_partido == 1) {
                     $linea->tipo = 'Partido';
                     $linea->entrada2 = $empleado->entrada2;
                     $linea->salida2 = $empleado->salida2;
                 }
             }
             // }
             $linea->save();
         }
         $lineas = LineaCuadrante::where('cuadrante_id', $cuadrante->id)->get();
         return redirect()->route('cuadrante.detalle', $cuadrante->id)->with('info', 'ya puedes confeccionar el horario');
     } elseif ($cuadrante->count()) {
         $lineas = LineaCuadrante::where('cuadrante_id', $cuadrante->id)->orderBy('salida', 'asc')->get();
         return redirect()->route('cuadrante.detalle', $cuadrante->id)->with('info', 'Ya existe un Cuadrante para ese día!!! Puedes modificarlo o Volver para crear otro diferente');
         // return view ('controlHorario.detalleCuadrante', compact('cuadrante', 'lineas'))->with('info', 'Ya existe un Cuadrante para ese día!!! Puedes modificarlo o salir para crear otro diferente');
     }
 }
示例#2
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy(Request $request, $id)
 {
     $event = Event::find($id);
     $event->delete();
     if (isset($_POST['solicitudEmpleado'])) {
         return redirect('events/listadoVacaciones');
     }
     return redirect('events');
 }
示例#3
0
 public function getmodificar($id)
 {
     if (Auth::user()->isAdmin()) {
         $usuario = User::where('id', $id)->first();
         $eventos = Event::where('empleado_id', $id)->get();
         $restaurantes = Centro::where('es_empresa', 0)->get();
         $empresas = Centro::where('es_empresa', 1)->get();
         return view('auth.detalleUsuario')->with('usuario', $usuario)->with('eventos', $eventos)->with('restaurantes', $restaurantes)->with('empresas', $empresas);
     } else {
         return redirect('home');
     }
 }