<?php
session_start();
require_once('../conexion.php');
require_once('../include/sesiones.php');
if ($aper_num>'0')
{
    $fecha=date('Y-m-d H:i:s');
    $hora=date('H:i:s');

    $sumador_combo=0;
    $sumador_total=0;

    $neto=0;
    $total_descuento=0;
    $total_iva=0;
    $total_retencion=0;
    $sumador_articulos=0;

    $ret=mysqli_query($con,"SELECT SUM(ret_importe) as ret_importe FROM retencion_temp where empresa='$empresa' and usuario='$usu_id'") or die(mysqli_error($con)); 
    $rets=mysqli_fetch_array($ret);
    $total_retencion=$rets['ret_importe'];
   

    $sql=mysqli_query($con,"SELECT * from venta_detalle_temp where empresa='$empresa' and usuario='$usu_id'");
    while ($row=mysqli_fetch_array($sql))
    {
        include('detalle_temp.php');
    }

    $descuento_combo_total=0;
    $sql2=mysqli_query($con,"SELECT * from venta_detalle_combo_temp where usuario='$usu_id'");
    while ($row2=mysqli_fetch_array($sql2))
    {
        $vdc_id=$row2['vdc_id'];
        $combo_desc=$row2['combo_desc'];
        $precio=($row2['combo_cantidad']*$row2['combo_precio']);
        $descuento_combo_total+=$descuento_combo=($combo_desc/100)*$precio; //descuento_item 84.033
        $sumador_combo+=$precio;
    }
    //$total_retencion+=($neto+$sumador_combo-$total_descuento)*($ret_porcentaje/100);
    $sumador_total=$sumador_articulos+$sumador_combo-$total_retencion-$descuento_combo_total;

    if($sumador_total==0)
    {   ?>
        <script>
            alert("Lista de articulos vacia");
            $('#cobrar').modal('hide');
                $('body').removeClass('modal-open');
                $('.modal-backdrop').remove();
                loadTabla();
                loadtotal();
                loadcliente();
                load(1);
                loadbotones();
        </script>
    <?php 
    }
    else
    {
        //datos clientes
        $can=mysqli_query($con,"SELECT * FROM cliente c, cliente_venta_temp cv 
        where c.clie_id=cv.cvt_clie_id and cv.usuario='$usu_id' and cv.empresa='$empresa'") or die(mysqli_error($con)); 
        if($dato=mysqli_fetch_array($can))
        {
            $clie_id=$dato['clie_id'];
            $clie_cc=$dato['clie_cc'];
            $clie_nombre=$dato['clie_nombre'];
            $clie_correo1=$dato['clie_correo'];
            if ($clie_correo1<>'') {
                $clie_correo=$dato['clie_correo'];
            } else {

                $clie_correo=$correo_cliente;

                 $clico=mysqli_query($con,"UPDATE cliente Set clie_correo='$clie_correo' Where clie_id='$clie_id' and empresa='$empresa'") or die(mysqli_error($con));
            }
            $clie_telefono=$dato['clie_telefono'];
            $clie_credito=$dato['clie_credito'];
            $clie_disponible=$dato['clie_disponible'];
            $clie_nota_credito=$dato['clie_nota_credito'];
            $clie_puntos=$dato['clie_puntos'];
        }
        else
        {
            $can=mysqli_query($con,"SELECT * FROM cliente where clie_destacado='si' and empresa='$empresa'") or die(mysqli_error($con)); 
            $dato=mysqli_fetch_array($can);
            $clie_id=$dato['clie_id'];
            $clie_cc=$dato['clie_cc'];
            $clie_nombre=$dato['clie_nombre'];
            $clie_correo=$dato['clie_correo'];
            $clie_telefono=$dato['clie_telefono'];
            $clie_disponible=$dato['clie_disponible'];
            $clie_nota_credito=$dato['clie_nota_credito'];
            $clie_puntos=0;
        }

        $tipo_venta=$_POST['tipo_venta'];
        if(isset($_POST['comentario'])){ $comentario=$_POST['comentario']; } else { $comentario='';}
        if(isset($_POST['guia'])){ $guia=$_POST['guia']; } else { $guia='';}


        include('numeracion.php');
        if($siga=='si')
        {
            $can=mysqli_query($con,"SELECT MAX(ven_id)as ven_id FROM ventas ") or die(mysqli_error($con)); 
            $dato=mysqli_fetch_array($can);
            $ven_id=$dato['ven_id']+1;

            $formapago=$_POST['forma_pago'];
            $vendedor=$_POST['vendedor'];
            $total_punto=$_POST['total_punto'];
            $comicion=$_POST['comicion'];

            if ($formapago=='Contado') 
            {
                if(isset($_POST['dian1'])){ $dian=$_POST['dian1']; } else { $dian='no';}
                $efectivo=$_POST['efectivo'];
                $dias=0;

                $registros=mysqli_query($con,"INSERT INTO ventas (ven_id,ven_tipo,ven_prefijo,ven_ser_id,ven_n_venta,ven_fecha,ven_hora, ven_forma_de_pago,ven_dias,ven_estado,Cliente_clie_id,ven_cc,ven_nombre,ven_correo,ven_telefono,usuario,vendedor,efectivo,observaciones,ven_guia,caja,ven_puntos,apertura,sucursal,empresa)
                VALUES ('$ven_id','$ser_tipo','$ser_prefijo','$ser_id','$ven_n_venta','$fecha','$hora','$formapago','$dias','pagada','$clie_id','$clie_cc','$clie_nombre','$clie_correo','$clie_telefono','$usu_id','$vendedor','$efectivo','$comentario','$guia','$cajas_caja_id','$total_punto','$apertura','$sucursal','$empresa')") or die(mysqli_error($con));
                $registros=mysqli_query($con,"INSERT INTO venta_abonos (veab_abono,forma_pago,medio_pago,veab_fecha,usuario,apertura,sucursal,empresa,ventas_ven_id)
                VALUES ('$sumador_total','efectivo','Efectivo','$fecha','$usu_id','$apertura','$sucursal','$empresa','$ven_id')") or  die(mysqli_error($con));

                $procesador='si';
            }

            if ($formapago=='Transferencia') 
            {
                if(isset($_POST['dian2'])){ $dian=$_POST['dian2']; } else { $dian='no';}
                $plataforma=ucfirst(limpiar($_POST['plataforma']));
                $efectivo=$sumador_total;
                $dias=0;

                $registros=mysqli_query($con,"INSERT INTO ventas (ven_id,ven_tipo,ven_prefijo,ven_ser_id,ven_n_venta,ven_fecha,ven_hora, ven_forma_de_pago,ven_dias,ven_estado,Cliente_clie_id,ven_cc,ven_nombre,ven_correo,ven_telefono,usuario,vendedor,efectivo,observaciones,ven_guia,caja,ven_puntos,apertura,sucursal,empresa)
                VALUES ('$ven_id','$ser_tipo','$ser_prefijo','$ser_id','$ven_n_venta','$fecha','$hora','$formapago','$dias','pagada','$clie_id','$clie_cc','$clie_nombre','$clie_correo','$clie_telefono','$usu_id','$vendedor','$efectivo','$comentario','$guia','$cajas_caja_id','$total_punto','$apertura','$sucursal','$empresa')") or die(mysqli_error($con));
                $registros=mysqli_query($con,"INSERT INTO venta_abonos (veab_abono,forma_pago,medio_pago,veab_fecha,usuario,apertura,sucursal,empresa,ventas_ven_id)
                VALUES ('$sumador_total','transferencia','$plataforma','$fecha','$usu_id','$apertura','$sucursal','$empresa','$ven_id')") or  die(mysqli_error($con));

                $procesador='si';
            }

            if ($formapago=='Tarjeta') 
            {
                if(isset($_POST['dian3'])){ $dian=$_POST['dian3']; } else { $dian='no';}
                $plataforma=ucfirst(limpiar($_POST['tarjeta']));
                $efectivo=$sumador_total;
                $dias=0;

                $registros=mysqli_query($con,"INSERT INTO ventas (ven_id,ven_tipo,ven_prefijo,ven_ser_id,ven_n_venta,ven_fecha,ven_hora, ven_forma_de_pago,ven_dias,ven_estado,Cliente_clie_id,ven_cc,ven_nombre,ven_correo,ven_telefono,usuario,vendedor,efectivo,observaciones,ven_guia,caja,ven_puntos,apertura,sucursal,empresa)
                VALUES ('$ven_id','$ser_tipo','$ser_prefijo','$ser_id','$ven_n_venta','$fecha','$hora','$formapago','$dias','pagada','$clie_id','$clie_cc','$clie_nombre','$clie_correo','$clie_telefono','$usu_id','$vendedor','$efectivo','$comentario','$guia','$cajas_caja_id','$total_punto','$apertura','$sucursal','$empresa')") or die(mysqli_error($con));
                $registros=mysqli_query($con,"INSERT INTO venta_abonos (veab_abono,forma_pago,medio_pago,veab_fecha,usuario,apertura,sucursal,empresa,ventas_ven_id)
                VALUES ('$sumador_total','tarjeta','$plataforma','$fecha','$usu_id','$apertura','$sucursal','$empresa','$ven_id')") or  die(mysqli_error($con));

                $procesador='si';
            }

            if ($formapago=='Credito') 
            {
                if ($clie_credito=='1')
                {
                    if(isset($_POST['dian4'])){ $dian=$_POST['dian4']; } else { $dian='no';}
                    $abono=$_POST['abono'];
                    $dias=ucfirst(limpiar($_POST['dias']));
                    $total_saldo=$sumador_total-$abono;
                    $saldo=$clie_disponible-$total_saldo;

                    if ($total_saldo>$clie_disponible)
                    {
                        echo '<div class="modal-footer">
                        <div class="alert alert-danger alert-dismissable">
                        <strong>El cliente no tiene saldo disponible </strong>
                        </div>
                        <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>';

                        $procesador='no';
                    } 
                    else 
                    {
                        $can1=mysqli_query($con,"SELECT MAX(mov_numero)as mov_numero FROM movimientos where empresa='$empresa'") or die(mysqli_error($con)); 
                        $dato1=mysqli_fetch_array($can1); 
                        $mov_numero=$dato1['mov_numero']+1;
                        $can2=mysqli_query($con,"SELECT MAX(mov_id)as mov_id FROM movimientos") or die(mysqli_error($con)); 
                        $dato2=mysqli_fetch_array($can2); 
                        $mov_id=$dato2['mov_id']+1;
                       
                        $registros=mysqli_query($con,"UPDATE cliente Set clie_disponible='$saldo' Where clie_id='$clie_id' and empresa='$empresa'") or die(mysqli_error($con));

                        $registros=mysqli_query($con,"INSERT INTO ventas (ven_id,ven_tipo,ven_prefijo,ven_ser_id,ven_n_venta,ven_fecha,ven_hora, ven_forma_de_pago,ven_dias,ven_estado,Cliente_clie_id,ven_cc,ven_nombre,ven_correo,ven_telefono,usuario,vendedor,observaciones,ven_guia,caja,ven_puntos,apertura,sucursal,empresa)
                        VALUES ('$ven_id','$ser_tipo','$ser_prefijo','$ser_id','$ven_n_venta','$fecha','$hora','$formapago','$dias','sin pagar','$clie_id','$clie_cc','$clie_nombre','$clie_correo','$clie_telefono','$usu_id','$vendedor','$comentario','$guia','$cajas_caja_id','$total_punto','$apertura','$sucursal','$empresa')") or die(mysqli_error($con));
                        
                        if($abono>0)
                        {
                            $registros=mysqli_query($con,"INSERT into venta_abonos (veab_abono,forma_pago,medio_pago,veab_fecha,mov_id, usuario,apertura,sucursal,empresa,ventas_ven_id)
                            VALUES  ('$abono','efectivo','Efectivo','$fecha','$mov_id','$usu_id','$apertura','$sucursal','$empresa','$ven_id')") or die(mysqli_error($con));

                            $registros=mysqli_query($con,"INSERT into movimientos (mov_id,mov_caja,mov_apertura, mov_numero,mov_fecha,mov_usuario,mov_tipo_movimiento,mov_detalle,mov_total,estado,forma_pago,medio_pago,sucursal,empresa) 
                            VALUES  ('$mov_id','$cajas_caja_id','$apertura','$mov_numero','$fecha','$usu_id','Abono cxc','Abono de la factura N $ven_n_venta','$abono','entrada','efectivo','Efectivo','$sucursal','$empresa')") or die(mysqli_error($con));  
                        }
                        $procesador='si';
                    }
                } 
                else
                {   
                    echo '<div class="modal-footer">
                        <div class="alert alert-danger alert-dismissable">
                        <strong>El cliente no tiene credito activado </strong>
                        </div>
                        <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>';

                    $procesador='no';
                }
            }



//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            if ($formapago=='Combinado') 
            {
                if(isset($_POST['dian6'])){ $dian=$_POST['dian6']; } else { $dian='no';}
                $medio_pago=$_POST['medio_pago'];
                $valores=$_POST['valores'];
                $dias1=$_POST['dias_com'];
                $credi_com=$_POST['credi_com'];

                if ($credi_com==0){
                    $ven_estado='pagada';
                    $dias=0;
                }
                else {
                    $ven_estado='sin pagar';
                    $dias=$dias1;
                }
                
                $saldo=$clie_disponible-$credi_com;


                $total_ingresado = 0;

                // Sumamos todos los valores
                foreach ($valores as $valor_com) {
                    $total_ingresado += floatval($valor_com);
                }

                if (round($total_ingresado, 2) > round($sumador_total, 2))
                {
                    echo '
                    <div class="modal-footer">
                        <div class="alert alert-danger alert-dismissable" style="width: 100%; margin-bottom: 10px;">
                            <strong>El total de los abonos (' . number_format($total_ingresado, 0, ',', '.') . ') supera el total de la venta (' . number_format($sumador_total, 0, ',', '.') . ').</strong>
                        </div>
                        <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
                    </div>';

                    exit;
                    $procesador='no';
                }
                else 
                {

                    mysqli_begin_transaction($con);

                    try {
                        // 1. Insertar la venta primero
                        $sqlVenta = "INSERT INTO ventas (
                            ven_id, ven_tipo, ven_prefijo, ven_ser_id, ven_n_venta, ven_fecha, ven_hora, 
                            ven_forma_de_pago, ven_dias, ven_estado, Cliente_clie_id, ven_cc, ven_nombre, 
                            ven_correo, ven_telefono, usuario, vendedor, observaciones, ven_guia, caja, 
                            ven_puntos, apertura, sucursal, empresa
                        ) VALUES (
                            '$ven_id','$ser_tipo','$ser_prefijo','$ser_id','$ven_n_venta','$fecha','$hora',
                            '$formapago','$dias','$ven_estado','$clie_id','$clie_cc','$clie_nombre',
                            '$clie_correo','$clie_telefono','$usu_id','$vendedor','$comentario','$guia',
                            '$cajas_caja_id','$total_punto','$apertura','$sucursal','$empresa'
                        )";

                        $regVenta = mysqli_query($con, $sqlVenta);
                        if (!$regVenta) {
                            throw new Exception("Error al insertar venta: " . mysqli_error($con));
                        }

                        // 2. Insertar abonos relacionados
                        for ($i = 0; $i < count($medio_pago); $i++) {
                            $medio1 = mysqli_real_escape_string($con, $medio_pago[$i]);
                            $valor_com = floatval($valores[$i]);

                            if ($medio1 == 'efectivo') {
                                $forma = 'efectivo';
                                $medio = 'Efectivo';
                            } elseif ($medio1 == 'nota credito') {
                                $forma = 'nota credito';
                                $medio = 'Nota Credito';
                                $valor_nota_credito_usado = floatval($valores[$i]);

                                if ($valor_nota_credito_usado > $clie_nota_credito) {
                                    throw new Exception("El valor de la nota crédito excede el saldo disponible (" . number_format($clie_nota_credito, 0, ',', '.') . ").");
                                }

                                // Actualizar saldo del cliente
                                $saldo_nuevo = $clie_nota_credito - $valor_nota_credito_usado;
                                $updSaldo = mysqli_query($con, "UPDATE cliente 
                                    SET clie_nota_credito='$saldo_nuevo' 
                                    WHERE clie_id='$clie_id'");
                                if (!$updSaldo) {
                                    throw new Exception("Error al actualizar saldo de cliente: " . mysqli_error($con));
                                }
                            } else {
                                $forma = 'transferencia';
                                $medio = $medio1;
                            }

                            $sqlAbono = "INSERT INTO venta_abonos 
                                (veab_abono, forma_pago, medio_pago, veab_fecha, usuario, apertura, sucursal, empresa, ventas_ven_id)
                                VALUES ('$valor_com', '$forma', '$medio', '$fecha', '$usu_id', '$apertura', '$sucursal', '$empresa', '$ven_id')";

                            $regAbono = mysqli_query($con, $sqlAbono);
                            if (!$regAbono) {
                                throw new Exception("Error al insertar abono: " . mysqli_error($con));
                            }
                        }

                        // 3. Actualizar saldo disponible del cliente
                        $updDisponible = mysqli_query($con,"UPDATE cliente 
                            SET clie_disponible='$saldo' 
                            WHERE clie_id='$clie_id' AND empresa='$empresa'");
                        if (!$updDisponible) {
                            throw new Exception("Error al actualizar clie_disponible: " . mysqli_error($con));
                        }

                        // ✅ Confirmar cambios
                        mysqli_commit($con);
                        $procesador = 'si';

                    } catch (Exception $e) {
                        // ❌ Revertir si algo falla
                        mysqli_rollback($con);
                        echo "Error: " . $e->getMessage();
                        $procesador = 'no';
                    }
                    
                }
            }

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


            if($procesador=='si')
            {
                /* $canc=mysqli_query($con,"SELECT * FROM cliente where clie_id='$comicion' and empresa='$empresa'") or die(mysqli_error($con)); 
                $datoc=mysqli_fetch_array($canc);
                $porcentaje=$datoc['porcentaje'];
                $t1=$sumador_total+$total_descuento;
                $to=$t1*($porcentaje/100);
                $to1=$to-$total_descuento;
                $suma_comicion=$to1+$clie_nota_creditoc;
                $registrosc=mysqli_query($con,"UPDATE cliente Set clie_nota_credito='$suma_comicion' where clie_id='$comicion' and empresa='$empresa'") or die(mysqli_error($con));*/

                $suma_puntos=$clie_puntos+$total_punto;
                $punto=mysqli_query($con,"UPDATE cliente Set clie_puntos='$suma_puntos' where clie_id='$clie_id' and empresa='$empresa'") or die(mysqli_error($con));  

                //detalles
                $can7=mysqli_query($con,"SELECT * FROM venta_detalle_temp where empresa='$empresa' and usuario='$usu_id'") or die(mysqli_error($con));  
                $number=mysqli_num_rows($can7);
                while($dato=mysqli_fetch_array($can7))
                {
                    $vent_id=$dato['vent_id'];
                    $art_art_id=$dato['art_art_id'];
                    $vent_art_id=$dato['vent_art_id'];
                    $vent_referencia=$dato['vent_referencia'];            
                    $vent_nombre=$dato['vent_nombre'];
                    $vent_unidad=$dato['vent_unidad'];
                    $vent_x_cantidad=$dato['vent_x_cantidad'];
                    $vent_cantidad=$dato['vent_cantidad']; 
                    $vent_precio=$dato['vent_precio'];

                    $cantidad_descontar=$vent_cantidad*$vent_x_cantidad; //30

                    $vent_iva=$dato['vent_iva'];  
                    $vent_desc=$dato['vent_desc']; 

                    $vent_tipo=$dato['vent_tipo'];
                    $descuento=($vent_desc/100)*$vent_precio;
                    $pt=$vent_precio-$descuento;

                    $canv=mysqli_query($con,"SELECT MAX(vend_id)as vend_id FROM venta_detalle") or die(mysqli_error($con)); 
                    $datov=mysqli_fetch_array($canv);
                    $vend_id=$datov['vend_id']+1;

                    if($vent_tipo=='articulo')
                    {
                        $tipo_ven='venta';
                        $sqll=mysqli_query($con,"SELECT * FROM venta_detalle_temp_lote WHERE vetl_id_detalle_temp='$vent_id' ");
                        $contador=mysqli_num_rows($sqll);
                        if($contador>0)  
                        {   
                            include('../php_facturar/descontar_kardex_lote.php');
                        }   
                        else 
                        {   
                            include('../php_facturar/descontar_kardex.php');
                        }


                        $can8=mysqli_query($con,"INSERT INTO venta_detalle (vend_id,art_art_id,vend_art_id,vend_referencia,vend_nombre,vend_unidad,vend_cantidad,vend_cantidad_dev,vend_x_cantidad,vend_iva,vend_desc,vend_costo,vend_precio,vend_precio_real,vend_tipo,cambio,caja,empresa,ventas_ven_id) 
                        VALUES ('$vend_id','$art_art_id','$vent_art_id','$vent_referencia','$vent_nombre','$vent_unidad','$vent_cantidad','$vent_cantidad','$vent_x_cantidad','$vent_iva','$vent_desc','$costo','$vent_precio','$pt','$vent_tipo','ven','$cajas_caja_id','$empresa','$ven_id')") or die(mysqli_error($con));  

                        //descontar cantidad
                        $canb=mysqli_query($con,"SELECT * FROM articulos_has_bodegas WHERE art_id='$art_art_id' and articulos_art_id='$vent_art_id' and bodegas='$bod_id' and  empresa='$empresa'") or die(mysqli_error($con));  
                        $canb=mysqli_fetch_array($canb);
                        $art_cantidad=$canb['art_cantidad'];
                        $resta=$art_cantidad-$cantidad_descontar;
                        $registros=mysqli_query($con,"UPDATE articulos_has_bodegas Set art_cantidad='$resta' Where art_id='$art_art_id' and articulos_art_id='$vent_art_id' and bodegas='$bod_id' and empresa='$empresa'") or die(mysqli_error($con));

                        //seriales
                        $can9=mysqli_query($con,"SELECT * FROM seriales_temp where venta_detalle_temp_vent_id='$vent_id'") or die(mysqli_error($con));
                        while($ser=mysqli_fetch_array($can9))
                        {
                            $ser_codigo=$ser['ser_codigo'];
                            $can8=mysqli_query($con,"INSERT INTO seriales (ser_codigo,estado_dev,venta_detalle_vend_id,venta_detalle_empresa,venta_detalle_ventas_ven_id) 
                            VALUES ('$ser_codigo','no','$vend_id','$empresa','$ven_id')") or die(mysqli_error($con));  

                            $registros=mysqli_query($con,"UPDATE seriales_articulos Set estado='vendido' Where articulos_art_id='$vent_art_id' and se_codigo='$ser_codigo'") or die(mysqli_error($con));
                        }
                    }



                    if($vent_tipo=='producto' or $vent_tipo=='servicio')
                    {
                        $can_pro=mysqli_query($con,"SELECT * FROM articulos WHERE art_id='$vent_art_id'") or die(mysqli_error($con));  
                        $dato_pro=mysqli_fetch_array($can_pro);
                        $costo=$dato_pro['art_precio_costo'];

                        $can8=mysqli_query($con,"INSERT INTO venta_detalle (vend_id,vend_art_id,vend_referencia,vend_nombre,vend_cantidad,vend_cantidad_dev,vend_iva,vend_desc,vend_costo,vend_precio,vend_precio_real,vend_tipo,cambio,caja,empresa,ventas_ven_id) 
                        VALUES ('$vend_id','$vent_art_id','$vent_referencia','$vent_nombre','$vent_cantidad','$vent_cantidad','$vent_iva','$vent_desc','$costo','$vent_precio','$pt','$vent_tipo','ven','$cajas_caja_id','$empresa','$ven_id')") or die(mysqli_error($con));  

                        //SABORES
                        $can9=mysqli_query($con,"SELECT * FROM venta_detalle_sabores_temp where usuario='$usu_id' and vend_id='$vent_id'") or die(mysqli_error($con));  
                        while($dato9=mysqli_fetch_array($can9))
                        {
                            $sab_id=$dato9['sab_id'];
                            $sab_nombre=$dato9['sab_nombre'];
                            $art_id=$dato9['art_id'];
                            $can8=mysqli_query($con,"INSERT INTO venta_detalle_sabores_productos (sab_id,sab_nombre,art_id,vend_id,ven_id) 
                                         VALUES ('$sab_id','$sab_nombre','$art_id','$vend_id','$ven_id')") or die(mysqli_error($con)); 
                        }
                        $sql=mysqli_query($con,"DELETE FROM venta_detalle_sabores_temp WHERE vend_id='$vent_id'") or  die(mysqli_error($con));
                    }
                }


                //combos
                $can10=mysqli_query($con,"SELECT * FROM venta_detalle_combo_temp WHERE usuario='$usu_id'") or die(mysqli_error($con));
                while($dato10=mysqli_fetch_array($can10))
                {
                    $vdct_id=$dato10['vdc_id'];
                    $combo_id=$dato10['combo_id'];
                    $combo_cantidad=$dato10['combo_cantidad'];
                    $combo_referencia=$dato10['combo_referencia'];
                    $combo_nombre=$dato10['combo_nombre'];
                    $combo_iva=$dato10['combo_iva'];
                    $combo_desc=$dato10['combo_desc'];
                    $combo_precio=$dato10['combo_precio'];

                    $totalprecio_costo=0;
                    $can11=mysqli_query($con,"SELECT * FROM combos_articulos WHERE combos_com_id='$combo_id' ") or die(mysqli_error($con));  
                    while($dato11=mysqli_fetch_array($can11))
                    {
                        $art_id_bod=$dato11['art_id_bod'];
                        $coma_art_id=$dato11['coma_art_id'];
                        $coma_art_cantidad=$dato11['coma_art_cantidad'];

                        $artc=mysqli_query($con, "SELECT * from articulos where art_id='$coma_art_id'");
                        $row1=mysqli_fetch_array($artc);
                        $art_tipo=$row1['art_tipo'];
                        $totalprecio_costo+=$row1['art_precio_costo']*$coma_art_cantidad;

                        if($art_tipo=='articulo')
                        {
                            $can7=mysqli_query($con,"SELECT * FROM articulos_has_bodegas WHERE art_id='$art_id_bod' and articulos_art_id='$coma_art_id' and bodegas='$bod_id' and empresa='$empresa'") or die(mysqli_error($con));  
                            $dato=mysqli_fetch_array($can7);
                            $articulos_art_id=$dato['articulos_art_id'];            
                            $art_cantidad=$dato['art_cantidad'];
                            $resta=$art_cantidad-($coma_art_cantidad*$combo_cantidad);

                            $registros=mysqli_query($con,"UPDATE articulos_has_bodegas Set art_cantidad='$resta' Where art_id='$art_id_bod' and articulos_art_id='$coma_art_id' and bodegas='$bod_id' and empresa='$empresa'") or die(mysqli_error($con));
                        }
                    }

                    $canc1=mysqli_query($con,"SELECT MAX(vdc_id)as vdc_id FROM venta_detalle_combo") or die(mysqli_error($con)); 
                    $datoc1=mysqli_fetch_array($canc1);
                    $vdc_id=$datoc1['vdc_id']+1;

                    $insert_tmp=mysqli_query($con, "INSERT INTO venta_detalle_combo (vdc_id,combo_id,combo_referencia,combo_cantidad,combo_nombre,combo_iva,combo_desc,combo_costo,combo_precio,ven_id) 
                    VALUES ('$vdc_id','$combo_id','$combo_referencia','$combo_cantidad','$combo_nombre','$combo_iva','$combo_desc','$totalprecio_costo','$combo_precio','$ven_id')") or die(mysqli_error($con)); 

                    //sabores
                    $can9=mysqli_query($con,"SELECT * FROM venta_detalle_combo_sabores_temp where usuario='$usu_id' and vdc_id='$vdct_id'") or die(mysqli_error($con)); 
                    while($dato9=mysqli_fetch_array($can9))
                    {
                        $sab_id=$dato9['sab_id'];
                        $sab_nombre=$dato9['sab_nombre'];
                        $com_id=$dato9['com_id'];
                        $can8=mysqli_query($con,"INSERT INTO venta_detalle_sabores_combo (sab_id,sab_nombre,com_id,vdc_id,ven_id) 
                                     VALUES ('$sab_id','$sab_nombre','$com_id','$vdc_id','$ven_id')") or die(mysqli_error($con)); 
                    }
                    $sql=mysqli_query($con,"DELETE FROM venta_detalle_combo_sabores_temp WHERE vdc_id='$vdct_id'") or die(mysqli_error($con));
                }

                

                // 1. Obtener todas las retenciones del usuario con su información
                $sql="SELECT t.ret_base, t.ret_importe,r.codigo,r.ret_porcentaje FROM retencion_temp t
                    INNER JOIN retencion r ON r.ret_id = t.retencion_ret_id AND r.empresa = t.empresa
                    WHERE t.usuario = '$usu_id' AND t.empresa = '$empresa'";

                $res=mysqli_query($con, $sql) or die(mysqli_error($con));
                // 2. Insertar cada una por separado (pero sin SELECT repetidos)
                while ($row = mysqli_fetch_assoc($res)) 
                {
                    $ret_base       = $row['ret_base'];
                    $ret_importe    = $row['ret_importe'];
                    $codigo         = $row['codigo'];
                    $porcentaje     = $row['ret_porcentaje'];

                    $insertSql = "INSERT INTO retencion_venta 
                        (ret_base, ret_importe, codigo, porcentaje, ventas_ven_id, empresa)
                        VALUES 
                        ('$ret_base', '$ret_importe', '$codigo', '$porcentaje', '$ven_id', '$empresa')";
                    mysqli_query($con, $insertSql) or die(mysqli_error($con));
                }



                $sql=mysqli_query($con,"DELETE FROM seriales_temp WHERE usuario='$usu_id'") or die(mysqli_error($con));
                $sql=mysqli_query($con,"DELETE FROM venta_detalle_temp_lote where usuario='$usu_id'") or die(mysqli_error($con));
                $sql=mysqli_query($con,"DELETE FROM venta_detalle_sabores_temp where usuario='$usu_id'") or die(mysqli_error($con));
                $sql=mysqli_query($con,"DELETE FROM venta_detalle_temp where usuario='$usu_id' and empresa='$empresa'") or die(mysqli_error($con));

                $sql=mysqli_query($con,"DELETE FROM venta_detalle_combo_sabores_temp where usuario='$usu_id'") or die(mysqli_error($con));
                $sql=mysqli_query($con,"DELETE FROM venta_detalle_combo_temp where usuario='$usu_id' and empresa='$empresa'") or die(mysqli_error($con));

                $sql=mysqli_query($con,"DELETE FROM cliente_venta_temp where usuario='$usu_id' and empresa='$empresa'") or die(mysqli_error($con));
                $sql=mysqli_query($con,"DELETE FROM retencion_temp where usuario='$usu_id' and empresa='$empresa'") or die(mysqli_error($con)); 


                if($facturador=='si')
                {
                    if ($dian=='si')
                    {   
                        if($ser_tipo=='electronica')
                        {
                            include('../php_doc_factura/envio_factura.php');
                        }
                        if($ser_tipo=='pos electronico')
                        {
                            include('../php_doc_equivalente/envio_factura.php');
                        }
                    }
                }

 if($facturacion_directa<>'si') {
                if ($formapago=='Credito') { ?>
                <pre style="font-size:24px"><strong class="text-success">Total a Pagar</strong></pre>
                <pre style="font-size:24px"><strong><?php echo number_format($sumador_total,0); ?></strong></pre>
                <pre style="font-size:24px"><strong class="text-success">Dinero Recibido</strong></pre>
                <pre style="font-size:24px"><strong><?php echo number_format($abono,0); ?></strong></pre>
                <pre style="font-size:24px"><strong class="text-success">Saldo</strong></pre>
                <pre style="font-size:24px"><strong><?php echo number_format($sumador_total-$abono,0); ?></strong></pre>
                <?php } else if ($formapago=='Combinado') { ?>
                <pre style="font-size:24px"><strong class="text-success">Total a Pagar</strong></pre>
                <pre style="font-size:24px"><strong><?php echo number_format($sumador_total,0); ?></strong></pre>
                <pre style="font-size:24px"><strong class="text-success">Dinero Recibido</strong></pre>
                <pre style="font-size:24px"><strong><?php echo number_format($total_ingresado,0); ?></strong></pre>
                <pre style="font-size:24px"><strong class="text-success">Saldo</strong></pre>
                <pre style="font-size:24px"><strong><?php echo number_format($credi_com,0); ?></strong></pre>
               <?php } else  { ?>
                <pre style="font-size:24px"><strong class="text-success">Dinero Recibido</strong></pre>
                <pre style="font-size:24px"><strong><?php echo number_format($efectivo,0); ?></strong></pre>
                <pre style="font-size:24px"><strong class="text-success">Cambio</strong></pre>
                <pre style="font-size:24px"><strong><?php echo number_format($efectivo-$sumador_total,0); ?></strong></pre>
                <?php } ?>
                                   
                <div class="modal-footer">
                    <a href="tirillas/cajon.php" class="btn btn-success" target="_blank" title="F9"><i class="fa-solid fa-cash-register"></i> Abrir Cajon</a>

                    <a href="libraries/tcpdf/documentos/rotulo_cliente.php?clie_id=<?php echo $clie_id; ?>" target="_blank" title="Datos de Envio" class="btn btn-warning" data-toggle="modal">
                    <span class="btn-icon-only icon-truck"></span>Rotulo</a>
                    <button type="button" class="btn btn-default" data-dismiss="modal">Venta Nueva</button>
                        <?php include('../include/boton_venta.php'); ?>
                        <!-- <a href="#" class="btn btn-info" title='Enviar por email' onclick="enviar_email('<?php echo $ven_id; ?>')"><i class="btn-icon-only icon-envelope"> Enviar Correo</i></a>-->
                </div>
<?php } else 
{
    echo    '<div id="alert" >
                <div class="alert alert-success alert-dismissable"><strong>Venta registrada Correctamente</strong></div>
            </div>';
} ?>
        <script type="text/javascript">
            setTimeout(function() 
            {
                $('#alert').fadeOut('fast');
            }, 2000); 

            document.getElementById("form_guia").reset();
            loadtexto();
        </script>
<?php 
            }
        } 
    }
}

else 
{
    echo '<script>alert("primero debes Abrir caja")</script>';
    echo '<script>location.href = "inicio.php";</script>';
}
?>
<script language="Javascript">
function enviar_email(ven_id)
{
    VentanaCentrada('./libraries/pdf/pdf_correos/email_venta.php?ven_id='+ven_id,'Factura','','800','600','true');
}
</script>