Exemplo n.º 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');
 }
 /**
  * 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');
 }
Exemplo n.º 3
0
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     $compra = Compra::find($id);
     return view('compras.edit', ['compra' => $compra]);
 }