예제 #1
0
 public function getCobrarDeuda($id = NULL)
 {
     if (isset($id)) {
         $credito = Credito::find($id);
         if ($credito->ruc > 0) {
             $persona = Persona::where('ruc', '=', $credito->ruc)->first();
             $tipocomprobante = 3;
         } else {
             $persona = Persona::where('dni', '=', $credito->dni)->first();
             $tipocomprobante = 2;
         }
         $pedido = $credito->pedido;
         $importe = $credito->importe;
         $subtotal = $importe / 1.18;
         $documentoventa = Documentoventa::create(['estado' => 1, 'igv' => $importe - $subtotal, 'importe' => $importe, 'subtotal' => $subtotal, 'caja_id' => $this->detallecaja->caja_id, 'detallecaja_id' => $this->detallecaja->id, 'pedido_id' => $pedido->id, 'persona_id' => $persona->id, 'tipocomprobante_id' => $tipocomprobante]);
         $productos = $pedido->productos;
         $alquiler = $pedido->alquiler;
         foreach ($productos as $producto) {
             if ($producto->pivot->estado == 1) {
                 $producto->pivot->estado = 0;
                 $documentoventa->productos()->attach($producto->id, ['precio' => $producto->pivot->precio, 'preciounitario' => $producto->pivot->preciounitario, 'cantidad' => $producto->pivot->cantidad, 'descripcion' => $producto->nombre]);
                 $producto->pivot->save();
             }
         }
         foreach ($alquiler as $detalle) {
             if ($detalle->pivot->estado == 1) {
                 $detalle->pivot->estado = 0;
                 $documentoventa->alquiler()->attach($detalle->id, ['precio' => $detalle->pivot->precio, 'preciounitario' => $detalle->pivot->precio / $detalle->pivot->cantidad, 'cantidad' => $detalle->pivot->cantidad, 'descripcion' => $detalle->descripcion]);
                 $detalle->pivot->save();
             }
         }
         $credito->estado = 0;
         $credito->save();
         return Redirect::back();
     } else {
         return Redirect::back();
     }
 }