public function comprasPdf(Request $request) { $id = $request->id; $clienteId = $request->cliente_id; $productos = array(); $compra = Compra::find($id); foreach ($compra->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); } foreach ($productos as $producto) { echo $producto['0']['id'] . "<br>"; } $view = \View::make('admi.compraPdf')->with(['compra' => $compra, 'productos' => $productos])->render(); //$view = \View::make('admi.compraPdf', compact($compra , $productos))->render(); $pdf = \App::make('dompdf.wrapper'); $pdf->loadHTML($view)->setPaper('a4')->setOrientation('landscape'); return $pdf->stream('invoice'); }
public function run() { $faker = Faker::create('es_ES'); $compras = Compra::all(); $cantidadProductos = Producto::all()->count(); foreach ($compras as $compra) { for ($i = 0; $i < 5; $i++) { $idProducto = $faker->numberBetween($min = 1, $max = $cantidadProductos); $cantidad = $faker->numberBetween($min = 1, $max = 20); $productoObj = Producto::find($idProducto); $subtotal = $productoObj->subtotal($cantidad); $compra->productos()->attach($idProducto, ['cantidad' => $cantidad, 'subtotal' => $subtotal]); } } }
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 getFiltrarcompra(Request $request) { if (!$request->ajax()) { abort(403); } $datos = array(); $inputs = $request->all(); if (empty($inputs['search'])) { $compras = \App\Compra::select(\DB::raw('SQL_CALC_FOUND_ROWS *'), 'id')->where('id', '>', 0)->take($inputs['limit'])->skip($inputs['offset'])->orderBy('created_at', 'ASC')->get(); } else { $compras = \App\Compra::select(\DB::raw('SQL_CALC_FOUND_ROWS *'), 'id')->where('numfactura', 'LIKE', '%' . $inputs["search"] . '%')->take($inputs['limit'])->skip($inputs['offset'])->orderBy('created_at', 'ASC')->get(); } $cantidad = \DB::select(\DB::raw("SELECT FOUND_ROWS() AS total;")); $cantidad = $cantidad[0]->total; $n = 1; foreach ($compras as $compra) { $url = '<a href="' . route('compra.edit', $compra->id) . '" class="btn btn-xs btn-success"><i class="fa fa-btn fa-edit"></i>Editar</a>'; $datos[] = ['num' => $n++, 'numfactura' => $compra->numfactura, 'proveedor' => \App\Proveedor::where('id', $compra->id_proveedor)->first()->proveedor, 'total' => number_format($compra->total, 2, '.', ''), 'act' => $url]; } return \Response::json(['total' => $cantidad, 'rows' => $datos]); }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $datos = $request->all(); $req = ['date' => $datos['date'], 'numfactura' => $datos['numfactura'], 'id_proveedor' => $datos['id_proveedor'], 'total' => $datos['total']]; $rules = ['date' => 'required', 'numfactura' => 'required', 'id_proveedor' => ['required', 'not_in:0'], 'total' => 'required']; $v = \Validator::make($req, $rules); if ($v->fails()) { return redirect()->back()->withErrors($v); } $compra = \App\Compra::find($id); $compra->numfactura = $datos['numfactura']; $compra->id_proveedor = $datos['id_proveedor']; $compra->date = $datos['date']; $compra->subtotal = $datos['subtotal']; $compra->impuesto = $datos['impuesto']; $compra->descuento = $datos['descuento']; $compra->total = $datos['total']; $compra->id_tipo_pago = $datos['id_tipo_pago']; $compra->save(); $det_compras = \App\DetalleCompra::where('id_compra', $id)->get(); $oldCantCompra = $det_compras->count(); $newCantCompra = count($datos['cantidad']); foreach ($det_compras as $key => $detalle) { //si no encuentra datos en el siguiente campo entonces elimina sino continua actualizando if (empty($datos['id_producto'][$key])) { $borrar_detalle = \App\DetalleCompra::find($detalle->id); $borrar_detalle->inactivo = 1; $borrar_detalle->save(); } else { $detalle->id_producto = $datos['id_producto'][$key]; $detalle->cantidad = $datos['cantidad'][$key]; $detalle->precio = $datos['precio'][$key]; $detalle->subtotal_prod = $datos['subtotal_prod'][$key]; $detalle->save(); } } //Si el array $datos['cantidad'] es mayor a la cantidad de datos que tiene el detalle compra //entonces se añade una nueva compra if ($newCantCompra > $oldCantCompra) { for ($i = $newCantCompra - 1; $i < $newCantCompra; $i++) { $detalle = new \App\DetalleCompra(); $detalle->id_compra = $id; $detalle->id_producto = $datos['id_producto'][$i]; $detalle->cantidad = $datos['cantidad'][$i]; $detalle->precio = $datos['precio'][$i]; $detalle->subtotal_prod = $datos['subtotal_prod'][$i]; $detalle->save(); } } $request->session()->flash('msj_success', 'Se ha editado la compra: ' . $datos['numfactura']); return redirect()->route('compra.index'); }
public function findall() { //Obtener todas las compras return $Compra = Compra::all(); }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { Compra::destroy($id); Session::flash('message', 'Compra Eliminada Correctamente'); return Redirect::to('/compras'); }