<?php
require_once('../php_api/api.php');

$can1=mysqli_query($con,"SELECT * FROM ventas where ven_id='$ven_id'") or die(mysqli_error($con)); 
$dato1=mysqli_fetch_array($can1);
$Cliente_clie_id=$dato1['Cliente_clie_id'];
$ven_ser_id=$dato1['ven_ser_id'];
$ven_forma_de_pago=$dato1['ven_forma_de_pago'];
$caja=$dato1['caja'];
$vendedor=$dato1['vendedor'];

$caj=mysqli_query($con,"SELECT * FROM cajas where caja_id='$caja' ") or die(mysqli_error($con)); 
$res_ca=mysqli_fetch_array($caj);
$caja_nombre=$res_ca['caja_nombre'];
$caja_ubicacion=$res_ca['caja_ubicacion'];
$tipo_caja=$res_ca['tipo_caja'];

$sql3=mysqli_query($con,"SELECT * from usuario where usu_id='$vendedor'");
$usu=mysqli_fetch_array($sql3);
$usu_nombre=$usu['usu_nombre'];

$resol=mysqli_query($con,"SELECT * FROM serie_factura where ser_id='$ven_ser_id' ") or die(mysqli_error($con)); 
$res=mysqli_fetch_array($resol);
$ser_resolucion=$res['ser_resolucion'];


if($ven_forma_de_pago=='Contado')
{
    $forma_pago='1';
    $tipo_pago='10';
}
else if($ven_forma_de_pago=='Credito')
{
    $forma_pago='2';
    $tipo_pago='75';
}
else if($ven_forma_de_pago=='Transferencia')
{
    $forma_pago='1';
    $tipo_pago='42';
}
else if($ven_forma_de_pago=='Tarjeta')
{
    $forma_pago='1';
    $tipo_pago='42';
}
else if($ven_forma_de_pago=='Cruce de Credito')
{
    $forma_pago='1';
    $tipo_pago='75';
}
else if($ven_forma_de_pago=='Combinado')
{
    $forma_pago='1';
    $tipo_pago='75';
}

$clie=mysqli_query($con,"SELECT * FROM cliente where clie_id='$Cliente_clie_id'") or die(mysqli_error($con)); 
$clie1=mysqli_fetch_array($clie);
$clie_correo=$clie1['clie_correo'];

//DATOS DE LA FACTURA
$prefijo=$dato1['ven_prefijo'];
$numero=$dato1['ven_n_venta'];
$tipo_documento='1'; 
$fecha=$dato1['ven_fecha']; 
$hora=$dato1['ven_hora'];  
$observaciones=$dato1['observaciones'];

include('json.php');
$dataDocument = json_encode($json,JSON_UNESCAPED_UNICODE);
$fh = fopen("../jsons/".$prefijo.$numero.".json", 'w');
fwrite($fh, $dataDocument);
fclose($fh);
$dataDocument = $json;

createInvoice($configuration,$json);

function createInvoice($configuration,$json)
{
    global $ven_id;
    global $empresa;
    global $numero;
    global $ser_id;
    global $prefijo;
    global $ven_correo;
    global $con;
    global $mysqli;

    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_URL => "{$configuration->base_url}ubl2.1/eqdoc",
      //  CURLOPT_URL => "{$configuration->base_url}ubl2.1/eqdoc/{$configuration->setTestId_pos}",
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => '',
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'POST',
        CURLOPT_POSTFIELDS =>json_encode($json),
        //CURLOPT_POSTFIELDS =>file_get_contents('../jsons/'.$prefijo.$numero.'.json'),
        CURLOPT_HTTPHEADER => array(
            'Content-Type: application/json',
            'Accept: application/json',
            "Authorization: Bearer {$configuration->token}"
        ),
    ));

    
    $response = curl_exec($curl);
    curl_close($curl);
    $book=json_decode($response, true);
    $message=$book['message'];

    if($message<>'AttachedDocument #'.$prefijo.$numero.' generada con éxito')
    {
        if($message=='The given data was invalid.')
        {
            echo "<div class='alert alert-danger alert-dismissable'>Los datos proporcionados no son válidos.</div>";
            if(!empty($book['errors']))
            {
                foreach ($book['errors'] as $key => $value) 
                {
                    if(!empty($value))
                    {
                        foreach ($value as $key2 => $value2) 
                        {
                            echo '<div class="alert alert-warning alert-dismissable">'.$value2.'</div>';
                            //echo "<div class='alert alert-warning alert-dismissable'>".$book["errors"]["number"][0] . "</div>";  
                        }
                    }
                }
            }
        }
    }
    else
    {
        $resultado = json_decode($response);
        $cufe=$resultado->ResponseDian->Envelope->Body->SendBillSyncResponse->SendBillSyncResult->XmlDocumentKey;
        $validacion=$resultado->ResponseDian->Envelope->Body->SendBillSyncResponse->SendBillSyncResult->IsValid;

        if($validacion=="true")
        {
            $registros=mysqli_query($con,"UPDATE ventas Set
                                                 cufe='$cufe', 
                                                 estado_dian='Aprobada'
                                                 Where ven_id='$ven_id' and empresa='$empresa'") or die(mysqli_error($con));

            echo "<div class='alert alert-info alert-dismissable'>EL DOCUMENTO EQUIVALENTE POS ".$prefijo.$numero." FUE CARGADO CORRECTAMENTE</div>";
    ?>
            
<?php
        }
        else if($validacion=="false")
        {
            $estado=$resultado->ResponseDian->Envelope->Body->SendBillSyncResponse->SendBillSyncResult->StatusMessage;  
            $regla=$resultado->ResponseDian->Envelope->Body->SendBillSyncResponse->SendBillSyncResult->ErrorMessage->string; 

            echo "<div class='alert alert-danger alert-dismissable'><strong> EL DOCUMENTO EQUIVALENTE POS ".$prefijo.$numero." NO SE CARGO POR ERRORES</strong></div>";
            echo "<div class='alert alert-danger alert-dismissable'<H2>"; echo $estado; echo "</div>";
            foreach ((array) $regla as $val) 
            { 
                echo "<div class='alert alert-warning alert-dismissable'>";
                echo $val, '<br>';
                echo "</div>";

                if ($val=='Regla: 90, Rechazo: Documento procesado anteriormente.')
                {
                    $registros=mysqli_query($con,"UPDATE ventas Set
                                                 cufe='$cufe', 
                                                 estado_dian='Aprobada'
                                                 Where ven_id='$ven_id' and empresa='$empresa'") or die(mysqli_error($con));

                }
            }
        }
    }
}
?>


<script>
$( "#enviar_correo" ).submit(function( event ) {
$('#btn_enviar_correo').attr("disabled", true);

var parametros = $(this).serialize();
$.ajax({
    type: "GET",
    url: "libraries/tcpdf/documentos/envio_correo_factura.php",
    data: parametros,
        beforeSend: function(objeto){
         $('#resultados_dian').html('<center><img src="./img/ajax-loader.gif"> CARGANDO...</center>');
        },
        success: function(datos){
        $("#resultados_dian").html(datos);
        $('#btn_enviar_correo').attr("disabled", false);
        }
    });
    event.preventDefault();
})
</script>