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'); } }
/** * 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'); }
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'); } }