Example #1
0
 public static function agregar_venta($datos, $items_venta)
 {
     $total = 0;
     $iva = 0;
     $valor = 0;
     $compra = 0;
     $descuento = 0;
     $subtotal = 0;
     foreach ($items_venta as $item) {
         $dto = $item['dto'] / 100 * $item['valor'] * $item['cantidad'];
         //$iva += ($item['iva'] / 100) * (($item['valor'] * $item['cantidad']) - $dto);
         $iva += $item['iva'] * $item['cantidad'];
         $subtotal += $item['valor'] * $item['cantidad'] - $iva;
         $compra += $item['compra'] * $item['cantidad'];
         $descuento += $dto;
     }
     foreach ($datos['pagos'] as $pago) {
         if ($pago['id'] == 6) {
             $valor += 0;
         } else {
             $valor += $pago['valor'];
         }
     }
     if ($descuento == 0) {
         $descuento = $datos['descuento'];
     }
     $factura = tiendas::find(Session::get('bodega'))->factura + 1;
     $venta = new ventas();
     $venta->factura = $factura;
     $venta->remision = 0;
     $venta->cliente_id = $datos['cliente_id'];
     $venta->tienda_id = Session::get('bodega');
     $venta->user_id = $datos['user_id'];
     $venta->venta = $subtotal - $descuento + $iva;
     $venta->subtotal = $subtotal;
     $venta->retefuente = $datos['retefuente'];
     $venta->iva = $iva;
     $venta->descuento = $descuento;
     $venta->compra = $compra;
     if ($valor > 0) {
         $sobrante = Session::get('sobrante');
         if ($sobrante > 0) {
             $venta->pagado = $sobrante;
         } else {
             $venta->pagado = $valor;
         }
     } else {
         $venta->pagado = 0;
     }
     $venta->save();
     venta_detalle::AgregarVentaDetalle($items_venta, $venta->id);
     return ['id' => $venta->id, 'factura' => $venta->factura];
 }