public static function alert() { $deposito = Auth::user()->deposito; $registros = Inventario::where('deposito', $deposito)->get(['id', 'existencia', 'Cmed', 'Cmin']); $cantidad = 0; foreach ($registros as $registro) { if ($registro['existencia'] <= $registro['Cmed'] || $registro['existencia'] <= $registro['Cmin']) { $cantidad++; } } return $cantidad; }
public function confirmarCompra(Request $request, $total) { DB::transaction(function () use($total, $request) { try { $usuario = Auth::user()->id; $venta = new Venta(); $venta->total = $total; $venta->IdCliente = $usuario; $venta->save(); $direccion = $request['calle'] . ' Col. ' . $request['colonia'] . ' ' . $request['ciudad'] . ', ' . $request['estado'] . ', ' . $request['pais']; $pedido = new Pedido(); $pedido->venta_id = $venta->id; $pedido->completado = false; $pedido->direccion = $direccion; $pedido->save(); $ldv = DB::table('linea_de_ventas')->join('carritos', 'linea_de_ventas.id', '=', 'carritos.idLineaDeVenta')->select('linea_de_ventas.*')->where('carritos.idUsuario', '=', $usuario)->lockForUpdate()->update(['IdVenta' => $venta->id]); } catch (Exception $e) { Session::flash('message', 'Algo salio mal'); return redirect::to('catalogo_granos'); } /////////////// //Método PEPS// /////////////// $ids = []; //Ids IdGrano $cantidadCliente = []; $unidad = []; //Costales o toneladas $i = 0; $usuario = Auth::user()->id; //Obtener arreglo de artículos en el carrito del cliente $ldv = DB::table('carritos')->join('linea_de_ventas', 'carritos.idLineaDeVenta', '=', 'linea_de_ventas.id')->join('granos', 'linea_de_ventas.IdGrano', '=', 'granos.id')->select('carritos.*', 'linea_de_ventas.cantidad', 'linea_de_ventas.IdGrano', 'linea_de_ventas.unidadDeMedida')->where('carritos.idUsuario', '=', $usuario)->get(); //Llenar los arreglos de los ID granos y de su respectiva cantidad así como su unidad de medida foreach ($ldv as $l) { $l->IdVenta = $venta->id; $ids[$i] = $l->IdGrano; $cantidadCliente[$i] = $l->cantidad; $unidad[$i] = $l->unidadDeMedida; $i = $i + 1; for ($j = 0; $j < 4; $j++) { $distribucion[$l->IdGrano][$j] = 0; } } $largo = count($ids); //Longitud de Arreglo $ids for ($j = 0; $j < $largo; $j++) { $objetoInventario = Inventario::where('idGrano', $ids[$j])->where('cantidad', '>', 0)->orderBy('created_at', 'asc')->first(); //Si son Costales hace la conversión a su equivalente en toneladas. if ($unidad[$j] == 0) { $cantidadCliente[$j] = $cantidadCliente[$j] * 0.05; } while ($cantidadCliente[$j] > 0) { //Se encontraron los granos en una bodega if ($objetoInventario->cantidad >= $cantidadCliente[$j]) { $objetoInventario->cantidad = $objetoInventario->cantidad - $cantidadCliente[$j]; $distribucion[$ids[$j]][$objetoInventario->IdAlmacen] += $cantidadCliente[$j]; $cantidadCliente[$j] = 0; $objetoInventario->save(); } else { $cantidadCliente[$j] = ($objetoInventario->cantidad - $cantidadCliente[$j]) * -1; $distribucion[$ids[$j]][$objetoInventario->IdAlmacen] += $objetoInventario->cantidad; $objetoInventario->cantidad = 0; $objetoInventario->save(); $objetoInventario = Inventario::where('idGrano', $ids[$j])->where('cantidad', '>', 0)->orderBy('created_at', 'asc')->first(); } } } $tiposDeGranos = Grano::count('id'); foreach ($distribucion as $idGrano => $almacenes) { foreach ($almacenes as $idAlmacen => $cantidad) { //El if es por el arreglo, que tiene la primera posición en 0 if ($idAlmacen != 0 && $cantidad != 0) { $lineaDePedido = new LineaDePedido(); $lineaDePedido->idPedido = $pedido->id; $lineaDePedido->idGrano = $idGrano; $lineaDePedido->idAlmacen = $idAlmacen; $lineaDePedido->cantidad = $cantidad; $lineaDePedido->save(); } } } //Limpiar carrito Carrito::limpiarCarrito($ldv); }); Session::flash('message', 'Compra efectuada'); return redirect::to('finalizar_compra'); }
public function postDescripcion(Request $request) { $inventario = Inventario::where("descripcion", "=", $request->input("descripcion"))->first(); return $inventario; }
public static function validaModifiSalida($insumos) { $deposito = Auth::user()->deposito; $invalidos = []; foreach ($insumos as $insumo) { $existencia = Inventario::where('insumo', $insumo['id'])->where('deposito', $deposito)->value('existencia'); if ($existencia + $insumo['originalD'] - $insumo['modificarD'] < 0) { array_push($invalidos, $insumo['index']); } } return $invalidos; }
public function ImportarImagenes($request) { $file = $request->file('archivo')->getClientOriginalName(); $path_file = storage_path() . '/app/' . $file; //$path_file = \Storage::disk('local').'/inventario.xls'; //Verificamos si se va a borrar los datos de la tabla de INVENTARIO if ($request->borrar) { \DB::statement('SET FOREIGN_KEY_CHECKS = 0'); // disable foreign key constraints \DB::table('inv_imag')->truncate(); \DB::statement('SET FOREIGN_KEY_CHECKS = 1'); // disable foreign key constraints } //$i = 0; \Excel::load($path_file, function ($reader) { // dd($reader->sheetsSelected()); foreach ($reader->get() as $imag) { $inv = Inventario::where('codpro', $imag->codpro)->first(); Inv_imag::create(['inventario_id' => $inv["id"] ? $inv["id"] : 1, 'codpro' => $imag->codpro, 'urlimagen' => $imag->urlimagen]); //$i++; } }); $i = Inventario::count(); return $i; }