<?php
session_start();
require_once('../conexion.php');
require_once('../include/sesiones.php');

$fecha=date('Y-m-d H:i:s');
$hora=date('H:i:s');
$tipo_venta='remision';
$vena_id=$_POST['vena_id'];

$can1=mysqli_query($con,"SELECT * from ventas_apartadas where vena_id='$vena_id' and empresa='$empresa'") or die(mysqli_error($con)); 
$dat=mysqli_fetch_array($can1);
$clie_id=$dat['Cliente_clie_id'];
$clie_nombre=$dat['vena_nombre'];
$clie_correo=$dat['vena_correo'];
$clie_telefono=$dat['vena_telefono'];
$vena_n_venta=$dat['vena_n_venta'];
$observaciones=$dat['observaciones'];

$can2=mysqli_query($con,"SELECT * FROM cliente where clie_id='$clie_id'") or die(mysqli_error($con)); 
$datc=mysqli_fetch_array($can2);
$clie_cc=$datc['clie_cc'];
$clie_puntos=$datc['clie_puntos'];
$clie_nota_credito=$datc['clie_nota_credito'];


$total_punto=$_POST['total_punto'];
$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));   

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

    $vendedor=$_POST['vendedor'];
    $sumador_total=$_POST['sumador_total'];
    $forma_pago=$_POST['forma_pag'];
    $saldo_favor=$_POST['saldo_favor'];

    if($forma_pago=='Efectivo')
    {
        $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,caja,apertura,sucursal,empresa)
        VALUES ('$ven_id','$ser_tipo','$ser_prefijo','$ser_id','$ven_n_venta','$fecha','$hora','Contado','0','pagada','$clie_id','$clie_cc','$clie_nombre','$clie_correo','$clie_telefono','$usu_id','$vendedor','$observaciones','$cajas_caja_id','$apertura','$sucursal','$empresa')") or die(mysqli_error($con));
        
        $can4=mysqli_query($con,"SELECT MAX(mov_numero)as mov_numero FROM movimientos where empresa='$empresa'") or die(mysqli_error($con)); 
        $dato4=mysqli_fetch_array($can4); 
        $mov_numero=$dato4['mov_numero']+1;
        $can5=mysqli_query($con,"SELECT MAX(mov_id)as mov_id FROM movimientos") or die(mysqli_error($con)); 
        $dato5=mysqli_fetch_array($can5); 
        $mov_id=$dato5['mov_id']+1;

        $registros=mysqli_query($con,"INSERT INTO venta_abonos (veab_abono,forma_pago,medio_pago,veab_fecha,usuario,apertura,sucursal,empresa,ventas_ven_id)
        VALUES ('0','nota credito','nota credito','$fecha','$usu_id','$apertura','$sucursal','$empresa','$ven_id')") or die(mysqli_error($con));
        
        $regis=mysqli_query($con,"INSERT into venta_apartada_abonos (veaa_abono,forma_pago,medio_pago,veaa_fecha,mov_id,usuario,apertura,empresa,ventas_apartadas_vena_id)
        VALUES  ('$sumador_total','efectivo','Efectivo','$fecha','$mov_id','$usu_id','$apertura','$empresa','$vena_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 apartado','Pago a la venta apartada N $vena_n_venta de $clie_nombre','$sumador_total','entrada','efectivo','Efectivo','$sucursal','$empresa')") or  die(mysqli_error($con)); 

        if ($sumador_total==0) 
        {
            $suma_nota_credi=$clie_nota_credito+$saldo_favor;
            $sald=mysqli_query($con,"UPDATE cliente Set clie_nota_credito='$suma_nota_credi' where clie_id='$clie_id' and empresa='$empresa'") or die(mysqli_error($con));

            $nota=mysqli_query($con,"SELECT MAX(histo_nota_id) as histo_nota_id FROM historial_nota_credito") or die(mysqli_error($con)); 
            $not1=mysqli_fetch_array($nota); 
            $histo_nota_id=$not1['histo_nota_id']+1;

            $regis=mysqli_query($con,"INSERT into historial_nota_credito (histo_nota_id,histo_nota_valor,histo_nota_concepto,histo_nota_fecha,histo_nota_vena_id,histo_ventas_ven_id,histo_cliente_clie_id,empresa)
            VALUES  ('$histo_nota_id','$saldo_favor','Nota credito venta apartada N $vena_n_venta','$fecha','$vena_id','$ven_id','$clie_id','$empresa')") or die(mysqli_error($con));
        }
    }


    if($forma_pago=='Transferencia')
    {
        $medio_pago=$_POST['medio_pago'];

        $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,caja,apertura,sucursal,empresa)
        VALUES ('$ven_id','$ser_tipo','$ser_prefijo','$ser_id','$ven_n_venta','$fecha','$hora','$forma_pago','0','pagada','$clie_id','$clie_cc','$clie_nombre','$clie_correo','$clie_telefono','$usu_id','$vendedor','$cajas_caja_id','$apertura','$sucursal','$empresa')") or die(mysqli_error($con));
        
        $can4=mysqli_query($con,"SELECT MAX(mov_numero)as mov_numero FROM movimientos where empresa='$empresa'") or die(mysqli_error($con)); 
        $dato4=mysqli_fetch_array($can4); 
        $mov_numero=$dato4['mov_numero']+1;
        $can5=mysqli_query($con,"SELECT MAX(mov_id)as mov_id FROM movimientos") or die(mysqli_error($con)); 
        $dato5=mysqli_fetch_array($can5); 
        $mov_id=$dato5['mov_id']+1;

        $registros=mysqli_query($con,"INSERT INTO venta_abonos (veab_abono,forma_pago,medio_pago,veab_fecha,usuario,apertura,sucursal,empresa,ventas_ven_id)
        VALUES ('0','nota credito','nota credito','$fecha','$usu_id','$apertura','$sucursal','$empresa','$ven_id')") or die(mysqli_error($con));
        
        $regis=mysqli_query($con,"INSERT into venta_apartada_abonos (veaa_abono,forma_pago,medio_pago,veaa_fecha,mov_id,usuario,apertura,empresa,ventas_apartadas_vena_id)
        VALUES  ('$sumador_total','transferencia','$medio_pago','$fecha','$mov_id','$usu_id','$apertura','$empresa','$vena_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 apartado','Pago a la venta apartada N $vena_n_venta de $clie_nombre','$sumador_total','entrada','transferencia','$medio_pago','$sucursal','$empresa')") or  die(mysqli_error($con)); 
    } 


    if($forma_pago=='Tarjeta')
    {
        $medio_pago=$_POST['medio_pago'];
        $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,caja,apertura,sucursal,empresa)
        VALUES ('$ven_id','$ser_tipo','$ser_prefijo','$ser_id','$ven_n_venta','$fecha','$hora','$forma_pago','0','pagada','$clie_id','$clie_cc','$clie_nombre','$clie_correo','$clie_telefono','$usu_id','$vendedor','$cajas_caja_id','$apertura','$sucursal','$empresa')") or die(mysqli_error($con));
        
        $can4=mysqli_query($con,"SELECT MAX(mov_numero)as mov_numero FROM movimientos where empresa='$empresa'") or die(mysqli_error($con)); 
        $dato4=mysqli_fetch_array($can4); 
        $mov_numero=$dato4['mov_numero']+1;
        $can5=mysqli_query($con,"SELECT MAX(mov_id)as mov_id FROM movimientos") or die(mysqli_error($con)); 
        $dato5=mysqli_fetch_array($can5); 
        $mov_id=$dato5['mov_id']+1;

        $registros=mysqli_query($con,"INSERT INTO venta_abonos (veab_abono,forma_pago,medio_pago,veab_fecha,usuario,apertura,sucursal,empresa,ventas_ven_id)
        VALUES ('0','nota credito','nota credito','$fecha','$usu_id','$apertura','$sucursal','$empresa','$ven_id')") or die(mysqli_error($con));
        
        $regis=mysqli_query($con,"INSERT into venta_apartada_abonos (veaa_abono,forma_pago,medio_pago,veaa_fecha,mov_id,usuario,apertura,empresa,ventas_apartadas_vena_id)
        VALUES  ('$sumador_total','tarjeta','$medio_pago','$fecha','$mov_id','$usu_id','$apertura','$empresa','$vena_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 apartado','Pago a la venta apartada N $vena_n_venta de $clie_nombre','$sumador_total','entrada','tarjeta','$medio_pago','$sucursal','$empresa')") or  die(mysqli_error($con)); 
    }  


    /*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/



 /*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/


    if ($forma_pago=='Combinado') 
    {
       
        $medio_pago=$_POST['medio_pago'];
        $valores=$_POST['valores'];

        $total_ingresado = 0;

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

        if ($total_ingresado > $sumador_total) {

            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;
           
        }

        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;

            $valor_nota_credito_usado = 0;

            for ($i = 0; $i < count($medio_pago); $i++) {
                $medio1 = mysqli_real_escape_string($con, $medio_pago[$i]);

                if ($medio1 == 'efectivo') {
                    $forma = 'efectivo';
                    $medio = 'Efectivo';
                } else if ($medio1 == 'nota credito') {
                    $forma = 'nota credito';
                    $medio = 'Nota Credito';

                    $valor_nota_credito_usado = floatval($valores[$i]);

                    // Validar si el cliente tiene saldo suficiente
                    if ($valor_nota_credito_usado > $clie_nota_credito) {
                        echo '
                        <div class="modal-footer">
                            <div class="alert alert-danger alert-dismissable" style="width: 100%; margin-bottom: 10px;">
                                <strong>el valor de la nota crédito excede el saldo disponible. (' . number_format($clie_nota_credito, 0, ',', '.') . ').</strong>
                            </div>
                            <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
                        </div>';

                        exit;
                       
                    }

                    // Actualizar el saldo
                    $saldo_nuevo=$clie_nota_credito-$valor_nota_credito_usado;

                    // Realizar actualización en la BD
                    mysqli_query($con, "UPDATE cliente SET clie_nota_credito ='$saldo_nuevo' WHERE clie_id = '$clie_id'")
                        or die(mysqli_error($con));
                } else {
                    $forma = 'transferencia';
                    $medio = $medio1;
                }

                $valor_com = floatval($valores[$i]);

                // Insertar en venta_abonos
               /* $registros = mysqli_query($con, "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')") 
                    or die(mysqli_error($con));*/

                $can5=mysqli_query($con,"SELECT MAX(mov_id)as mov_id FROM movimientos") or die(mysqli_error($con)); 
                $dato5=mysqli_fetch_array($can5); 
                $mov_id=$dato5['mov_id']+1;

                $regis=mysqli_query($con,"INSERT into venta_apartada_abonos (veaa_abono,forma_pago,medio_pago,veaa_fecha,mov_id,usuario,apertura,empresa,ventas_apartadas_vena_id)
                VALUES  ('$valor_com','$forma','$medio','$fecha','$mov_id','$usu_id','$apertura','$empresa','$vena_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 apartado','Pago a la venta apartada N $vena_n_venta de $clie_nombre','$valor_com','entrada','combinado','$medio','$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 ('0','nota credito','nota credito','$fecha','$usu_id','$apertura','$sucursal','$empresa','$ven_id')") 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,caja,apertura,sucursal,empresa)
            VALUES ('$ven_id','$ser_tipo','$ser_prefijo','$ser_id','$ven_n_venta','$fecha','$hora','$forma_pago','0','pagada','$clie_id','$clie_cc','$clie_nombre','$clie_correo','$clie_telefono','$usu_id','$vendedor','$cajas_caja_id','$apertura','$sucursal','$empresa')") or die(mysqli_error($con));
           
        }
    }
           
 /*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/


    //detalles
    $can6=mysqli_query($con,"SELECT * FROM venta_apartadas_detalle
    where ventas_apartadas_vena_id='$vena_id' and empresa='$empresa'") or die(mysqli_error($con));  
    while($dato6=mysqli_fetch_array($can6))
    {
        $venad_id=$dato6['venad_id'];
        $art_art_id=$dato6['art_art_id'];
        $vent_art_id=$dato6['venad_art_id'];
        $vent_referencia=$dato6['venad_referencia']; 
        $vent_nombre=$dato6['venad_nombre'];
        $vent_unidad=$dato6['venad_unidad'];           
        $vent_x_cantidad=$dato6['venad_x_cantidad'];           
        $vent_cantidad=$dato6['venad_cantidad'];            
        $vent_precio=$dato6['venad_precio'];
        $vent_tipo=$dato6['venad_tipo'];
        $vent_iva=$dato6['venad_iva'];
        $vent_desc=$dato6['venad_desc'];
        $descuento=($vent_desc/100)*$vent_precio;
        $pt=$vent_precio-$descuento;

        $cantidad_descontar=$vent_cantidad*$vent_x_cantidad;

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

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

            $insert=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));

            //seriales
            $can9=mysqli_query($con,"SELECT * FROM seriales_apartados where venad_id='$venad_id'") or die(mysqli_error($con));  
            while($ser=mysqli_fetch_array($can9))
            {
                $sear_codigo=$ser['sear_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 ('$sear_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='$sear_codigo'") or die(mysqli_error($con));
            }

        }

        if($vent_tipo=='detallado')
        {
            $can_det=mysqli_query($con,"SELECT * FROM articulos_detallado WHERE artd_id='$vent_art_id'") or die(mysqli_error($con));  
            $dato_det=mysqli_fetch_array($can_det);
            $artd_cantidad=$dato_det['artd_cantidad'];
            $artd_precio_costo=$dato_det['artd_precio_costo'];
            $resta=$artd_cantidad-$vent_cantidad;
            $registros=mysqli_query($con,"UPDATE articulos_detallado Set artd_cantidad='$resta' Where artd_id='$vent_art_id'") or die(mysqli_error($con));

            $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','$artd_precio_costo','$vent_precio','$pt','$vent_tipo','ven','$cajas_caja_id','$empresa','$ven_id')") 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));  
        } 
    } 
       
    $sql=mysqli_query($con,"UPDATE ventas_apartadas Set vena_estado='pagada' Where vena_id='$vena_id'") or die(mysqli_error($con));        
//combos

//detallado
?>

    <pre style="font-size:24px"><strong class="text-success">Dinero Recibido</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">Cambio</strong></pre>
    <pre style="font-size:24px"><strong><?php echo number_format($sumador_total-$sumador_total,0); ?></strong></pre>
                             
    <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
        <?php include('../include/boton_venta.php'); ?>
    </div>
<?php   }  ?>