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

$fecha=date('Y-m-d H:i:s');
$vend_id=$_POST['vend_id'];
$cantidad=$_POST['cantidad'];

//total devolucion
$sql=mysqli_query($con,"SELECT * from venta_detalle where vend_id='$vend_id'");
$row=mysqli_fetch_array($sql);
$ven_id=$row['ventas_ven_id'];
$art_art_id=$row['art_art_id'];
$vend_art_id=$row['vend_art_id'];
$vend_referencia=$row['vend_referencia'];
$vend_nombre=$row['vend_nombre'];
$vend_unidad=$row['vend_unidad'];
$vend_cantidad_dev=$row['vend_cantidad_dev'];
$vend_x_cantidad=$row['vend_x_cantidad'];
$vend_precio=$row['vend_precio_real'];
$vend_tipo=$row['vend_tipo'];
$total_descontar=$cantidad*$vend_x_cantidad;
$total_devolucion=($vend_precio*$cantidad);

//total factura
$sumador_total=0;
$total_art=0;
$total_combos=0;
$descuento_total=0; 
$sql1=mysqli_query($con, "SELECT * from venta_detalle where ventas_ven_id='$ven_id'");
while ($row1=mysqli_fetch_array($sql1))
{
    $vend_precio=$row1['vend_precio_real'];
    $vend_cantidad=$row1['vend_cantidad'];
    $vend_descuento=$row1['vend_desc'];
    $precio_total=$vend_precio*$vend_cantidad;
    $descuento=($vend_descuento/100)*$precio_total;
    $descuento_total+=$descuento;
    $total_art+=$precio_total;//Sumador
}

$descuento_combo_total=0;
$neto_combo=0;
$total_iva_combo=0;
$sumador_combo=0;
$sql1=mysqli_query($con, "SELECT * from venta_detalle_combo where ven_id='$ven_id'");
while ($row1=mysqli_fetch_array($sql1))
{
    $combo_cantidad=$row1["combo_cantidad"];
    $combo_precio=$row1['combo_precio'];
    if ($row1['combo_iva']>0){ $combo_iva=$row1['combo_iva']; } else { $combo_iva='0';}
    if ($row1['combo_desc']>0){ $combo_desc=$row1['combo_desc']; } else { $combo_desc='0';}
    $com_iva0=$combo_iva/100; //0.19
    $com_iva1=1+$com_iva0; //1.19

    $precio_total_item_com=$combo_precio*$combo_cantidad;//precio normal 1.000.000
    $precio_total_sin_iva_item_com=($combo_precio/$com_iva1)*$combo_cantidad; //precio sin iva  840.336
    $descuento_item_com=($combo_desc/100)*$precio_total_sin_iva_item_com; //descuento_item 84.033
    $total_iva_item_com=($precio_total_sin_iva_item_com-$descuento_item_com)*$com_iva0; // total iva  159.336

    $neto_combo+=$precio_total_sin_iva_item_com;
    $descuento_combo_total+=$descuento_item_com;
    $total_iva_combo+=$total_iva_item_com;

    $sumador_combo=($neto_combo+$total_iva_combo)-$descuento_combo_total;
}

$sumador_total=$total_art+$sumador_combo;

//total devolucion
$devo_total=0;
$total_devoluciones=0;
$sql3=mysqli_query($con, "SELECT * from devolucion where empresa='$empresa' and ventas_ven_id='$ven_id'");
while ($row3=mysqli_fetch_array($sql3))
{
    $dev_precio=$row3['dev_precio'];
    $devo_total+=$dev_precio; 
}
$total_devoluciones=$devo_total;

//total abono
$sql4=mysqli_query($con, "SELECT sum(veab_abono) as total from venta_abonos where ventas_ven_id='$ven_id' ");
$sql4=mysqli_fetch_array($sql4);
$total_abono=$sql4['total'];
//saldo de factura
$saldo=$sumador_total-$total_abono-$total_devoluciones;

$can=mysqli_query($con,"SELECT MAX(dev_n_dev)as numero FROM devolucion where empresa='$empresa'") or die(mysqli_error($con)); 
$dato=mysqli_fetch_array($can);
$numero=$dato['numero']+1;


