Example #1
0
 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();
 }
Example #8
0
 /**
  * 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');
 }