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

$fecha=date('Y-m-d H:i:s');
$ven_id=$_POST['ven_id'];
$detalle=$_POST['detalle'];
$clie_id=$_POST['clie_id'];
$ven_estado=$_POST['ven_estado'];
$sumador_total=$_POST['sumador_total'];
$can0=mysqli_query($con,"SELECT * FROM ventas WHERE ven_id='$ven_id' and empresa='$empresa'") or die(mysqli_error($con));  
$dat=mysqli_fetch_array($can0);
$ven_estado=$dat['ven_estado']; 
$ven_forma_de_pago=$dat['ven_forma_de_pago'];
$ven_puntos=$dat['ven_puntos'];


$venta_apertura=$dat['apertura'];
$bas=mysqli_query($con,"SELECT * from movimiento_caja where empresa='$empresa' and apertura='$venta_apertura'");
$base=mysqli_fetch_array($bas);
$mca_estado=$base['mca_estado'];
if ($mca_estado==1) 
{
    $su_nota=mysqli_query($con,"SELECT sum(veab_abono) as suma_nota FROM venta_abonos WHERE ventas_ven_id ='$ven_id' and forma_pago='nota credito' and empresa='$empresa'") or die(mysqli_error($con));  
    $su_nota=mysqli_fetch_array($su_nota);
    $suma_nota=$su_nota['suma_nota']; 

    $punt=mysqli_query($con,"SELECT * FROM cliente WHERE clie_id='$clie_id' and empresa='$empresa'") or die(mysqli_error($con));
    $datop=mysqli_fetch_array($punt);
    $clie_puntos=$datop['clie_puntos'];
    $clie_nota_credito=$datop['clie_nota_credito'];

    if ($puntos='si') 
    {
        if ($clie_puntos<>0)
        { 
            if ($ven_puntos<>NULL) 
            {
                if ($ven_puntos<>0)
                {
                    $punto_eliminar=$clie_puntos-$ven_puntos; 
                    $eli_punt=mysqli_query($con,"UPDATE cliente Set clie_puntos='$punto_eliminar' Where clie_id='$clie_id' and empresa='$empresa'") or die(mysqli_error($con)); 
                }
            }
        }
    }

  
       
    
    if ($ven_estado<>'anulada')
    {
        $can5=mysqli_query($con,"SELECT * FROM venta_detalle where empresa='$empresa' and ventas_ven_id='$ven_id'") or die(mysqli_error($con));
        while($dato=mysqli_fetch_array($can5))
        { 
            $vend_id=$dato['vend_id'];
            $art_art_id=$dato['art_art_id'];
            $vend_art_id=$dato['vend_art_id'];
            $vend_referencia=$dato['vend_referencia'];            
            $vend_cantidad=$dato['vend_cantidad'];
            $vend_x_cantidad=$dato['vend_x_cantidad'];
            $total_descontar=$vend_cantidad*$vend_x_cantidad;   
            $vend_tipo=$dato['vend_tipo'];   

            //descontar inventario
            if ($vend_tipo=='articulo')
            {
                $can7=mysqli_query($con,"SELECT * FROM articulos_has_bodegas WHERE art_id='$art_art_id' and articulos_art_id='$vend_art_id' and bodegas='$bod_id' and sucursal='$sucursal' and empresa='$empresa' ") or die(mysqli_error($con));  
                $dato7=mysqli_fetch_array($can7);
                $art_cantidad=$dato7['art_cantidad'];
                $suma=$art_cantidad+$total_descontar;
                $registros=mysqli_query($con,"UPDATE articulos_has_bodegas Set art_cantidad='$suma' Where art_id='$art_art_id' and articulos_art_id='$vend_art_id' and bodegas='$bod_id' and sucursal='$sucursal' and empresa='$empresa'") or die(mysqli_error($con));

               

                $sqll=mysqli_query($con,"SELECT * FROM venta_detalle_lote WHERE vend_id_detalle='$vend_id' ");
                $contador=mysqli_num_rows($sqll);
                if($contador>0)  
                {   
                    $sqlk1=mysqli_query($con,"SELECT * FROM venta_detalle_lote WHERE vend_id_detalle='$vend_id' ");
                    while($datok1=mysqli_fetch_array($sqlk1))
                    {
                        $kar_id=$datok1['kar_id'];
                        $kar_cantidad=$datok1['kar_cantidad'];

                        $kce=mysqli_query($con,"SELECT * FROM kardex_compra where kar_id='$kar_id' and sucursal='$sucursal' and empresa='$empresa'") or die(mysqli_error($con));  
                        $kc=mysqli_fetch_array($kce);
                        $kar_cantidad_v = $kc['kar_cantidad_v'];
                      
                        $suma_kar = $kar_cantidad_v + $kar_cantidad;
                        $registros=mysqli_query($con,"UPDATE kardex_compra Set kar_cantidad_v='$suma_kar' 
                        Where kar_id='$kar_id' and empresa='$empresa'") or die(mysqli_error($con));
                    }
                }   
                else 
                {   
                    $des2=mysqli_query($con,"SELECT * FROM kardex_compra where art_id_bod='$art_art_id' and kar_cantidad_v>0 order by kar_id asc LIMIT 1") or die(mysqli_error($con)); 
                    $des12=mysqli_fetch_array($des2);
                    $kar_cantidad_v=$des12['kar_cantidad_v'];
                    $suma_kar=$kar_cantidad_v+$vend_cantidad;

                    $registros=mysqli_query($con,"UPDATE kardex_compra Set kar_cantidad_v='$suma_kar' Where art_id_bod='$art_art_id' and kar_cantidad_v>0 order by kar_id asc LIMIT 1") or die(mysqli_error($con));
                }
            }

           

            //seriales
            $can8=mysqli_query($con,"SELECT * FROM seriales WHERE venta_detalle_vend_id='$vend_id' and venta_detalle_ventas_ven_id='$ven_id'") or die(mysqli_error($con));  
            while($dato8=mysqli_fetch_array($can8))
            {
                $ser_codigo=$dato8['ser_codigo'];
                $registros1=mysqli_query($con,"UPDATE seriales_articulos Set estado='sin vender' Where articulos_art_id='$vend_art_id' and se_codigo='$ser_codigo'") or die(mysqli_error($con));      
            }   
        }
        

        /// combos 
        $to_can=0;
        $sumador_total_combo=0;
        $cancom=mysqli_query($con,"SELECT * FROM venta_detalle_combo where ven_id='$ven_id'") or die(mysqli_error($con));
        while($datocom=mysqli_fetch_array($cancom))
        { 
            
            $combo_id=$datocom['combo_id'];
            $combo_cantidad=$datocom['combo_cantidad'];
            $combo_iva=$datocom['combo_iva'];            
            $combo_desc=$datocom['combo_desc'];
            $combo_precio=$datocom['combo_precio'];
            $ivaf=$combo_iva/100;
            $precio_total=$combo_precio*$combo_cantidad;
            $descuento=($combo_desc/100)*$precio_total;
            $iva=$combo_precio*$ivaf;
            $sin_iva=$combo_precio-$iva;
            $sumador_total_combo+=$precio_total-$descuento;//Sumador

            $comart=mysqli_query($con,"SELECT * FROM combos_articulos where combos_com_id='$combo_id'") or die(mysqli_error($con));
            while($cart=mysqli_fetch_array($comart))
            { 
                $art_id_bod =$cart['art_id_bod'];
                $coma_art_id=$cart['coma_art_id'];
                $coma_art_referencia=$cart['coma_art_referencia'];
                $coma_art_cantidad=$cart['coma_art_cantidad'];            
                $coma_art_precio=$cart['coma_art_precio'];
                $coma_tipo=$cart['coma_tipo'];
            
            
                $to_can=$combo_cantidad*$coma_art_cantidad;

                //descontar inventario
                if ($coma_tipo=='articulo')
                {
                    $can7=mysqli_query($con,"SELECT * FROM articulos_has_bodegas WHERE art_id='$art_id_bod' and articulos_art_id='$coma_art_id' ") or die(mysqli_error($con));  
                    $dato7=mysqli_fetch_array($can7);
                    $art_cantidad=$dato7['art_cantidad'];
                    $suma=$art_cantidad+$to_can;
                    $registros=mysqli_query($con,"UPDATE articulos_has_bodegas Set art_cantidad='$suma' Where art_id='$art_id_bod' and articulos_art_id='$coma_art_id'") or die(mysqli_error($con));

                   

                   /* $sqll=mysqli_query($con,"SELECT * FROM venta_detalle_lote WHERE vend_id_detalle='$vend_id' ");
                    $contador=mysqli_num_rows($sqll);
                    if($contador>0)  
                    {   
                        $sqlk1=mysqli_query($con,"SELECT * FROM venta_detalle_lote WHERE vend_id_detalle='$vend_id' ");
                        while($datok1=mysqli_fetch_array($sqlk1))
                        {
                            $kar_id=$datok1['kar_id'];
                            $kar_cantidad=$datok1['kar_cantidad'];

                            $kce=mysqli_query($con,"SELECT * FROM kardex_compra where kar_id='$kar_id' and sucursal='$sucursal' and empresa='$empresa'") or die(mysqli_error($con));  
                            $kc=mysqli_fetch_array($kce);
                            $kar_cantidad_v = $kc['kar_cantidad_v'];
                          
                            $suma_kar = $kar_cantidad_v + $kar_cantidad;
                            $registros=mysqli_query($con,"UPDATE kardex_compra Set kar_cantidad_v='$suma_kar' 
                            Where kar_id='$kar_id' and empresa='$empresa'") or die(mysqli_error($con));
                        }
                    }   
                    else 
                    { */  
                        $des2=mysqli_query($con,"SELECT * FROM kardex_compra where art_id_bod='$art_id_bod' and kar_cantidad_v>0 order by kar_id asc LIMIT 1") or die(mysqli_error($con)); 
                        $des12=mysqli_fetch_array($des2);
                        $kar_cantidad_v=$des12['kar_cantidad_v'];
                        $suma_kar=$kar_cantidad_v+$to_can;

                        $registros=mysqli_query($con,"UPDATE kardex_compra Set kar_cantidad_v='$suma_kar' Where art_id_bod='$art_id_bod' and kar_cantidad_v>0 order by kar_id asc LIMIT 1") or die(mysqli_error($con));
                   // }
                }

           

              /*  //seriales
                $can8=mysqli_query($con,"SELECT * FROM seriales WHERE venta_detalle_vend_id='$vend_id' and venta_detalle_ventas_ven_id='$ven_id'") or die(mysqli_error($con));  
                while($dato8=mysqli_fetch_array($can8))
                {
                    $ser_codigo=$dato8['ser_codigo'];
                    $registros1=mysqli_query($con,"UPDATE seriales_articulos Set estado='sin vender' Where articulos_art_id='$vend_art_id' and se_codigo='$ser_codigo'") or die(mysqli_error($con));      
                } */  
            } 
        }




        $sql=mysqli_query($con,"SELECT sum(va.veab_abono) as total from ventas v, venta_abonos va 
        where v.ven_id='$ven_id' and va.ventas_ven_id='$ven_id' and v.empresa='$empresa' ");
        $sql=mysqli_fetch_array($sql);
        $totall=$sql['total'];

        if ($ven_estado=="sin pagar")
        {
            //$can_abo=mysqli_query($con,"SELECT * FROM venta_abonos WHERE ventas_ven_id='$ven_id' and apertura='$apertura' and empresa='$empresa'") or die(mysqli_error($con));
            $can_abo=mysqli_query($con,"SELECT * FROM venta_abonos WHERE ventas_ven_id='$ven_id'  and empresa='$empresa'") or die(mysqli_error($con));
            while($dat_abo=mysqli_fetch_array($can_abo))
            {
                $mov_id_abon=$dat_abo['mov_id']; 
                $sql=mysqli_query($con,"UPDATE movimientos Set estado ='anulado' Where mov_id='$mov_id_abon'") or die(mysqli_error($con));     
            }   

            $to=$sumador_total-$totall;
            $sql2=mysqli_query($con, "SELECT * from cliente where clie_id='$clie_id' and empresa='$empresa' ");
            $sql2=mysqli_fetch_array($sql2);
            $clie_disponible=$sql2['clie_disponible'];
            $sumadis=$clie_disponible+$to;
            $registros=mysqli_query($con,"UPDATE cliente Set clie_disponible='$sumadis' Where clie_id='$clie_id' and empresa='$empresa'") or die(mysqli_error($con));
        }
        
            $sql2=mysqli_query($con, "SELECT * from cliente where clie_id='$clie_id' and empresa='$empresa' ");
            $sql2=mysqli_fetch_array($sql2);
            $clie_nota_credito=$sql2['clie_nota_credito'];
            $suma_nota_credito=$suma_nota+$clie_nota_credito;
            $registros=mysqli_query($con,"UPDATE cliente Set clie_nota_credito='$suma_nota_credito' Where clie_id='$clie_id' and empresa='$empresa'") or die(mysqli_error($con));
       
            $suma_nota=0;
            $histo=mysqli_query($con,"SELECT * FROM historial_nota_credito WHERE histo_ventas_ven_id='$ven_id' and empresa='$empresa'") or die(mysqli_error($con));  
            while ($his=mysqli_fetch_array($histo)){
            $nota_id=$his['histo_nota_id'];
            $histo_nota_valor=$his['histo_nota_valor']; 
            $histo_cliente_clie_id=$his['histo_cliente_clie_id']; 
            
            $suma_nota+=$histo_nota_valor;

            $resta=$clie_nota_credito-$suma_nota;
            }
            if ($suma_nota>0) {
               
            
            if ($suma_nota>$clie_nota_credito) {
                 echo '<div class="alert alert-danger alert-dismissable">
            <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
            <strong>No </strong> puedes Eliminar un Valor mayor a la Nota credito
            </div>';
            } else if ($suma_nota<=$clie_nota_credito) {

                $clie=mysqli_query($con,"UPDATE cliente Set clie_nota_credito='$resta' Where clie_id='$histo_cliente_clie_id' and empresa='$empresa'") or die(mysqli_error($con)); 

                $nota=mysqli_query($con,"DELETE FROM historial_nota_credito WHERE histo_nota_id='$nota_id'") or die(mysqli_error($con));

                $apar=mysqli_query($con,"SELECT * FROM venta_apartada_abonos WHERE empresa='$empresa'") or die(mysqli_error($con));
                while($apa=mysqli_fetch_array($apar)){
                $ventas_apartadas_vena_id =$apa['ventas_apartadas_vena_id']; }

               $nota=mysqli_query($con,"DELETE FROM venta_apartada_abonos WHERE ventas_apartadas_vena_id ='$ventas_apartadas_vena_id'") or die(mysqli_error($con));

            }
                    
            }

        $sql=mysqli_query($con,"UPDATE ventas Set ven_estado ='anulada' Where ven_id='$ven_id'") or die(mysqli_error($con));
        
    echo '<div class="alert alert-success alert-dismissable">
          <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
          <strong>Anulada </strong> correctamente
      </div>';
    }


    
}
else
{
    echo '<div class="alert alert-danger alert-dismissable">
          <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
          <strong>No se puede Anular Ventas de otra Apertura de caja </strong> 
      </div>';
}

?>