コード例 #1
0
ファイル: CajaController.php プロジェクト: tavo7/hotel
 /**
  * Display the specified resource.
  * GET /caja/{id}
  *
  * @param  int  $id
  * @return Response
  */
 public function postCobrar()
 {
     $pedido = Pedido::find(Input::get('pedido_id'));
     $pagarpro = $pedido->productos()->where('detallepedidoproductos.estado', '=', 1)->sum('detallepedidoproductos.precio');
     $pagaralquiler = $pedido->alquiler()->where('detallepedidohabitacion.estado', '=', 1)->sum('detallepedidohabitacion.precio');
     $porpagar = $pagarpro + $pagaralquiler;
     $persona_id = Input::get('persona_id');
     $credito = Input::get('credito');
     $creditos = $pedido->creditos()->get();
     $importecreditos = 0;
     $persona = Persona::find(Input::get('persona_id'));
     foreach ($creditos as $item) {
         $importecreditos = $importecreditos + $item->importe;
     }
     if ($importecreditos == $porpagar) {
         $porpagar = 0;
     }
     if ($porpagar == 0) {
         return Redirect::back();
     }
     if (Input::get('tipocomprobante_id') == 3) {
         if (Input::get('persona_id') == '') {
             if (strlen(Input::get('dniruc')) < 11) {
                 return Redirect::back();
             }
             if (Input::get('nombre') != '') {
                 $persona = Persona::create(['ruc' => Input::get('dniruc'), 'razonsocial' => Input::get('nombre')]);
                 $persona_id = $persona->id;
             } else {
                 return Redirect::back();
             }
         }
     }
     if ($credito == 1) {
         $empresa = '';
         $ruc = '';
         if (count($persona) > 0) {
             $empresa = $persona->razonsocial;
             $ruc = $persona->ruc;
         }
         $cliente = $pedido->persona()->first();
         $detcredito = Credito::create(['pedido_id' => $pedido->id, 'estado' => $credito, 'nombre' => $cliente->nombre, 'dni' => $cliente->dni, 'empresa' => $empresa, 'ruc' => $ruc, 'detallecaja_id' => $this->detallecaja->id, 'importe' => $porpagar]);
         return Redirect::back();
     }
     $importe = Input::get('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' => Input::get('pedido_id'), 'persona_id' => $persona_id, 'tipocomprobante_id' => Input::get('tipocomprobante_id'), 'numero' => Input::get('serie'), 'serie' => Input::get('numero')]);
     $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();
         }
     }
     return Redirect::back();
 }