public function postStore() { if (Input::has('porcentaje_especial')) { $porcentaje_vendedor = Input::get('porcentaje_especial'); } else { $porcentaje_comision = ComisionEsquemaVendedor::leftJoin('esquema_comision', 'comision_esquema_vendedor.esquema_comision_id', '=', 'esquema_comision.id')->where('asesor_id', Input::get('asesor_id'))->where('comision_esquema_vendedor.activo', 1)->firstOrFail(); $porcentaje_vendedor = $porcentaje_comision->porcentaje; } $venta = new Venta(); $venta->id = Input::get('venta_id'); $venta->cliente_id = Input::get('cliente_id'); $venta->folio_solicitud = Input::get('folio_solicitud'); $venta->descuento = Input::get('descuento'); $venta->asesor_id = Input::get('asesor_id'); $venta->fecha = Carbon\Carbon::now(); $venta->comentarios = Input::get('comentarios'); $cart = Session::pull('productos', array()); $products = array(); $total = 0; $total_comision = 0; foreach ($cart as $item) { $servicio = VistaServicioFuneral::find($item['producto_id']); if (count($servicio) > 0) { $serv = VistaServicioFuneral::find($item['producto_id']); $total_comision = $serv->monto_comisionable * ($porcentaje_vendedor / 100); } else { $total_comision += ($item['precio'] * $item['cantidad'] - Input::get('descuento') / 1.16) * ($porcentaje_vendedor / 100); } $venta_producto = new VentaProducto(); $venta_producto->venta_id = Input::get('venta_id'); $venta_producto->producto_id = $item['producto_id']; $venta_producto->cantidad = $item['cantidad']; $venta_producto->precio_unitario = $item['precio']; $venta_producto->iva = 16; $venta_producto->total = $item['precio'] * $item['cantidad'] * 1.16; $total += $venta_producto->total; array_push($products, $venta_producto); } $venta->total = $total - $venta->descuento; $plan_pago = PlanPago::find(Input::get('plan_pago')); $plan_pago_venta = new PlanPagoVenta(); $plan_pago_venta->venta_id = Input::get('venta_id'); $plan_pago_venta->plan_pago_id = $plan_pago->id; $plan_pago_venta->fecha_aplicado = Carbon\Carbon::now(); $plan_pago_venta->pago_regular = ($venta->total - $venta->total * $plan_pago->porcentaje_anticipo / 100) / $plan_pago->numero_pagos; $venta->save(); $venta->ventaproducto()->saveMany($products); $venta->planpagoventa()->save($plan_pago_venta); if (!Input::has('directa') && $total_comision > 0) { $comision = new Comision(); $comision->id = Input::get('venta_id'); $comision->asesor_id = Input::get('asesor_id'); $comision->total = $total_comision; $comision->total_comisionable = $total_comision; $comision->numero_pagos = $plan_pago->numero_comisiones; $comision->porcentaje = $porcentaje_vendedor; $venta->comision()->save($comision); } return Redirect::action('CotizacionControlador@getIndex'); }