<?php
session_start();
require_once('../conexion.php');
require_once('../include/sesiones.php'); 
if ($aper_num>'0')
{

echo $fecha=$_POST['fecha_facturacion'];
$dias=$_POST['dias'];
//$fecha=date('2022-04-23');
$hora=date('H:i:s');
$fecha_limite = date('Y-m-d',strtotime('+10 day',strtotime($fecha)));
$fecha_fin = date('Y-m-d',strtotime('-1 day',strtotime($fecha)));
$ano=date('Y');
$mes=date('m');
//$mes=03;

$can0=mysqli_query($con,"SELECT * FROM fac_periodica where fac_estado='Activo' and empresa='$empresa'") or die(mysqli_error($con)); 
while($dato0=mysqli_fetch_array($can0))
{
    $fac_id=$dato0['fac_id'];
    $can1=mysqli_query($con,"SELECT * FROM fac_automatica where fac_periodica_fac_id='$fac_id'") or die(mysqli_error($con));  
    $dat=mysqli_fetch_array($can1);
    if($dat==null)
    {
        $can2=mysqli_query($con,"SELECT * FROM fac_periodica where fac_id='$fac_id'") or die(mysqli_error($con)); 
        $dato2=mysqli_fetch_array($can2);
        $fac_periodo=$dato2['fac_periodo'];
        $Cliente_clie_id=$dato2['Cliente_clie_id'];
        $canc=mysqli_query($con,"SELECT * FROM cliente where clie_id='$Cliente_clie_id' and empresa='$empresa'") or die(mysqli_error($con)); 
        $datoc=mysqli_fetch_array($canc);
        $clie_id=$datoc['clie_id'];
        $clie_cc=$datoc['clie_cc'];
        $clie_nombre=$datoc['clie_nombre'];
        $clie_correo=$datoc['clie_correo'];
        $clie_telefono=$datoc['clie_telefono'];
        $clie_disponible=$datoc['clie_disponible'];
        $clie_nota_credito=$datoc['clie_nota_credito'];

        $fecha_inicio=date('Y-m-d',strtotime($fac_periodo.' month',strtotime($fecha)));

        if($dato2<>null)
        {

            $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;
            $tipo_venta='pos';

            include('../php_facturar/numeracion.php');

            $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','pos','$ser_prefijo','$ser_id','$ven_n_venta','$fecha','$hora','Credito','$dias','sin pagar','$clie_id','$clie_cc','$clie_nombre','$clie_correo','$clie_telefono','$usu_id','$usu_id','$cajas_caja_id','$apertura','$sucursal','$empresa')") or die(mysqli_error($con));

            $sumador_combo=0;
            $sumador_total=0;

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

            $can4=mysqli_query($con,"SELECT * FROM fac_detalle where fac_periodica_fac_id='$fac_id' ") or die(mysqli_error($con));  
            while( $dato1=mysqli_fetch_array($can4))
            {
                $vent_art_id=$dato1['facd_art_id'];
                $vent_referencia=$dato1['facd_referencia'];            
                $vent_nombre=$dato1['facd_nombre']; 
                $vent_cantidad=$dato1['facd_cantidad']; 
                $vent_iva=$dato1['facd_iva'];  
                $vent_desc=$dato1['facd_desc'];         
                $vent_precio=$dato1['facd_precio'];

                $iva0=$vent_iva/100; //0.19
                $iva1=1+$iva0; //1.19

                $precio_total_item=$vent_precio*$vent_cantidad;//precio normal 1.000.000
                $precio_total_sin_iva_item=($vent_precio/$iva1)*$vent_cantidad; //precio sin iva  840.336
                $descuento_item=($vent_desc/100)*$precio_total_sin_iva_item; //descuento_item 84.033
                $total_iva_item=$precio_total_sin_iva_item*$iva0; // total iva  159.336

                $neto+=$precio_total_sin_iva_item;
                $total_descuento+=$descuento_item;
                $total_iva+=$total_iva_item;
                $sumador_articulos=($neto+$total_iva)-$total_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;
                include('../php_facturar/descontar_kardex.php');

                $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,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','$sumador_articulos','$empresa','$ven_id')") or die(mysqli_error($con));  

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

            }
             $sumador_total=$sumador_articulos+$sumador_combo-$total_retencion;

            $can5=mysqli_query($con,"INSERT INTO fac_automatica (aut_exp,aut_periodo_ini,aut_periodo_fin,aut_limite,fac_total, estado,fac_periodica_fac_id,empresa) 
            VALUES ('$fecha','$fecha_inicio','$fecha_fin','$fecha_limite','$sumador_total','Pendiente','$fac_id','$empresa')") or die(mysqli_error($con));

            echo '<div class="alert alert-success alert-dismissable">
                    <strong>Facturas Registradas Correctamente 1</strong> 
                </div>';
        }
        else
        {
           echo '<div class="alert alert-warning alert-dismissable">
                    <strong>No hay facturas Pendientes Para Crear1</strong> 
                </div>';
        }
    }
    else
    {
        $can4=mysqli_query($con,"SELECT * FROM fac_automatica where fac_periodica_fac_id='$fac_id' order by aut_id DESC LIMIT 1") 
        or die(mysqli_error($con));  
        $dato4=mysqli_fetch_array($can4);
        $aut_exp=$dato4['aut_exp'];
        $mes1=date('m', strtotime($aut_exp));

        if($mes1<>$mes)
        {
            $aut_periodo_fin=$dato4['aut_periodo_fin'];
            $estado=$dato4['estado'];
            $fac_periodica_fac_id=$dato4['fac_periodica_fac_id'];

            $can5=mysqli_query($con,"SELECT * FROM fac_periodica where fac_id='$fac_periodica_fac_id'") or die(mysqli_error($con));  
            $dato5=mysqli_fetch_array($can5);
            $fac_id=$dato5['fac_id'];
            $fac_periodoa=$dato5['fac_periodo'];
            $Cliente_clie_id=$dato5['Cliente_clie_id'];
            $canc=mysqli_query($con,"SELECT * FROM cliente where clie_id='$Cliente_clie_id' and empresa='$empresa'") or die(mysqli_error($con)); 
            $datoc=mysqli_fetch_array($canc);
            $clie_id=$datoc['clie_id'];
            $clie_cc=$datoc['clie_cc'];
            $clie_nombre=$datoc['clie_nombre'];
            $clie_correo=$datoc['clie_correo'];
            $clie_telefono=$datoc['clie_telefono'];
            $clie_disponible=$datoc['clie_disponible'];
            $clie_nota_credito=$datoc['clie_nota_credito'];

            $fecha_proxima = date('Y-m-d',strtotime($fac_periodoa.' month',strtotime($aut_exp)));
            $inicio_proxima = date('Y-m-d',strtotime('+1 day',strtotime($aut_periodo_fin)));

           
            $can=mysqli_query($con,"SELECT MAX(ven_id)as ven_id FROM ventas ") or die(mysqli_error($con)); 
            $dato4=mysqli_fetch_array($can);
            $ven_id=$dato4['ven_id']+1;
            $tipo_venta='pos';

            include('../php_facturar/numeracion.php');

            $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','pos','$ser_prefijo','$ser_id','$ven_n_venta','$fecha','$hora','Credito','$dias','sin pagar','$clie_id','$clie_cc','$clie_nombre','$clie_correo','$clie_telefono','$usu_id','$usu_id','$cajas_caja_id','$apertura','$sucursal','$empresa')") or die(mysqli_error($con));

            $sumador_combo=0;
            $sumador_total=0;

            $neto=0;
            $total_descuento=0;
            $total_iva=0;
            $total_retencion=0;
            $sumador_articulos=0;
            $can1=mysqli_query($con,"SELECT * FROM fac_detalle where fac_periodica_fac_id='$fac_id' ") or die(mysqli_error($con));  
            while( $dato1=mysqli_fetch_array($can1))
            {
                $vent_art_id=$dato1['facd_art_id'];
                $vent_referencia=$dato1['facd_referencia'];            
                $vent_nombre=$dato1['facd_nombre']; 
                $vent_cantidad=$dato1['facd_cantidad']; 
                $vent_iva=$dato1['facd_iva'];  
                $vent_desc=$dato1['facd_desc'];         
                $vent_precio=$dato1['facd_precio'];
                $iva0=$vent_iva/100; //0.19
                $iva1=1+$iva0; //1.19

                $precio_total_item=$vent_precio*$vent_cantidad;//precio normal 1.000.000
                $precio_total_sin_iva_item=($vent_precio/$iva1)*$vent_cantidad; //precio sin iva  840.336
                $descuento_item=($vent_desc/100)*$precio_total_sin_iva_item; //descuento_item 84.033
                $total_iva_item=$precio_total_sin_iva_item*$iva0; // total iva  159.336

                $neto+=$precio_total_sin_iva_item;
                $total_descuento+=$descuento_item;
                $total_iva+=$total_iva_item;
                $sumador_articulos=($neto+$total_iva)-$total_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;
                include('../php_facturar/descontar_kardex.php');

                $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,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','$sumador_articulos','$empresa','$ven_id')") or die(mysqli_error($con)); 

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



            }
            $sumador_total=$sumador_articulos+$sumador_combo-$total_retencion;

            $can3=mysqli_query($con,"INSERT INTO fac_automatica (aut_exp,aut_periodo_ini,aut_periodo_fin,aut_limite,fac_total,estado,fac_periodica_fac_id,empresa) 
            VALUES ('$fecha','$inicio_proxima','$fecha_fin','$fecha_limite','$sumador_total','Pendiente','$fac_id','$empresa')") or die(mysqli_error($con));

            echo '<div class="alert alert-success alert-dismissable">
                    <strong>Facturas Registradas Correctamente 2</strong> 
                </div>';
        }
        else
        {
            echo '<div class="alert alert-warning alert-dismissable">
                    <strong>No hay facturas Pendientes Para Crear 2</strong> 
                </div>';
        }
    }
}

}
else
{
    echo '<div class="alert alert-danger alert-dismissable">
            <strong>primero debes Abrir caja</strong> 
        </div>';
}
?>