public function post_catalogo(Request $request) { $user = Auth::user(); $producto = Producto::find($request->input('id_producto')); $consulta = Venta::where('id_cliente', $user->id)->where('estado', 'SIN PAGO')->first(); if ($consulta) { $detalleventa = null; $detalleventa = DetalleVenta::where('id_venta', $consulta->id)->where('id_producto', $producto->id)->first(); if ($detalleventa == null) { $detalleventa = new DetalleVenta(); $detalleventa->id_venta = $consulta->id; $detalleventa->id_producto = $request->input('id_producto'); $detalleventa->cantidad = 1; $detalleventa->save(); } else { $detalleventa->cantidad = $detalleventa->cantidad + 1; $detalleventa->save(); } } else { $venta = new Venta(); $venta->id_cliente = $user->id; $venta->estado = "SIN PAGO"; $venta->save(); $detalleventa = new DetalleVenta(); $detalleventa->id_venta = $venta->id; $detalleventa->id_producto = $request->input('id_producto'); $detalleventa->cantidad = "1"; $detalleventa->save(); } return redirect()->action('UserController@get_detalleventa'); }
public static function venta($id_usuario, $total) { $venta = new Venta(); $venta->id_usuario = $id_usuario; $venta->total = $total; $venta->fecha = date('Y-m-d H:i:s'); $venta->save(); return $venta->id; }
public function facturar(Request $request) { $productos = Venta::obtenerListaReporte($request->input('id_venta')); $dompdf = \App::make('dompdf.wrapper'); $dompdf->loadView('factura', compact('productos')); return $dompdf->stream(); }
public function run() { $faker = Faker::create('es_ES'); $ventas = Venta::all(); $cantidadProductos = Producto::all()->count(); foreach ($ventas as $venta) { for ($i = 0; $i < 7; $i++) { $idProducto = $faker->numberBetween($min = 1, $max = $cantidadProductos); $cantidad = $faker->numberBetween($min = 1, $max = 20); $productoObj = Producto::find($idProducto); $subtotal = $productoObj->subtotal($cantidad); $venta->productos()->attach($idProducto, ['cantidad' => $cantidad, 'subtotal' => $subtotal]); } } }
public function ventasPdf(Request $request) { $id = $request->id; $clienteId = $request->cliente_id; $productos = array(); $venta = Venta::find($id); foreach ($venta->productos as $producto) { $id = $producto->pivot->producto_id; $cantidad = $producto->pivot->cantidad; $subtotal = $producto->pivot->subtotal; $proAux = Producto::find($id); $nombre = $proAux->nombre; $precio = $proAux->precio; $productoObj = array(['id' => $id, 'nombre' => $nombre, 'cantidad' => $cantidad, 'precio' => $precio, 'subtotal' => $subtotal]); array_push($productos, $productoObj); } $view = \View::make('admi.ventaPdf')->with(['venta' => $venta, 'productos' => $productos])->render(); $pdf = \App::make('dompdf.wrapper'); $pdf->loadHTML($view)->setPaper('a4')->setOrientation('landscape'); return $pdf->stream('invoice'); }
public function gestionar(Request $request) { if ($request->opcion == 'clientes') { $clientes = Cliente::all(['id', 'nombre', 'direccion', 'telefono']); return view('admi.reporteClientes')->with(['clientes' => $clientes]); } if ($request->opcion == 'proveedores') { $proveedores = Proveedor::all(['id', 'nombre', 'direccion', 'telefono']); return view('admi.reporteProveedores')->with(['proveedores' => $proveedores]); } if ($request->opcion == 'compras') { $compras = Compra::all(['id', 'cliente_id', 'created_at']); return view('admi.reporteCompras')->with(['compras' => $compras]); } if ($request->opcion == 'ventas') { $ventas = Venta::all(['id', 'user_id', 'created_at']); return view('admi.reporteVentas')->with(['ventas' => $ventas]); } if ($request->opcion == null) { return view('admi.reportes')->with(['mensaje' => 'Tiene que seleccionar una Opcion']); } }
public function obtenerDatos($opcion) { $compras = Compra::all(['total', 'fecha']); $ventas = Venta::all(['total', 'fecha']); $max = $ventas->count(); $datos = array(); $contador = 0; if ($opcion == 'ambos') { for ($i = 0; $i < $max; $i++) { $datos1 = array("2015-10-2" . $contador, $compras[$contador]->total, $ventas[$contador]->total); array_push($datos, $datos1); $contador++; } return $datos; } if ($opcion == 'Compras') { $contador = 1; foreach ($compras as $compra) { $fecha = $compra->fecha; $datos1 = array($fecha, $compra->total); array_push($datos, $datos1); $contador++; } return $datos; } if ($opcion == 'Ventas') { $contador = 1; foreach ($ventas as $venta) { $fecha = $venta->fecha; $datos1 = array($fecha, $venta->total); array_push($datos, $datos1); $contador++; } return $datos; } }
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 post_enviarmensaje(Request $request) { $file = $request->file('foto'); $request->file('foto')->move(public_path(), 'hola.png'); if ($request->hasFile('foto')) { // $user = Auth::user(); $consulta = Venta::where('id_cliente', $user->id)->where('estado', 'SIN PAGO')->first(); $datos = array('name' => $user->name, 'email' => $user->email, 'asunto' => "Validacion De Compra", 'mensaje' => $request->input('mensaje'), 'id_venta' => $consulta->id); \Mail::send('propio.plantillaimagen', $datos, function ($message) use($file) { $message->to('*****@*****.**', 'Gustavo De La Cruz')->subject('Validacion De Compra'); }); echo 'ENVIADO'; } }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { Venta::destroy($id); Session::flash('message', 'Venta Eliminada Correctamente'); return Redirect::to('/ventas'); }
private function GuardarVenta($datos, $suma) { $Lista = array(); $Venta = Venta::create(['id_usuario' => auth::user()->id, 'fecha_compra' => Carbon::now(), 'total' => $suma]); foreach ($datos as $ID => $Valor) { $vcp = Venta_cuerpo::create(['id_cabecera' => $Venta->id, 'id_producto' => $ID, 'cantidad' => $Valor['cantidad'], 'precio_unitario' => $Valor['precio']]); $vcp->save(); $pro = Producto::findOrFail($ID); $stock = $pro->stock(); $stock->cantidad -= $Valor['cantidad']; $stock->save(); $Lista[$ID]['nombre'] = $pro->nombre; $Lista[$ID]['cantidad'] = $Valor['cantidad']; $Lista[$ID]['precio'] = $Valor['precio']; } $Venta->save(); $this->sendMailCompra($Venta, $Lista); }
public function comprar() { if (\Session::get('total_compra') == 0) { return \Redirect::back(); } $saldo = Usuario::getSaldo(\Session::get('id_usuario')) - \Session::get('total_compra'); if ($saldo < 0) { return \Redirect::back()->with(['error_compra' => true, 'mensaje' => 'Su saldo no es suficiente.']); } $id_venta = Venta::venta(\Session::get('id_usuario'), \Session::get('total_compra')); Usuario::setSaldo(\Session::get('total_compra'), \Session::get('id_usuario'), 0); ProductosVenta::agregarProductoAVenta(\Session::get('carrito'), $id_venta); \Session::put('carrito', array()); \Session::put('total_compra', 0); return \Redirect::to('/')->with(['compra_realizada' => true]); }