Пример #1
0
 /**
  * @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);
 }
Пример #2
0
 public function index()
 {
     $company = Auth::user()->company_id;
     $bodega = Auth::user()->tienda_id;
     Session::put('bodega', $bodega);
     if ($company == 0) {
         return Redirect::to('configuracion');
     } else {
         Session::put('tenant.id', $company);
         $productos = productos::with('marcas')->get();
         return view('inicio')->with('productos', $productos);
     }
 }
Пример #3
0
 public static function AgregarCompra($items, $remision)
 {
     foreach ($items as $item) {
         //busco si el producto ya est� en la bodega con las mismas caracteristicas//
         $producto = Bodegas::where('codigo', $item['producto_configurable'])->where('remision', $remision)->first();
         //si encuentro un producto edito la informacion si no creo uno//
         if (isset($producto)) {
             $cantidad = $producto->cantidad + $item['cantidad'];
             if ($cantidad > 0) {
                 $producto->compra = ($producto->cantidad * $producto->compra + $item['sub_total']) / $cantidad;
             } else {
                 $producto->compra = $item['sub_total'] / $cantidad;
             }
             $producto->cantidad = $producto->cantidad + $item['cantidad'];
             $producto->update();
         } else {
             $producto = new Bodegas();
             $producto->codigo = $item['producto_configurable'];
             $producto->cantidad = $item['cantidad'];
             $producto->compra = $item['sub_total'] / $item['cantidad'];
             $producto->iva = $item['iva'] / 100;
             $producto->remision = $remision;
             $producto->save();
         }
         $SKU = productos_configurables::find($item['producto_configurable']);
         $padre = productos::find($SKU->producto_id);
         $padre->compra = $producto->compra;
         $padre->rentabilidad = (1 - $producto->compra / $padre->venta) * 100;
         $padre->update();
         //agregar precio al historico
         $producto = new Historico_Compras();
         $producto->codigo = $padre->id;
         $producto->precio = $item['sub_total'] / $item['cantidad'];
         $producto->save();
     }
 }
Пример #4
0
 public static function eliminar($id)
 {
     $configurables = productos_configurables::where('producto_id', $id)->get();
     $tiendas = tiendas::all();
     foreach ($tiendas as $tienda) {
         Session::put('bodega', $tienda->id);
         foreach ($configurables as $item) {
             Bodegas::where('codigo', $item->id)->delete();
         }
     }
     productos::find($id)->delete();
     Session::flash('mensaje', 'Producto eliminado exitosamente');
     Cache::forget('productos');
 }
Пример #5
0
 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");
     }
 }
Пример #6
0
 public function import(Request $request)
 {
     // get the results
     $validator = Validator::make($request->all(), ['file' => 'required|mimes:xls,xlsx']);
     if ($validator->fails()) {
         return error(404);
     }
     return productos::importar($request);
 }
Пример #7
0
 /**
  * @param $id
  * @return bool
  * @throws GeneralException
  */
 public function restore($id)
 {
     $user = $this->findOrThrowException($id);
     if ($user->restore()) {
         $productos = \DB::table('productos')->where('user_id', $user->id)->whereNotNull('deleted_at')->get();
         //dd($productos);
         foreach ($productos as $key) {
             $producto = \App\productos::findOrFail($key->id);
             $producto->deleted_at = null;
             //dd($producto);
             $producto->save();
         }
         return true;
     }
     throw new GeneralException("Se encontro un problema restaurando este provedor. Intente nuevamente.");
 }
Пример #8
0
 public function descargarTodo()
 {
     /**
      * funcion de busqueda no regresa todos los campos y ocupa poner los provedores arraglar eso
      **/
     $busqueda = \App\productos::all();
     if (!count($busqueda) > 0) {
         $GLOBALS['results'] = collect(['Busqueda sin resultados']);
     }
     // dd($results);
     $archivo = Excel::create('Busqueda_911arq.com', function ($excel) {
         dd($excel);
         // Set the title
         $excel->setTitle('Productos');
         // 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 ($busqueda->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));
                 dd($excel->sheet($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();
 }
Пример #9
0
 public static function eliminar($request, $id)
 {
     if (is_array($request->variables_1)) {
         $productos = productos_configurables::where('producto_id', '=', $id)->lists('variable_1')->toarray();
         if (count($request->variables_1) < count($productos)) {
             $resultados = array_diff($productos, $request->variables_1);
             foreach ($resultados as $resultado) {
                 $producto = productos_configurables::where('producto_id', '=', $id)->where('variable_1', '=', $resultado)->delete();
             }
             productos_configurables::destroy($resultado);
         }
     } else {
         $productos = productos_configurables::where('producto_id', $id)->where('variable_1', '>', 0)->delete();
         $productos = productos_configurables::where('producto_id', $id)->first();
         if (empty($productos)) {
             $producto = new productos_configurables();
             $producto->producto = $request->producto;
             $producto->producto_id = $id;
             $producto->save();
             productos::find($id)->update(['atributo_1' => 0]);
         }
     }
     if (is_array($request->variables_2)) {
         $productos = productos_configurables::where('producto_id', '=', $id)->lists('variable_2')->toarray();
         if (count($request->variables_2) < count($productos)) {
             $resultados = array_diff($productos, $request->variables_2);
             foreach ($resultados as $resultado) {
                 $producto = productos_configurables::where('producto_id', '=', $id)->where('variable_2', '=', $resultado)->delete();
             }
             productos_configurables::destroy($resultado);
         }
     }
 }