if ($vend_tipo=='articulo') 
{
    $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'];
            $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 + $total_descontar;
            $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));

        }


            $registros=mysqli_query($con,"INSERT into devolucion (dev_n_dev,dev_fecha,art_art_id,dev_art_id,dev_referencia,dev_nombre,dev_unidad,dev_x_cantidad,dev_cantidad,dev_precio,kar_id,usuario,apertura,empresa,detalle_vend_id,ventas_ven_id) 
            VALUES ('$numero','$fecha','$art_art_id','$vend_art_id','$vend_referencia','$vend_nombre','$vend_unidad','$vend_x_cantidad','$cantidad','$total_devolucion','$kar_id','$usu_id','$apertura','$empresa','$vend_id','$ven_id')") 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_id=$des12['kar_id'];
        $kar_cantidad_v=$des12['kar_cantidad_v'];
        $suma_kar=$kar_cantidad_v+$total_descontar;

        $registros=mysqli_query($con,"UPDATE kardex_compra Set kar_cantidad_v='$suma_kar' Where kar_id='$kar_id'") or die(mysqli_error($con));

        $registros=mysqli_query($con,"INSERT into devolucion (dev_n_dev,dev_fecha,art_art_id,dev_art_id,dev_referencia,dev_nombre,dev_unidad,dev_x_cantidad,dev_cantidad,dev_precio,kar_id,usuario,apertura,empresa,detalle_vend_id,ventas_ven_id) 
        VALUES ('$numero','$fecha','$art_art_id','$vend_art_id','$vend_referencia','$vend_nombre','$vend_unidad','$vend_x_cantidad','$cantidad','$total_devolucion','$kar_id','$usu_id','$apertura','$empresa','$vend_id','$ven_id')") or  die(mysqli_error($con));

    }

    $can7=mysqli_query($con,"SELECT art_cantidad 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));

    if ($cantidad > $vend_cantidad_dev) {
    die('No se puede devolver más de lo pendiente');
    }
    $resta=$vend_cantidad_dev-$cantidad;  
    $registros=mysqli_query($con,"UPDATE venta_detalle Set vend_cantidad_dev='$resta' Where art_art_id='$art_art_id' and vend_art_id='$vend_art_id' and vend_id='$vend_id'") or die(mysqli_error($con));


    if(!empty($_POST['id_serial']))
    {
        $number = count($_POST["id_serial"]);  
        if($number > 0)  
        {  
            for($i=0; $i<$number; $i++)  
            {  
                if(trim($_POST["id_serial"][$i] != ''))
                $id_serial=$_POST["id_serial"][$i];

                $can1=mysqli_query($con,"SELECT * from seriales where ser_id='$id_serial'") or die(mysqli_error($con)); 
                $row=mysqli_fetch_array($can1);
                $ser_codigo=$row['ser_codigo']; 

                $registros=mysqli_query($con,"UPDATE seriales Set estado_dev='si' Where ser_id='$id_serial'") or die(mysqli_error($con)); 
                $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));      
            } 
        } 
    } 
}



$can9=mysqli_query($con,"SELECT * FROM ventas where ven_id='$ven_id' and empresa='$empresa'") or die(mysqli_error($con)); 
$dato9=mysqli_fetch_array($can9);
$ven_estado=$dato9['ven_estado'];
$clie_id=$dato9['Cliente_clie_id'];
$ven_puntos=$dato9['ven_puntos'];

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


if ($puntos='si') 
{ 
    if ($ven_puntos<>NULL) 
    { 
        if ($ven_puntos<>0) 
        {
            if ($clie_puntos<>0) 
            {
                $eli_puntos=$total_devolucion/$valor_punto_dinero;
                $punto_eliminar=$clie_puntos-$eli_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=='pagada')
{
    $nota=$clie_nota_credito+$total_devolucion;
    $sql=mysqli_query($con,"UPDATE cliente Set
                     clie_nota_credito ='$nota'
                     Where clie_id='$clie_id'") or die(mysqli_error($con)); 
}
else
{
    if($saldo>$total_devolucion)
    {
        $disponible=$clie_disponible+$total_devolucion;
        $sql=mysqli_query($con,"UPDATE cliente Set
                                clie_disponible ='$disponible'
                                Where clie_id='$clie_id'") or die(mysqli_error($con));
    }
    else
    {
        $disponiblet=$clie_disponible+$saldo;
        $nota1=$total_devolucion-$saldo;
        $notat=$clie_nota_credito+$nota1;
        $sql=mysqli_query($con,"UPDATE cliente Set
                                clie_disponible ='$disponiblet',
                                clie_nota_credito ='$notat'
                                Where clie_id='$clie_id'") or die(mysqli_error($con));

        if($saldo<$total_devolucion)
        {
            $registros=mysqli_query($con,"UPDATE ventas Set ven_estado='pagada' Where ven_id='$ven_id' and empresa='$empresa'") or die(mysqli_error($con)); 
        }
        
    }
}
$d=$total_devolucion+$total_devoluciones;
if($sumador_total<=$d)
{
    $registros=mysqli_query($con,"UPDATE ventas Set ven_estado='devolución' Where ven_id='$ven_id' and empresa='$empresa' ") 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>Devolucion </strong> correctamente
   </div>';                              
?>