/** * @return \Illuminate\View\View */ public function index() { $productos_all = productos::with('user')->where('deleted_at', null)->get()->shuffle(); $baner = rand(1, 4); $link = baner::findOrFail($baner); //dd($link); $productos_all = $productos_all->take(20); $productos_patrocinados = productos::where('patrocinado', '>', 0)->where('deleted_at', null)->orderBy('updated_at', 'desc')->take(4)->get()->shuffle(); return view('frontend.index')->with('productos', $productos_all)->with('patrocinados', $productos_patrocinados)->with('baner', $baner)->with('link', $link->link); }
/** * @return descarga * crea el archivo de descarga e inicia su descarga basado en la busqueda **/ public function descargar($busquedas) { /** * funcion de busqueda no regresa todos los campos y ocupa poner los provedores arraglar eso **/ $results = null; $query = $busquedas; $keyword = explode(' ', $query); $busqueda = \App\productos::where('producto', 'LIKE', $query . '%'); foreach ($keyword as $key) { $busqueda = $busqueda->orWhere('producto', 'LIKE', $key . '%'); } $busqueda = $busqueda->orWhere('codigo', 'LIKE', $key . '%')->orderBy('precio', 'asc'); $GLOBALS['results'] = $busqueda->get(); if (!count($GLOBALS['results']) > 0) { $GLOBALS['results'] = collect(['Busqueda sin resultados']); } // dd($results); $archivo = Excel::create('Busqueda_911arq.com', function ($excel) { // Set the title $excel->setTitle('Busqueda'); // Chain the setters $excel->setCreator('911arq.com')->setCompany('911arq.com'); // Call them separately $excel->setDescription('Resultados de 911arq.com'); //$GLOBALS['results']->groupBy('user_id'); foreach ($GLOBALS['results']->groupBy('user_id') as $productos) { // optiene la informacion del provedor $tienda = user::where('id', $productos[0]->user_id)->first(); // crea la pagina y la llama con el nombre del provedor $excel->sheet($tienda->name, function ($sheet) use($productos, $tienda) { $sheet->setOrientation('landscape'); // agrega 5 lineas a la pagina con la informacion del provedor y encabezados de columnas // $sheet->appendRow(1,array($tienda->name)); $sheet->rows(array(array($tienda->name), array($tienda->razon_social), array($tienda->direccion), array($tienda->telefono), array('----------------------RESULTADOS----------------------'), array('Producto', 'Precio', 'Codigo', 'Unidad'))); $contador = 0; foreach ($productos as $producto) { $sheet->appendRow(7 + $contador, array($producto->producto, $producto->precio, $producto->codigo, $producto->unidad)); $contador = $contador + 1; } }); //exel->sheet } })->download('xls'); // dd($archivo); // $hoja =$archivo->sheet('Resultados'); //$hoja->fromArray($results->toArray()); //->fromArray($results->toArray()); //dd($hoja); return redirect()->back(); }
public function procesarUpdate(Request $request) { // $this->validate($request, [ // 'producto' => 'required', // 'codigo' => 'required', // 'precio' => 'required', // 'categoria' => 'required', // ]); $GLOBALS['er'] = false; $GLOBALS['mensaje'] = 'Se encontro un error en los siguientes codigos de producto '; if (Input::hasFile('productos')) { $ruta = base_path() . '/public/file/'; $nombreArchivo = Input::file('productos')->getClientOriginalName(); $archivo = Input::file('productos')->move($ruta, $nombreArchivo); $ex = Excel::load($ruta . $nombreArchivo, function ($archivo2) { $resultado = $archivo2->get(); foreach ($resultado as $key => $value) { $duplicados = new productos(); $codigo = $value->__get('codigo'); $precio = $value->__get('precio'); $duplicados = productos::where('codigo', $codigo)->where('user_id', $this->auth->user()->id)->get(); if ($duplicados->codigo = $codigo) { $duplicados = productos::where('codigo', $codigo)->where('user_id', $this->auth->user()->id)->update(['precio' => $precio]); } else { $GLOBALS['mensaje'] = $GLOBALS['mensaje'] . ', ' . $codigo; $GLOBALS['er'] = true; } } }); if ($GLOBALS['er']) { return redirect()->route('productos')->withFlashDanger($GLOBALS['mensaje'] . ' su precio no fue actualizado.'); } else { return redirect()->route('productos')->withFlashSuccess("Actualizacion exitosa."); } } else { return redirect()->route('productos')->withFlashWarning("Error al subir el archivo"); } }
/** * @param $id * @param $input * @param $roles * @return bool * @throws GeneralException */ public function update($id, $input, $roles, $permissions) { $user = $this->findOrThrowException($id); $this->checkUserByEmail($input, $user); if ($user->update($input)) { //For whatever reason this just wont work in the above call, so a second is needed for now $user->status = isset($input['status']) ? 1 : 0; $user->confirmed = isset($input['confirmed']) ? 1 : 0; $user->patrocinados = isset($input['patrocinados']) ? 1 : 0; $user->razon_social = $input['razon_social']; $user->encargado = $input['encargado']; //Cambiar el estado de patrocinio de todos los productos asociados a este provedor \App\productos::where('user_id', $user->id)->update(['patrocinado' => $user->patrocinados]); $user->save(); $this->checkUserRolesCount($roles); $this->flushRoles($roles, $user); $this->flushPermissions($permissions, $user); return true; } throw new GeneralException('Se encontro un problema actualizado este provedor. Intente nuevamente.'); }